http://zljpp.iteye.com/blog/1554929
程序计数器:作用可以看成当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间的计数器互不影响,独立存储。---线程私有
虚拟机栈:描述JAVA方法执行的内存模型,每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口灯信息。每个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。局部变量表存放了编译期可知的各种基本数据类型和对象引用类型,所需内存空间在编译期间完成分配。---线程私有
虚拟机栈中的两种异常状况:如果线程请求的栈深度大于虚拟机允许的深度,抛出StackOverflowError;如果虚拟机栈可以动态扩展,当扩展无法申请到足够的内存时抛出OutOfMemoryError。
本地方法栈:为虚拟机使用到的Native方法服务。---线程私有
JAVA堆:是被所有线程共享的一块内存区域,在虚拟机启动时创建。所有的对象实例以及数组都要在堆中分配,垃圾收集器管理的主要区域。
方法区:存储被虚拟机加载的类信息(类名、访问修饰符、字段描述、方法描述等)、常量、静态变量、即时编译器编译后的代码等数据。垃圾收集器主要是针对该区域的常量的回收和对类型的卸载。
运行时常量池(属于方法区部分):存放编译期生成的各种字面量和符号引用。动态性:运行期间也可能将新的常量放入池中,如String类的intern()方法。
直接内存:堆外内存,新IO类中引入的机遇通道Channel与缓冲的I/O方式,使用Native函数库直接分配对外内存。
配置参数:
-
-Xnoclassgc 关闭类垃圾回收功能
-
-Xincgc 开启类的垃圾回收功能
-
–Xms<size> 设置JVM初始化堆内存大小
-
–Xmx<size> 设置JVM最大的堆内存大小
-
–Xss<size> 设置JVM栈内存大小
分享到:
相关推荐
NULL 博文链接:https://jiangtie.iteye.com/blog/1003878
NULL 博文链接:https://vb2005xu.iteye.com/blog/387621
NULL 博文链接:https://vb2005xu.iteye.com/blog/1066661
NULL 博文链接:https://t240178168.iteye.com/blog/1660452
NULL 博文链接:https://mengyang.iteye.com/blog/575671
NULL 博文链接:https://hw1287789687.iteye.com/blog/1936364
NULL 博文链接:https://xuhu-java.iteye.com/blog/1136453
java SE7 虚拟机规范,非官方翻译。 原文地址:http://icyfenix.iteye.com/blog/1256329
NULL 博文链接:https://xieyan30.iteye.com/blog/1695483
http://www.iteye.com/topic/699515 主题:Swing是一把刀 http://www.iteye.com/topic/702804 主题:Swing第二刀:枝间新绿一重重 http://www.iteye.com/topic/707540 主题:Swing第二小刀刀:星星之火可以燎原 ...
NULL 博文链接:https://584431411.iteye.com/blog/2392356
NULL 博文链接:https://smallratluobin.iteye.com/blog/2089269
算法 博文链接:https://heaven870206.iteye.com/blog/624602
NULL 博文链接:https://gwh-08.iteye.com/blog/2241020
JSF一些技术小结 博文链接:https://suhuanxi.iteye.com/blog/166357
NULL 博文链接:https://timewalker.iteye.com/blog/1065615
博文链接:https://qarqan.iteye.com/blog/105844
NULL 博文链接:https://domcafe.iteye.com/blog/1472399
NULL 博文链接:https://michaelzqm.iteye.com/blog/910077
NULL 博文链接:https://liu400liu.iteye.com/blog/1615053