1.JVM内存结构

JVM按照运行时数据的存储结构来划分内存结构,不同格式的数据分别存储在不同的区域,统称为运行时数据,运行时数据包括Java程序本身的数据信息和JVM运行Java需要的额外数据信息。

QQ截图20170511161302.jpg

  • JVM内存结构

  • Non-Heap
    CodeCache
    Permanent Generation space
    Direct Momery

  • Heap

  • JVM GC管理

  • 1.1 jvm运行时的数据区

    • 线程私有:程序计数器、J...

    Continue reading >>

    JVM命令行选项主要有3类:标准选项(eg:-client)、非标准选项(eg:-Xmxsize)、非稳定选项(eg:-XX:+AggressiveOpts)。选项使用说明: 
    -XX:+option 启用选项 
    -XX:-option 不启用选项 
    -XX:option=number 给选项设置一个数字类型值,可跟单位,例如 128k, 256m, 1g 
    -XX...

    Continue reading >>

    1.什么是JVM?

    JVM是Java Virtual Machine(Java虚拟机)的缩写,虚拟机是指通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

    Java虚拟机有自己完善的硬体架构,如处理器堆栈寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系...

    Continue reading >>

    1.Java程序运行状态

    1.1 java运行状态

    • RUNNABLE:线程处于正在运行状态。

    • TIMED_WAITING(on object monitor) 表示当前线程被挂起一段时间,说明该线程正在执行obj.wait(int time)方法.

    • TIMED_WAITING(sleeping) 表示当前线程被挂起一段时间,即正在执行Thread.sleep(int time)方法.

    • TIMED_WAIT...

    Continue reading >>

    1. 垃圾回收器类型及选择

    现在比较常用的是分代收集(generational collection,也是SUN VM使用的,J2SE1.2之后引入),即将内存分为几个区域,将不同生命周期的对象放在不同区域里:young generation,tenured generation和permanet generation。绝大部分的object被分配在young generation(生命周期短),并...

    Continue reading >>