网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月22日
漏签
0
天
java吧
关注:
1,234,285
贴子:
12,701,087
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
27
回复贴,共
2
页
,跳到
页
确定
<返回java吧
>0< 加载中...
别再讨论找工作了,来讨论个技术问题吧
只看楼主
收藏
回复
无名大虾
淼淼水
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
小弟最近在学习ArrayBlockingQueue的时候,遇到了一个成员变量ReentrantLock成员变量何时初始化的疑惑,请看下图
送TA礼物
IP属地:上海
1楼
2024-04-03 03:03
回复
无名大虾
淼淼水
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
IP属地:上海
2楼
2024-04-03 03:07
回复
收起回复
无名大虾
淼淼水
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我想不明白源码里面调用构造方法进行初始化的优点在哪里啊,我感觉我在加载类的时候进行初始化不是更简单易懂吗
IP属地:上海
3楼
2024-04-03 03:09
回复
收起回复
无名大虾
淼淼水
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
有哪位大神解惑一下,小弟先行多谢了
IP属地:上海
4楼
2024-04-03 03:10
回复(1)
收起回复
无名大虾
淼淼水
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
是因为在类加载的时候初始化,容易导致堆内存浪费吗?(万一加载了类,但是没有用到类对象这种情况)
IP属地:上海
5楼
2024-04-03 03:11
回复(2)
收起回复
c
水
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
懒加载啊
IP属地:浙江
来自
iPhone客户端
6楼
2024-04-03 04:34
回复
收起回复
c
水
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
而且你这个也不是类加载的时候初始化 不是static变量 创建对象的时候才会初始化
IP属地:浙江
来自
iPhone客户端
7楼
2024-04-03 04:35
回复
收起回复
贴吧用户_aDCDAAb
水
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
懒加载,面向对象编程要考虑性能上,你这样写的代码是存放在元空间的,如果代码量增加的话会出现oom问题
IP属地:上海
来自
Android客户端
8楼
2024-04-03 05:58
回复(3)
收起回复
清炒西蓝花
水
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
因为有参构造的参数传fair了,和对象创建时默认初始化的lock肯定不一样啊,那不就得重新创建
IP属地:上海
来自
Android客户端
9楼
2024-04-03 09:22
回复(1)
收起回复
wsadfg142536
水
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
没啥区别,习惯问题
IP属地:北京
来自
Android客户端
10楼
2024-04-03 09:26
回复(1)
收起回复
绑架邻居的黑猫
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这应该是你要的答案
注意理解 对于JVM来说 你直接 new 和你在构造里 new 是没区别
有区别是成员变量的type 是否是静态的 这影响 Jvm加载类和实例化属性的逻辑
我们可以证明出来。
我们看看它的字节码(字节码是直接可以表示JVM的加载逻辑的)
结论就被证明了。
IP属地:湖北
11楼
2024-04-03 09:38
回复
收起回复
绑架邻居的黑猫
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
至于为什么JVM要这么做 上面已经给了答案了 懒加载是结果 。
但更细的原因是Java为了解决 对象中循环引用的情况
例如 A对象中依赖B ,B 中依赖A 那么Jvm 加载A时 会发现A <-> B 存在依赖。
那么怎么解决这问题呢 ? 那就不完全实例化 也就是说A 只是被加载 但不完全或者说是不成熟
JVM会首先将两个类都加载进内存,但此时两个类都还没有被完全初始化,
此时并不会触发类的初始化,
这样,即使A类和B类相互依赖,JVM也能确保它们都能被加载而不会发生错误或无限循环。
IP属地:湖北
13楼
2024-04-03 09:46
回复
收起回复
老鼠也疯狂啊
水
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
它要等参数
IP属地:广东
来自
Android客户端
14楼
2024-04-03 09:59
回复
收起回复
快叫胖哥
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
jvm类加载原则就是按需加载
类加载过程的初始化阶段,只会执行静态变量的初始化和静态代码块。
IP属地:浙江
来自
Android客户端
15楼
2024-04-03 14:36
回复
收起回复
windyinlife
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
类加载会执行的是static代码块……而且你这new对象,为什么会想到类加载的时候new?难道你只想这个类全局只存在一个锁对象?
先把概念理清楚,这个问题就不是个问题……
IP属地:广东
来自
Android客户端
16楼
2024-04-03 19:29
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
考研数学难度
2463300
2
南昌通报李某雪已被送诊
2315766
3
黑神话获IGN玩家社区年度最佳
2290680
4
韩国爆发大规模示威
1890324
5
2024LPL年度最佳阵容
1330680
6
曼城跌至英超第六
1203850
7
通过博主再次看到小时候的自己
1051848
8
全明星赛Bin队战胜JKL队
748305
9
谷爱凌世界杯第17冠
718278
10
《龙腾4》跨性别总监为失败开脱
646044
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示