社区
Java
帖子详情
JVM 关于静态变量存储位置的问题
陈yy哦
2020-12-13 08:34:35
形如
static List<> a = new List<>();
我知道a指向的List的对象肯定是在堆内存中,但a本身它存放在哪儿?
...全文
4643
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展开,介绍了
静态变量
和方法的
存储
位置
,基础类型
静态变量
值、引用类型的引用及静态方法字节码存于方法区,引用对象在堆内存。还阐述了新生代、老生代、元数据的作用、结构、GC行为,以及方法区和元数据的关系、方法区
存储
内容等,对优化
JVM
性能和排查内存
问题
有帮助。
JVM
-运行时数据区-方法区(jdk7的永久代,jdk8的元空间)
本文深入探讨了
JVM
中的方法区,包括其在不同JDK版本的演进,如从JDK7的永久代到JDK8的元空间。讨论了方法区的大小调整与OOM
问题
,重点阐述了运行时常量池、全局常量、
静态变量
的
存储
位置
和垃圾回收机制,以及如何解决相关内存溢出
问题
。此外,还涵盖了类加载信息、常量池的重要性以及在面试中常见的
JVM
内存模型
问题
。
JVM
相关知识点记录
本文深入解析
JVM
,涵盖类装载、运行时数据区、内存分配等内容。介绍了不同JDK版本下
静态变量
和常量池的
存储
位置
变化,阐述了垃圾收集算法和收集器,分析了GC日志。还讲解了Java内存模型、volatile关键字作用、缓存一致性协议及伪共享
问题
。
Java
51,408
社区成员
86,103
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章