静态变量存在JVM哪个区

如题
昨天面试跟面试官杠起来了,我说JDK1.7之后静态变量存在堆中,然后他说静态变量存在元空间,我就说存在堆。最后我看有点尴尬就附和他说元空间。友友们,静态变量到底存在哪里,还有遇到这种事情我该不该跟他杠到底
全部评论
堆。不过这种问题毫无意义,你入职半年以内都不可能接触到JVM的问题,他自己都够呛能解决一次gc
21 回复 分享
发布于 2024-04-17 21:39 上海
你是对的。 static变量的元数据是存元空间,但是其数值是在堆里。 你可以试试看分配超大的static数组,是堆溢出。
11 回复 分享
发布于 2024-04-17 16:17 浙江
我只知道CPP有全局/static区,评论区都说堆,看来CPP和JAVA内存这块不太一样
2 回复 分享
发布于 2024-04-20 22:18 黑龙江
静态变量在堆里
1 回复 分享
发布于 2024-04-17 20:58 江苏
在元空间吧,运行时常量池和类变量
1 回复 分享
发布于 2024-04-17 15:39 江苏
1.7开始,静态变量从永久代中移出到堆中,1.8的静态变量也仍然在堆中,元空间放的是类的元数据和运行时常量池。
1 回复 分享
发布于 2024-04-17 14:07 广东
我记得存在堆里面的对象class里面,元空间里面有个指针指向这个class 但是八股啥的都直接说的在元空间
1 回复 分享
发布于 2024-04-17 12:55 四川
面试官说啥都是对的😂,你和他争什么
点赞 回复 分享
发布于 2024-04-22 09:12 辽宁
静态变量存储在方法区。永久带和元空间是方法区的具体实现,1.8 以及之后的版本将永久带替换成元空间了。方法区是通过堆的元空间来实现的。
点赞 回复 分享
发布于 2024-04-18 22:23 广东

相关推荐

不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
12
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务