社区
Java
帖子详情
JVM 关于静态变量存储位置的问题
陈yy哦
2020-12-13 08:34:35
形如
static List<> a = new List<>();
我知道a指向的List的对象肯定是在堆内存中,但a本身它存放在哪儿?
...全文
4646
4
打赏
收藏
JVM 关于静态变量存储位置的问题
形如 static List a = new List(); 我知道a指向的List的对象肯定是在堆内存中,但a本身它存放在哪儿?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
凉蛋蛋
2023-02-02
打赏
举报
回复
堆里面,不在方法区了,之前在,现在挪到堆里面了
JAVA小S
2020-12-15
打赏
举报
回复
3
java 8 后,永久代已经被移除,被称为“元数据区”的区域所取代。类的元数据放入native memory, 字符串池和类的静态变量放入java堆中
maradona1984
2020-12-14
打赏
举报
回复
静态变量在方法区
KeepSayingNo
2020-12-14
打赏
举报
回复
静态变量初始化就在堆,a就在堆中
静态变量
与局部变量的对比
JVM
从
JVM
(Java虚拟机)的角度来看,
静态变量
与局部变量在多个方面存在显著的区别。
java
静态变量
,静态方法
存储
在内存中哪个
位置
内存分区示意图| 新生代 | | 老生代 | | 元空间 || - Eden 区 | | - 长期存活的对象 | | - 类的元数据 || - Survivor 区 | | - 大对象直接分配 | | - 方法字节码 |关键区别与联系区域
存储
内容GC 触发条件回收算法新生代新创建的对象Eden 区满复制算法(Copying)老生代长期存活的对象老生代空间不足标记-整理(Mark-Compact)元空间类的元数据类加载器卸载或元空间不足无显式 GC,由
JVM
管理为什么需要分代。
JVM
-运行时数据区-方法区(jdk7的永久代,jdk8的元空间)
方法区 前言 这次所讲述的是运行时数据区的最后一个部分 从线程共享与否的角度来看 ThreadLocal:如何保证多个线程在并发环境下的安全性?典型应用就是数据库连接管理,以及会话管理 栈、堆、方法区的交互关系 下面就涉及了对象的访问定位 Person:存放在元空间,也可以说方法区 person:存放在Java栈的局部变量表中 new Person():存放在Java堆中 方法区的理解 《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行
JVM
相关知识点记录
JDK1.8中,Parallel Scavenge 被设置为年轻代(Young Generation)的默认垃圾回收器,而 Parallel Old 是用于老年代(Tenured Generation)的垃圾回收器。
JVM
运行时数据区之方法区
方法区 栈、堆、方法区的交互关系 运行时数据区的结构图 从线程共享与否的角度看 栈、堆、方法区的交互关系 方法区的理解 官方文档 The Java Virtual Machine has a method area that is shared among all Java Virtual Machine threads. The method area is analogous to the storage area for compiled code of a conventional lang
Java
51,407
社区成员
86,108
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章