jvm优化
Posted huanStephen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm优化相关的知识,希望对你有一定的参考价值。
什么是jvm?
java程序自己独立运行环境,包括堆栈、寄存器和java字节码的指令集。
jvm上可以运行的语言
- Java
- Scala
- Groovy
jvm、jdk和jre
jvm:jvm是jre的一部分
jre:java运行环境,包含jvm
jdk:包含
- jre
- jvm
- 常用的一些开发工具,javac、java和jconsol等等
生命周期
main方法是jvm实例运行的起点,main作为程序初始线程的起点,任何其他线程都由该线程负责启动,main线程是非守护线程。
jvm实例消亡的方法:
- 所有的非守护线程都终止时
- System.exit()
组成
- 类加载器子系统(class loader)
- 执行引擎子系统
- 运行时数据区(runtime data area)
- Native接口
运行流程
- 首先将java源代码通过javac指令编译成字节码文件
- 字节码文件通过class loader进行加载
- 将类的权限修饰、类名、成员变量修饰、成员变量、方法修饰、方法参数和方法返回值等等放入运行时数据区的方法区;将new出来的对象放入堆中,类的静态变量放入堆的常量池中;将对象索引放入VM栈里;调用本地方法放入本地方法栈;PC寄存器根据线程数分配,用于存放代码读取行数。
- 执行引擎根据运行时数据区调用本地库接口和本地方法库
以上是关于jvm优化的主要内容,如果未能解决你的问题,请参考以下文章