主要内容:
为什么要学JVM?
⾸先:⾯试需要。⾯试题层出不穷,难道每次⾯试都靠背⼏百上千条⾯试⼋股? 其次:基础决定上层建筑。⾃⼰写的代码都不知道是怎么回事,怎么可能写出靠谱的系统? 然后:学习JVM也是进⾏JVM调优的基础。写的代码放到线上要如何运⾏?要配多少内存?4G够不够?线上环境 出问题,服务崩溃了,怎么快速定位?怎么解决问题? 总之,学不学JVM,是能⾃主解决问题的⼀流程序员与跟着别⼈做CRUD的⼆流程序员的分⽔岭!⼆流程序员会 觉得学JVM⽆关紧要,反正开发也⽤不上。做开发我只要学各种框架就⾏了。⽽⼀流程序员都在尽⾃⼰能⼒把JVM 每个底层逻辑整理成⾃⼰的知识体系。
⼀、JVM 后⾯要学些什么
Java发展⾄今,已经远不是⼀种语⾔,⽽是⼀个标准。只要能够写出满⾜JVM规范的class⽂件,就可以丢到JVM 虚拟机执⾏。通过JVM虚拟机,屏蔽了上层各种开发语⾔的差距,同时也屏蔽了下层各种操作系统的区别。⼀次编 写,多次执⾏
JVM也有很多具体的实现版本,现在最主流的是Oracle官⽅的HotSpot虚拟机。这也是我们课程的重点
# java -version
java version "1.8.0_391"
Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)