JVM架构模型
三层:
类加载系统 ClassLoader
运行时数据区(内存问题):调优、原理
执行引擎:
虚拟机的核心组件,它负责执行虚拟机的字节码,一般会先编译成机器码后执行
(另外还有垃圾回收系统)
JVM分类
Java是直接通过指针进行的程序访问,没有采用句柄的形式操作,这样是的程序的性能更高
分为三类:
【SUN】从JDK1.2开始使用了 HotSpot 虚拟机标准(2006年开源,利用C++实现,一些JNI(Java Native Interface,JNI标准允许Java代码和其他语言写的代码进行交互)部分使用的是系统提供的C程序实现,JIT即时编译)
【BEA】WebLogic(Application Server),使用 JRockit 虚拟机标准
【IBM】开发了 J9 虚拟机
java -version:
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode(处理模式))
虚拟机的处理模式:
1)混合模式:java -version
2)纯解释模式(禁用JIT):java -Xint -version
3)纯编译模式:java -Xcomp -version
虚拟机的运行模式:
1)客户端模式Client:启动速度块,但是中间程序执行慢,占用内存小
-client
2)服务端模式Server:启动速度慢,占用内存多,执行效率高
-server
生产环境一般使用Server模式,长期运行,性能远远高于Client模式