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接口

 

运行流程

  1. 首先将java源代码通过javac指令编译成字节码文件
  2. 字节码文件通过class loader进行加载
  3. 将类的权限修饰类名成员变量修饰成员变量方法修饰方法参数方法返回值等等放入运行时数据区的方法区;将new出来的对象放入中,类的静态变量放入常量池中;将对象索引放入VM栈里;调用本地方法放入本地方法栈PC寄存器根据线程数分配,用于存放代码读取行数
  4. 执行引擎根据运行时数据区调用本地库接口和本地方法库

以上是关于jvm优化的主要内容,如果未能解决你的问题,请参考以下文章

听说 JVM 性能优化很难?今天我小试了一把!

JVM总结:晚期(运行期)优化

为啥要对jvm做优化?

JVM性能优化,第2部分:编译器JVM

为啥要对jvm做优化?

JVM之JIT优化技术