1. 在简述jvm之前,我们需要问自己一些问题,这样带着问题,我们才能更好的去学习jvm。
2. 什么是jvm,jvm做了什么事情,为什么要去了解jvm
3. java程序具有跨平台的特性,write once,run ervrywhere,一次编译,到处运行。但是当我们编写java程序的时候,我们会发现,在windows和在Linux上面,需要下载不同的jdk,去支撑程序的运行,说明java这个跨平台性,不是针对操作系统的,需要jvm去为跨平台提供支持。那么jvm又做了什么?由于我们平时开发所使用的java语言为高级语言,需要转化为机器所能识别的二进制码,这时候就需要jvm去提供映射,所以说,java的跨平台性,是在jvm之上的跨平台性。
4. jvm除了提供跨平台的支持,还提供了内存管理机制,使开发人员只需要 注重于开发,不需要去关注内存的处理。但是在程序开发时,总会有各种原因导致内存异常,stackoverflowerror或者outofmemoryerror、为什么会出现这种异常,又是在什么时候出现的这种异常,如何避免这种异常,如果更有效的去使用内存,需要我们对jvm有更深入的了解,这就是下节需要讲的,运行时数据区。