V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  af463419014  ›  全部回复第 5 页 / 共 14 页
回复总数  263
1  2  3  4  5  6  7  8  9  10 ... 14  
2019 年 2 月 3 日
回复了 yamasa 创建的主题 Java Java web 开发中,有哪些需要使用 volatile 的典型场景?
@lhx2008
首先,enum 是饿汉单例
双锁单例 和 内部静态类单例 则是懒汉且线程安全的,没有可比性


另外,执行到 start=1 卡住这种不是我想表达的问题

我想表达的是,在 init()方法中
start=1 和 inited=true 这两行代码,有可能先执行 inited=true,再执行 start=1

执行的顺序是:
1.A 线程执行 inited=true
2.B 线程判断 if(inited)成功,执行 a=start
3.A 线程执行 start=1

这种情况,B 线程会在认为已经初始化完成时,获取到错误是初始参数

详细的还原代码
https://gist.github.com/af463419014/6814e807684c46bda34349608d9f5882

输出 out 可能等于 1,也就是 in=0,inited=1 的和
这种情况就是先执行了 inited=1,但还未执行 in=10,也就是执行顺序被重排了
2019 年 2 月 3 日
回复了 yamasa 创建的主题 Java Java web 开发中,有哪些需要使用 volatile 的典型场景?
@lhx2008 @ultimate010

内部静态类单例 了解一下

懒汉加载且线程安全,简单粗暴,锁和 volatile 都不需要

我在实际中用过的有两种
1.就是 @ultimate010 提到的 while(stop)
2.防止代码重排序
比如初始化的时候,下面这种情况
如果 inited 参数没有 volatile 修饰,可能在 init()方法中,先执行 inited=true,再执行 start=0
这样在 run()方法里执行 a=start 时,a 的值不等于 1
void init(){
start=1;
inited=true;
}

void run(){
if(inited){
int a=start;
//执行内容
}
}
2019 年 2 月 2 日
回复了 lastright 创建的主题 北京 北京的朋友,你们的水费都是 10 元一吨吗?
一个人住,充了 50 元水费半年才花完,隔两三天就要洗澡和洗衣服
楼主你那水表是加风火轮了吧
简单粗暴一点怎样

用 nginx 的显示文件列表功能,照片就放这个文件目录里
2019 年 1 月 24 日
回复了 tionsin 创建的主题 程序员 大四毕设, 在线答题系统...Bug 还很多
@carlosevo 要真实号码就要验证短信,发短信还的成本可不小,还要防止短信接口被刷
这一套下来,就算楼主想做,也要花不少精力
2019 年 1 月 24 日
回复了 Eiden 创建的主题 问与答 抢不到票怎么办
我也没抢到,然后多花几百买机票了,哼~
2019 年 1 月 24 日
回复了 yhy666888 创建的主题 生活 即将毕业的学生党想咨询一些常识
月租比较合适,比如自如就有,性价比还挺高,虽然我没住过
自己一个小单间,两千多能住一个月,找工作花一两个月肯定够了

跟酒店一天两三百比起来,价格便宜多了
青旅虽然便宜,但是很多人住一起,还是有点不方便,放个东西也不安心怕被偷
2019 年 1 月 23 日
回复了 julyedu 创建的主题 推广 分享一道 Python 笔试题目,大家会做吗?
不会 python,百度了一下 python extend 的用法就知道答案了
这也能算笔试题?黑人问号???
2019 年 1 月 18 日
回复了 nameryan 创建的主题 分享创造 人人都应该会的-量化交易
@nameryan
问下楼主,现在有没有能自动完成交易的方法

我两年前就调研过量化交易这块,但是没有着手去做,因为没找到能自动交易的方法,所以放弃了

以前国内对量化交易的支持很不好,最多只能发送推送消息,然后自己去实际操作
如果是做高频操作,自己根本没精力去手动管理

而且手动执行也会因为时间偏差,导致实际收益和跑虚拟交易的收益完全不一样
想买个带冲浪按摩的浴缸
但是租的房子卫生间太小了放不下,就算能放下,搬家也很麻烦

所以还是想先买房
2019 年 1 月 16 日
回复了 ChaselPansy 创建的主题 程序员 主力机是 macbook pro,如何使用 windows 和 Linux
@ChaselPansy #7
既然你已经有固态硬盘了,可以把虚拟机装到外接的固态硬盘里
既不占用 mac 的 ssd,也不需要再花钱去买 win to go 的 U 盘
2019 年 1 月 14 日
回复了 dlrdegk 创建的主题 问与答 订婚戒指选择钻石还是莫桑石?
如果是我,同样的预算,宁愿买小一些的钻石,也不要莫桑石
进入社会的第一节课,就是要学会看好合同再签字

签了合同就要负责任,现在只是租房,能吃多大亏?
以后买房,卖房,投资,做生意,做项目,都少不了合同,每一份合同在签订的时候,都要认真看完再签
你已经是成年人了,做事别还像个学生一样,乱签字

另外,建议买个录音笔,办事的时候带上
打人要报警,受伤他跑不了,但是要做伤情鉴定
别像个小孩子一样,刮擦一下,这不叫受伤

最后
合同不是签了字有一定有效,超过法律规定的范围可以认定合同无效,比如高利贷超过 24%法律不会支持
但是你这个合同,有没无效的内容,就不好说了
2019 年 1 月 9 日
回复了 nyse 创建的主题 程序员 在 9102 年,有什么情况是必须用 mac 才行的吗?
既然不做 ios 开发,mac 就不是必须的

mac 系统本身就是一个安全的系统(不是 100%,但相对 windows 非常省心了)
在 mac 上,你不用浪费时间装杀毒软件,即使没有杀毒软件,也不用担心中病毒
在 mac 上,浏览网页不用担心被网站挂病毒
在 mac 上,安装软件不用担心被安装百度全家桶,360 全家桶,2345 全家桶
在 mac 上,不用担心弹窗,因为应用没有这个权限,更不需要装弹窗拦截


当然 mac 也有缺点
mac 上能完成的工作,在 windows 上都能完成(除了 ios 开发)
mac 上游戏几乎没有,就算有能玩的,配置也容易扛不住
mac 的价格贵,同样性能的 windows 比 mac 便宜很多

mac 的好处是可以让你更专注于工作,不浪费时间折腾
如果你的工作时间很值钱,并希望把时间专注在工作上,可以考虑买 mac
如果你比较闲,喜欢折腾,还希望能玩游戏,就买 windows
2018 年 12 月 28 日
回复了 Frank9621 创建的主题 随想 想静下心打磨一个小众的应用,有什么推荐的吗?
@jie170601 安卓没有实时耳返是硬件不支持,靠软件是解决不了的,必须用外置声卡
我买了一个全民 K 歌的麦克风,里面内置一个渣渣声卡,可以实时耳返
2018 年 12 月 27 日
回复了 nicking 创建的主题 情感问题 舔到最后,一无所有
异地多活,了解一下
这要看新政规定怎么证明这个房租是你租的,可能只要合同,也可能要合同加发票,大概率是必须要发票的

发票必须去税务机关开,开发票的时候就会让你交税
2018 年 12 月 27 日
回复了 witcat 创建的主题 分享创造 单枪匹马做了两个星期的小游戏,淡定的上线了
这小游戏真不错,支持支持
2018 年 12 月 21 日
回复了 106npo 创建的主题 云计算 阿里 ECS 定价问题 共享比独享贵?
这个跟哪一代的有关系,不过这个没有标记得特别明显,是阿里的锅
越新的越便宜,上面有过滤是显示最新一代还是所有代

`计算型` 大类包括 `计算网络增强型` 和 `计算型` 等 ,但是只有`计算型`是最新的
`入门级` 大类包括 `共享型` 和 `突发性能型` 等 ,但是只有`突发性能型`是最新的

也就是你截图里那 3 个,除了`计算型`,另外 2 个都是老版本,所以贵
要划算,就只买最新一代
1  2  3  4  5  6  7  8  9  10 ... 14  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3369 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 45ms · UTC 12:12 · PVG 20:12 · LAX 05:12 · JFK 08:12
♥ Do have faith in what you're doing.