关于Java内存模型中大对象拷贝问题

刚刚参加了蘑菇街的最后一面,大佬面。大佬大多数时间都是在谈人生和理想,最后问了一个技术问题,结果我没答出来...GG
JVM内存模型分为主内存和工作内存,线程对主内存中的共享变量进行操作时,需要拷贝一个副本到自己的工作内存中,那么问题来了,如果这个共享变量很大怎么办?例如List对象,也是全部拷贝吗?JVM是如何解决的?
《深入理解JVM虚拟机》中只是在页脚注释部分模糊地描述了一下对于大对象拷贝只是拷贝对象引用或对象中的某个字段,我上网搜索了相关知识,也没有找到一个确切的答案,所以想来请教一下各位大佬。
#蘑菇街#
全部评论
JMM中的read load都是对单个内存地址的操作,只能操作基本类型。所以,操作对象的时候,应该只load需要的field的那一小块儿内存,跟对象大小无关。
点赞 回复 分享
发布于 2017-09-15 15:11
这个没有大佬知道吗
点赞 回复 分享
发布于 2017-09-15 14:53
问题很犀利,期待比较权威的答案
点赞 回复 分享
发布于 2017-09-15 13:56
大佬先用人生理想麻痹你,瞬间抓住你的弱点
点赞 回复 分享
发布于 2017-09-14 11:59
引用啊
点赞 回复 分享
发布于 2017-09-14 11:13
这个直接对引用进行修改不就可以了吗?如果是n个线程访问这个大对象每个线程复制一遍,那么jvm不得崩了?个人理解不对请指出
点赞 回复 分享
发布于 2017-09-14 11:01
M😂
点赞 回复 分享
发布于 2017-09-14 10:59

相关推荐

Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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