zoukankan      html  css  js  c++  java
  • JVM内存的堆、栈和方法区

    JVM的内存分为堆、栈、方法区和程序计数器4个区域

    存储内容:基本类型,对象引用,对象本身,class,常量,static变量

    堆:

    拥有者:所有线程

    内容:对象本身,不存放基本类型和对象引用

    垃圾回收:由gc控制,java的垃圾回收主要针对堆

    ----------------------------------------------------------

    栈:

    分为虚拟机栈和本地方法栈

    虚拟机栈:

    java方法内存模型

    拥有者:每个线程拥有一个

    内容:基本数据,对象引用(最常用)

    垃圾回收:程序自动出栈释放

    本地方法栈:

    为native方法服务

     ----------------------------------------------------------

    方法区(静态区):

    拥有者:所有线程

    内容:class类型、常量、static变量(整个程序中唯一的元素)和常量池

    备注:方法区属于一个逻辑概念,是堆的一个逻辑部分,不同虚拟机对其有不同的实现,例如jdk1.8之前HotSpot用“永久代”来实现方法区,在之后用“元空间”实现方法区

  • 相关阅读:
    括号序列
    秘密信息
    大奖赛
    订单
    摆花
    利用spring自己实现观察者模式
    Spring操作mongo排序,限制查询记录数
    Hbse的读写过程
    使用aop记录数据库操作的执行时间
    分享一个关于jackson的Json工具类
  • 原文地址:https://www.cnblogs.com/yanze/p/9789865.html
Copyright © 2011-2022 走看看