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

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

如果有想学习java的程序员,可来我们的java学习扣qun:943111692,免费送java的视频教程噢!我每晚上8点还会在群内直播讲解Java知识,欢迎大家前来学习哦。

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

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

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

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

猜你喜欢

转载自blog.csdn.net/qq_43202482/article/details/85268466