标签:本地 mamicode 运行 meta 老生代 xss 初始 最大 java程序
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 ,是一块堆外的直接内存
标签:本地 mamicode 运行 meta 老生代 xss 初始 最大 java程序
原文地址:https://www.cnblogs.com/fubinhnust/p/11956017.html