zoukankan      html  css  js  c++  java
  • JVM 基本结构

    • Java虚拟机基本结构

    • 角色:字节码执行引擎,垃圾回收系统,方法区,Java堆,直接内存[共享],类加载子系统,PC寄存器(计数器),本地方法栈,Java栈[私有]

    • 垃圾回收的工作重点:方法区,Java堆,直接内存

    • 一个Java线程对应一个java栈

    • 参数

    • 程序参数:应用程序使用

    • 虚拟机参数:虚拟机使用

    • Java堆的结构

    • 新生代 : young

    • from

    • to

    • eden :对象创建的地方

    • ——-> young转换到tenured:对象年龄

    • 老生代:tenured


    Java [-options]虚拟机参数 class[java类] args[主函数的参数]

    获取jvm的最大内存 -Xms32M

    System.out.println(Runtime.getRuntime().maxMemory()/1000/1000 + “M”);

    指定栈的最大空间 -Xss256K ,影响栈深度:1.参数个数 2.局部变量个数

    局部变量槽位复用:b会复用a的槽位


    public static void localvar2(){

    {

    int a = 0 ;

    System.out.println(a);

    }

    int b = 0;

    }

    局部变量的垃圾回收的根节点

    -XX:PrintGC 打印垃圾回收日志

    栈上分配 : 逃逸分析(成员变量还是局部变量)

    -server : server模式下运行java程序

    -XX:+DoEscapeAnalysis 逃逸分析 ,server模式下才能进行逃逸分析

    -XX:+EliminateAllocations 标量替换

    java 1.6,1.7方法区

    -XX:PermSize 初始值

    -XX:MaxPermSize 默认64M

    java1.8 元数据区

    -XX:MaxMetaspaceSize ,是一块堆外的直接内存

  • 相关阅读:
    第一阶段冲刺02
    梦断代码阅读笔记01
    第一阶段冲刺01
    第十周总结报告
    单词统计
    用户模板分析
    第九周总结
    第九周课后作业
    py_11_ 0726
    Day_01
  • 原文地址:https://www.cnblogs.com/fubinhnust/p/11956017.html
Copyright © 2011-2022 走看看