码迷,mamicode.com
首页 > 其他好文 > 详细

jvm优化(一)

时间:2018-04-18 23:35:57      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:loader   根据   运行环境   groovy   data   源代码   返回值   scala   地方法   

什么是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优化(一)

标签:loader   根据   运行环境   groovy   data   源代码   返回值   scala   地方法   

原文地址:https://www.cnblogs.com/huanStephen/p/8877963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!