定义java
Java Virtual Machine - java程序的运行容器(java二进制字节码的运行容器)程序员
好处面试
一次编写,处处运行数组
当咱们编写Java代码时,JVM为咱们屏蔽了二进制字节码与底层操做系统的差别,采用解释的方式来运行二进制字节码,使得这份java代码能够在不一样的操做系统运行,实现代码的平台无关性。工具
自动内存管理,垃圾回收功能学习
数组下标越界检查开发工具
若是不进行数组下标越界检查,向数组写入数据时,就会致使数据写入不属于数组的地方,而读取数据时,就会读取到别的地方的数据。优化
多态操作系统
编译时多态(方法重载)code
相同方法名,具体调用方法在编译时由参数列表肯定
运行时多态(方法重写)
动态多态性是一个在运行时解析对重写方法的调用的过程,编译时是父类类型,运行时是子类类型。
当运行时调用引用变量的方法时,其方法行为老是表现出子类方法的行为特征,而不是父类方法的行为特征,这就表现出:相同类型的变量调用同一个方法时表现出不一样的行为特征,这就是多态。
比较
JVM、JRE、JDK比较
JVM
java虚拟机,为屏蔽java二进制字节码与底层操做系统的差别JRE
java运行时环境,JVM + 基础类库,基础类库为咱们提供一些经常使用的类,如IO类等。JDK
java开发工具包, JVM + 基础类库 + 编译工具 面试
理解底层的实现原理
中高级程序员的必备技能
项目上线后出现内存溢出或者运行缓慢,掌握JVM后就能更好的排查解决问题
欢迎关注公众号,后续文章更新通知,一块儿讨论技术问题 。