博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM
阅读量:4953 次
发布时间:2019-06-12

本文共 959 字,大约阅读时间需要 3 分钟。

 扫盲:

1、jvm定义

JVM就是java虚拟机,它是一个虚构出来的计算机,可在实际的计算机上模拟各种计算机的功能。JVM有自己完善的硬件结构,例如处理器、堆栈和寄存器等,还具有相应的指令系统。
2、jvm作用

JVM是java字节码执行的引擎,还能优化java字节码,使之转化成效率更高的机器指令。
JVM中类的装载是由类加载器和它的子类来实现的,类加载是java运行时一个重要的系统组件,负责在运行时查找和装入类文件的类。
不同的平台对应着不同的JVM,在执行字节码(class文件)时,JVM负责将每一条要执行的字节码送给解释器,解释器再将其翻译成特定平台换将的机器指令并执行,这样就实现了跨平台运行

3、JVM工作原理

JVM在整个JDK中处于最底层,负责与操作系统的交互。操作系统装入jvm是通过JDK中的java.exe来实现的,具体步骤如下:
a、创建JVM装载环境和配置;
b、装载jvm.dll;
c、初始化jvm.dll;
d、调用JNIEnv实例装载并处理class类;
e、运行java程序

JVM模型图:

1:Class Loader 类加载器:

2:Execution Engine 执行引擎负责解释命令,提交操作系统执行:

3:Native Interface 本机接口

4:Runtime  data area 运行数据区

 

 本地库接口是JAVA刚开发出来时,预留给和其他语言对接的接口例如C:

 

 方法区:所有定义的方法的信息都保存在该区域,次区域是共享区间。静态变量 +常量+运行时常量池存在方法区中+实例变量存在内存中

 

PC Register: 程序计数器:每个线程都有一个程序计数器,就是一个指针,指向方法区中的方法字节码(下一个将要执行的指令码),由执行引擎读取下一条指令,是一个                         非常小的内存空间,几乎可以忽略不记:(主要作用就是保证main方法中的代码的执行的顺序)

 

 

 

JVM的调优:

                 根据淘宝周志民,所说,jvm的调优(共享区域)90%是调堆,10%是方法区:

 

           ----------------------            栈管运行,堆管存储            -------------------

 

          

 

转载于:https://www.cnblogs.com/leeego-123/p/11099883.html

你可能感兴趣的文章
Netsharp系列文章目录结构
查看>>
如何在git bash中运行mysql
查看>>
OO第三阶段总结
查看>>
构建之法阅读笔记02
查看>>
初学差分约束
查看>>
HEVC编码学习(一)HM配置
查看>>
通过Spark SQL关联查询两个HDFS上的文件操作
查看>>
DataTable和 DataRow的 区别与联系
查看>>
检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败
查看>>
mysql数据库中数据类型
查看>>
python-实现生产者消费者模型
查看>>
APP网络优化篇
查看>>
算法18-----判断是否存在符合条件的元素【list】
查看>>
《刑法》关于拐卖妇女儿童犯罪的规定
查看>>
Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换...
查看>>
alias重启后失效了
查看>>
RestTemplate的Object与Entity的区别
查看>>
Fireworks基本使用
查看>>
c#线程学习笔记一---基本概念
查看>>
2018-4-13
查看>>