码迷,mamicode.com
首页 > 编程语言 > 详细

java内存划分

时间:2016-07-11 00:52:22      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

    Java能被广泛使用,很重要的就是GC(Garbage Collection,垃圾回收)机制,也是Java与C/C++的主要区别之一。GC机制带来的好处就是不需要我们过多地关注内存泄漏导致的OOM,但是这并不意味着Java开发就不会有内存泄漏,另外在某些情况下GC也会影响程序运行效率,极端情况下导致“整个世界都静止了”。

    Java的GC,设计到内存管理。Java的内存区域分

    1.程序计数器(Program Counter Register)区

       这个区域比较小,记录当前java线程字节码执行到的位置。它是线程私有(一个线程关联一个程序计数器).

     2.虚拟机栈(JVM Stack)区

        先进后出的数据区,存储Java的局部变量,操作数,方法出口等,也是线程私有

     3.本地方法栈(Native Method Stack)区

        也就是执行本地代码时用到的栈,线程私有

     4.堆(Heap)区

         Java GC的最重要的区域,这里是Java对象实例数据生成和销毁的地方,属于所有线程

      5.方法区(Method Area)

         用于存储已经被虚拟机加载的类信息(即加载类时需要加载的信息,包括版本、field、方法、接口等信息)、final常量、静态变量、编译器即时编译的代码等。属于所有线程

java内存划分

标签:

原文地址:http://www.cnblogs.com/goooon/p/5658954.html

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