作为一名优秀的 Java 开发程序员,以及想那些想要学习 Java 更深层一点的知识的同学,对 JVM 的熟悉与熟练使用是必不可缺的核心技能了,也是每个 Java 程序员应该要做到的。
深入学习 JVM 可以有助于我们掌握 Java 应用程序是如何运作的,以及如何对应用程序作出优化,更加实在点讲吧,掌握 JVM 核心技能,对你跳大槽、加高薪都是妥妥的。
那么,如何系统的学习 JVM 呢?
小编给大家推荐腾讯课堂联合图灵学院出的一个 2 分钱课程《JVM虚拟机底层原理分析与性能优化》,看它到底是怎么样来实现我们常说常说的诸如JVM内存结构、内存调优、内存模型、以及理解高并发程序的开发精髓。
学习完这个课程,大家可以再回过头,看看如下 JVM 面试题,自己可以回答多少分呢?
1、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
2、Java代码是怎么运行的?
3、Java虚拟机是如何加载Java类的?
4、JVM运行内存的分类
5、如何监控和诊断JVM堆内和堆外内存使用?
6、Java四引用是什么?
7、如何理解JVM内置的编译或GC日志?
8、JVM的永久代中会发生垃圾回收么?
9、Java中的两种异常类型是什么?他们有什么区别?
10、JVM是如何实现同步的?
11、Java内存模型是什么?
12、即时编译器有哪些优化?
13、在什么情况下重复读写操作会被优化?
14、什么样的垃圾才被回收?
15、什么时候会导致垃圾回收?
16、如何利用JFR和JMC监控Java程序?
17、如何利用Unsafe API 绕开 JVM的控制?
18、如何利用字节码注入为已有代码加料?
……