码迷,mamicode.com
首页 > 其他好文 > 详细

JVM总结

时间:2018-05-09 15:07:05      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:.com   名称   也会   地方法   tail   pre   out   操作   大小   

JVM 内存模型图
技术分享图片

方法区域存放了所加载的类的信息(名称、修饰符等)、类中的静态变量、类中定义为final类型的常量、类中的Field信息、类中的方法信息,当开发人员在程序中通过Class对象中的getName、isInterface等方法来获取信息时,这些数据都来源于方法区域,同时方法区域也是全局共享的,在一定的条件下它也会被GC,当方法区域需要使用的内存超过其允许的大小时,会抛出OutOfMemory的错误信息

技术分享图片

总结:
Java? 运行时数据区可以分成 方法区、 堆、 栈、 程序计数器、 本地方法栈

堆:Java 对象, 线程之间共享的

栈:方法运行,每一个方法对应一个栈帧,每一个线程对应一个栈,

每个栈帧包括 操作数、局部变量表、指向运行时常量池的引用,方法返回地址、附加位区 所以是线程不共享

方法区(静态区):被虚拟机加载的类信息、静态(static)变量,常量(final),即时编译器编译后的代码等数据。运行常量池是方法区的一部分,class文件除了有类的版本、字段、接口、方法等描述信息之外,还有一项信息常量池保存编译期生成的字面量和符号引用。 线程之间共享的。

程序计数器:指出某一个时候执行某一个指令、执行完毕之后要返回的位置,当执行的Java方法的时候,这里保存的当前执行的地址,如果执行的是本地方法的时候,那么程序计数器为空。线程不共享。

引用出处:
http://www.cnblogs.com/sunada2005/p/3577799.html
http://blog.csdn.net/ns_code/article/details/17565503

JVM总结

标签:.com   名称   也会   地方法   tail   pre   out   操作   大小   

原文地址:https://www.cnblogs.com/ldy-blogs/p/9013249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!