zoukankan      html  css  js  c++  java
  • Java虚拟机JVM详解

    一.JVM内存管理

    1.1JVM运行时数据区

    1.1.1程序计数器:记录当前线程正在执行的字节码指定的地址(行号)

    为什么需要它:程序容易被打断

    1.1.2虚拟机栈:存储当前线程运行方法时所需要的数据、指令、返回地址

    1.1.3本地方法栈:和虚拟机栈类似,存储的是native方法

    1.1.4方法区:类信息、常量(1.7移至堆)、静态变量、JIT(编译好的代码等数据 1.7移至堆)

    1.1.5堆:存放所有实例对象和数组

    设置:启动时分配的内存:-Xms,最大内存 -Xmx

    1.2JVM内存模型

    1.3JVM垃圾回收(GC)

    判断对象是否存活

    内存泄漏:对象没有被回收 例:对象出栈时没有置空

    内存溢出:内存不够了

    1.4JDK提供的工具

    jps 虚拟机进程状况

    jstat 虚拟机统计信息监控工具

    jmap Java内存映像区域

    jstack Java堆栈跟踪工具

    jconsole Java监视与管理控制台

  • 相关阅读:
    HDU 1985 Conversions
    HDU 1708 Fibonacci String
    HDU 3501 Calculation 2
    HDU 4163 Stock Prices
    HDU 2391 Filthy Rich
    HDU 1996 汉诺塔VI
    HDU 2824 The Euler function
    HDU 1787 GCD Again
    HDU 2393 Higher Math
    HDU 1286 找新朋友
  • 原文地址:https://www.cnblogs.com/lingluo2017/p/10228909.html
Copyright © 2011-2022 走看看