Java虚拟机
来源:互联网 发布:人工智能股龙头杜闵梁 编辑:程序博客网 时间:2024/06/11 21:06
JVM
JVM即Java虚拟机,它是一个想象中的机器,通过它Java可以实现编译后的跨平台运行。
主要的JVM有
- Oracle的HostSpot。(原来叫Sun HostSpot)
- Oracle的JRockit。(原来叫Bea JRockit,本称为世界上最快的JVM)
- Google的Dalvik。(Google android的虚拟机,特点编译后dex文件比jar小很多,编译器对字节码进行了很多优化,使其变得更小)
HotSpot虚拟机
HotSpot由一个字节码解析器和两个JIT编译器组成。
- 字节码解释器:用于解释执行。负责将字节码解释成机器码。
- JIT编译器:用于编译执行。即时(动态)编译器,负责在运行的过程中动态的将一些热点(执行次数最多的方法)编译成本地机器码,并进行优化,保存起来,以便下次使用,从而提高运行效率。JIT编译器由客户端编译器和服务器端编译器组成。客户端编译器:是一种轻量级的编译器,编译时间更短,占用内存更少。服务器端编译器:是一种重量级的编译器,因进行大量的编译优化,所以编译时间更长,但执行效率更高。
HotSpot默认情况下是解释和编译混合执行的。如下mixed mode表示混合执行模式。
- C:\Documents and Settings\tengfei.fangtf>java -version
- java version "1.6.0_16"
- Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
- Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)
JIT的参数:
- complileThreshold=1000 调用多少次即为热点。
- 代码内联的判断依据。
- -XX:+CITime JIT编译消耗的时间。
- -XX:+PrintCompilation 打印编译的方法。
堆设置参数:
-Xmx1024m:设置JVM最大可用内存为1024M。memory max
-Xms1024m:设置JVM初始内存为1024M。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
- Java虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- JAVA虚拟机
- Java虚拟机
- Java虚拟机
- Java虚拟机
- java虚拟机
- java虚拟机
- Java虚拟机
- Java虚拟机
- uC/OS-II 移植
- uCOS-II应用代码的编写
- uCOS-II 代码移植测试
- AirCrack中文手册 1.0
- 海明码分组原则
- Java虚拟机
- java 中 Math.round() Math.ceil() Math.floor()区别
- 内存不足 java.lang.OutOfMemoryError: Java heap space
- 常规的贴片电阻的标准封装及额定功率
- S3C2440下几个简单的裸机接口程序
- Java Ping
- List删除问题
- Qt事件机制详解
- 为Tomcat指定JDK