JVM 基本结构
Posted fubinhnust
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM 基本结构相关的知识,希望对你有一定的参考价值。
-
Java虚拟机基本结构
-
角色:字节码执行引擎,垃圾回收系统,方法区,Java堆,直接内存[共享],类加载子系统,PC寄存器(计数器),本地方法栈,Java栈[私有]
-
垃圾回收的工作重点:方法区,Java堆,直接内存
-
一个Java线程对应一个java栈
-
参数
-
程序参数:应用程序使用
-
虚拟机参数:虚拟机使用
-
Java堆的结构
-
新生代 : young
-
from
-
to
-
eden :对象创建的地方
-
——-> young转换到tenured:对象年龄
-
老生代:tenured
|
获取jvm的最大内存 -Xms32M
System.out.println(Runtime.getRuntime().maxMemory()/1000/1000 + “M”);
指定栈的最大空间 -Xss256K ,影响栈深度:1.参数个数 2.局部变量个数
局部变量槽位复用:b会复用a的槽位
|
局部变量的垃圾回收的根节点
-XX:PrintGC 打印垃圾回收日志
栈上分配 : 逃逸分析(成员变量还是局部变量)
-server : server模式下运行java程序
-XX:+DoEscapeAnalysis 逃逸分析 ,server模式下才能进行逃逸分析
-XX:+EliminateAllocations 标量替换
java 1.6,1.7方法区
-XX:PermSize 初始值
-XX:MaxPermSize 默认64M
java1.8 元数据区
-XX:MaxMetaspaceSize ,是一块堆外的直接内存
以上是关于JVM 基本结构的主要内容,如果未能解决你的问题,请参考以下文章