第24讲、有哪些方法可以在运行时动态生成一个Java类在开始今天的学习前,我建议你先复习一下专栏第6讲有关动态代理的内容。作为Java基础模块中的内容,考虑到不同基础的同学以及一个循序渐进的学习过程,我当时并没有在源码层面介绍动态代理的实现技术,仅进行了相应的技术比较。但是,有了上一讲的类加载的学习基础...2026-03-01Java核心技术面试精讲
第25讲、谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError今天,我将从内存管理的角度,进一步探索Java虚拟机(JVM)。垃圾收集机制为我们打理了很多繁琐的工作,大大提高了开发的效率,但是,垃圾收集也不是万能的,懂得JVM内部的内存结构、工作机制,是设计高扩展性应用和诊断运行时问题的基础,也是Java工程师...2026-03-01Java核心技术面试精讲
第26讲、如何监控和诊断JVM堆内和堆外内存使用上一讲我介绍了JVM内存区域的划分,总结了相关的一些概念,今天我将结合JVM参数、工具等方面,进一步分析JVM内存结构,包括外部资料相对较少的堆外部分。 今天我要问你的问题是,如何监控和诊断JVM堆内和堆外内存使用? 典型回答了解JVM内存的方法有很...2026-03-01Java核心技术面试精讲
第27讲、Java常见的垃圾收集器有哪些垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展, Java的垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景,对垃圾收集提出了新的挑战,这当然也是面试的热点。 ...2026-03-01Java核心技术面试精讲
第28讲、谈谈你的GC调优思路我发现,目前不少外部资料对G1的介绍大多还停留在JDK 7或更早期的实现,很多结论已经存在较大偏差,甚至一些过去的GC选项已经不再推荐使用。所以,今天我会选取新版JDK中的默认G1 GC作为重点进行详解,并且我会从调优实践的角度,分析典型场景和调优思...2026-03-01Java核心技术面试精讲
第29讲、Java内存模型中的happen、before是什么Java语言在设计之初就引入了线程的概念,以充分利用现代处理器的计算能力,这既带来了强大、灵活的多线程机制,也带来了线程安全等令人混淆的问题,而Java内存模型(Java Memory Model,JMM)为我们提供了一个在纷乱之中达成一致的指导准则...2026-03-01Java核心技术面试精讲