jvm的组成:
1.jvm解释器:即虚拟机处理字段码的cpu
2.寄存器:jvm有自己的虚拟寄存器,jvm设置了4种32位寄存器,有指针,计数器,
3.指令系统:该系统和计算机类似,一条命令由操作码和操作数组成,操作码为8位二进制,主要为了说明一条指令的功能,
操作数可以由需示来定,jvm有256种指令,目前已使用了160多种操作码
4.jvm栈:指令执行时,数据和信息存储的场所和的控制中心,它提供给jvm解释器运算所需要的信息,当jvm得到一个字节码信息后,为该代码的中的一个类的每个方法创建一个栈框架,以保存该方法的状态信息,每个栈框架都包括:局部变量,操作数,执行环境
5.存储区:jvm有两类存储区,常量缓冲池和方法区,
java的回收机制
1.触发GC
2.两个方法
system.gc
finalize
减少GC开销措施
1.尽量少用临时变量的使用,临时变量跳出函数对象后会变为垃圾
2.对象不用时,最好设置为null,一般而言,为null的对象为被设为垃圾处理
3.尽量使用StringBuffer,而有String累加字符串,