Java程序员面试碰到一段代码:在线等解答!网友:看不懂,下一题

作为一名程序员,想要有高深的技术,那么良好的逻辑思维能力是不可或缺的!很多企业在面试程序员的时候,都会出一些面试题来测试面试者,看看他们技术和逻辑能力能不能达到入职的标准,其实这些题不算太难,只要有一些相关的经验,也是可以答到关键点上!

0Raxw1WJhHk

0RaxvzBUG5g

可以看到,这是一段Java代码,题目给出提示:这段代码运行的时候会出现问题!然后要求面试者指出问题在哪里!而这位面试的程序员并不知道,所以求助于各位网友!

0Raxw00ViaG

有网友解释,看似是原子操作,其实不是原子操作,是复合操作!如果真要像题目中加1的话,那么建议用原子整数,不要用integer,因为两个原子操作,复合之后就不是原子操作了!

0RaxvzWb4Ma

还有网友的经验比较丰富,想到了很多问题:这段代码有线程安全问题,因为当value取出之后,有可能已经有线程把对应的key put到map中去了,会影响代码执行的结果!

0Raxw0LMC2q

其实工作中还有很多类似于这样的“细节”,稍微不注意就会出错,随之而来的就是一大串的Bug,然后还要去修改,无形之中加大自己的工作任务量,甚至重新返工也不一定。所以我们在编程的时候,一定要注意这些细节,这样才能够让我们的代码接近于完美的程度!

转载于:https://my.oschina.net/u/4005571/blog/2253427

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值