title: 黑马解密JVM
date: 2020-01-13 1:00:00
tags:
- JVM
categories:
- JVM
- 黑马jvm
blibli视频地址:黑马JVM解密
引言
什么是jvm
jvm运行在操作系统之上
数组下标越界异常检查解释:jvm如果没有提供这个机制,当数组下标越界,如果没检查出来异常,有可能会覆盖数据,这个是比较危险的。
学习jvm有什么用
- 面试,提高面试竞争力
- 理解底层的实现原理
- 解决内存溢出,运行缓慢,优化性能等生产环境中的问题
常见的jvm
jvm是一套规范,只要遵循这套实现,自己也可以开发一套jvm。
学习路线
java类从源代码编译为二进制字节码,通过类加载器,进入到jvm里运行,类放在方法区部分(Metod Area),类将来创建的对象实例放在堆(Heap)的部分,堆里面的对象在调用方法时,会用到虚拟机栈(JVM Stacks),程序计数器,以及本地方法栈,方法执行时每行代码是由执行引擎中的解释器逐行进行解释执行,方法里的热点代码(被频繁调用的代码)会由一个即时编译器(JIT Compolier)去编译,执行引擎中的垃圾回收(GC)模块会对堆里面不再被引用的对象进行回收,另外一些Java不方便实现的功能会调用本地方法接口帮助实现,以上就是整个jvm的一个组成。
学习顺序:
1.jvm内存结构
2.垃圾回收机制
3.类的字节码结构以及编译前的优化(java代码编译到class之前)
4.类加载器ClassLoader(类加载的几个阶段,有哪几种类加载器)
5.类运行时即时编译器(JIT Compolier)的一些优化