V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zealot0630  ›  全部回复第 5 页 / 共 14 页
回复总数  261
1  2  3  4  5  6  7  8  9  10 ... 14  
2019-04-02 09:21:28 +08:00
回复了 karia 创建的主题 Java 问下 inner class 里想写 static nested class 作为工具类的时候该怎么办
static is evil。static 破坏了语言的 lexical scope,outer class 的成员明显在你的 scope 里面,你却无法访问。参考 scala 是怎么去掉 static 关键字的,一方面用 Singleton 取代了,另一方面,强制你必须放外面去
2019-03-31 16:04:49 +08:00
回复了 Orpheus 创建的主题 程序员 学历对程序员职业生涯影响很大吗?
学历不重要,重要的是你在大学里面的四年经历

我大学毕业后的工作全都是校友内推的。另一方面,招人时候也可以感受到,内推的比社招的靠谱多了。
2019-03-29 17:21:16 +08:00
回复了 phpchen 创建的主题 程序员 这个数字规律该怎么循环出来呢。。。。
Stream.from(0).map(i => Iterator.iterate(i)(_ / 3).takeWhile(_ > 0).map(_ % 3).toList).takeWhile(_.length < 4).map(_.padTo(3,0).map(_ + 1).mkString(" ")).foreach(println)


Scala 一行解
B 站技术还没搞定转码,现在你推什么就播什么,之前推过 20Mbps 的流,网速没到 20M 就看不了(卡卡卡)
2019-03-26 23:56:39 +08:00
回复了 shuperjolly 创建的主题 Android 墙外的微信能正常使用 fcm 推送吗?
一直能用,毫无问题。
2019-03-25 19:49:54 +08:00
回复了 xiangyuecn 创建的主题 程序员 自己制作 Chrome 便携版实现多版本共存
敏感信息用系统自带的 security store 保存的,换机器当然就用不了了。想想,你复制到其他机器能直接用,同样黑客拿走也就能直接用。
因为面试官基础不好啊,没法问你基础啊,哈哈哈。我一向认为面试是双向选择,双方互相选择的。
2019-03-25 12:23:40 +08:00
回复了 xiexingjia 创建的主题 Python 写了一个 Let's Encrypt 的 wildcard 证书小工具
更新 dns 有标准的 nsupdatw,rfc2136。bind 和 aws 的 route53 都支持,不知道国内云厂商是否支持
2019-03-21 19:56:27 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
来抄答案吧,lock 放在 while 是效率考虑,虽然放在里面也可以,但是你上一个 unlock 紧接着下一次循环的 lock,你觉得这种代码有意义么?我们期望在 cv.wait 处等待,而不是在 rl.lock 地方等待

https://gist.github.com/kghost/585cb0d2f1c66ebc7d9af3d0a4fd8a42

https://scastie.scala-lang.org/k5ijcVnoTTGXtwLWqJQa2A
2019-03-21 19:25:05 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
@lihongjie0209 在 cv.wait 等待过程中,锁会被释放. 在等待成功后,会重新获取锁. 你再仔细理解一下.
2019-03-21 19:15:09 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
@petelin 不及格。看一下我 29 楼说的。并且,假唤醒了解一下,在仔细看两遍示例代码。
2019-03-21 19:13:18 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
@lihongjie0209 看了你 20 楼的代码,说真的 也很难给你及格分。最严重的错误就是你需要把 lock/unlock 放到 while 外面。因为 cv.wait 时候会释放锁
2019-03-21 19:11:06 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
@lihongjie0209 不会的,代码这样写:while(not A's turn) cv_a.wait(); A 第一次进来时候 A's turn 为真,根本不会进入等待
2019-03-21 19:05:21 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
而且这两个操作必须是原子的,解释了为什么 signal 只能在持有锁时候做
2019-03-21 19:04:14 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
就是说,除了 cv 外,你还需要一个变量来记录,下面轮到谁了,先修改这个变量,再 signal 对应的 cv
2019-03-21 19:03:14 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
@lihongjie0209 不需要,cv 本身是无状态的,你去找 example 看,cv.wait 是包在一个判断的 while 里面,由那个判断来控制状态
2019-03-21 18:44:37 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
16 楼理解正确,题目考察唤醒的效率,把题目中的 3 个线程换成 10000 个线程试试,使用 10000 个 cv 能精确唤醒下一个需要被唤醒的线程,而不是 10000 个线程去抢一把锁
2019-03-21 18:31:29 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
@petelin 11 楼 只能给 50 分,因为你没理解 cv
2019-03-21 16:18:10 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
这题目考点是 condition variable,去学学这玩意怎么用吧。下面那个 spin 的不评价了,虽然能工作,但是笔试估计也是 0 分,面试我会让他重写。
2019-03-21 16:05:58 +08:00
回复了 samray 创建的主题 程序员 一条面试题引发的思考--浅谈 Java 公平锁与内存模型
CPU 调度本来就有一定随机性的,这题目要求即使在 work 里面加上 sleep(random)情况下,仍然能正确按顺序输出,你的程序做不到
1  2  3  4  5  6  7  8  9  10 ... 14  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3456 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 05:00 · PVG 13:00 · LAX 21:00 · JFK 00:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.