0°

偏向锁被废弃了?谈谈你背的那些“八股文”[阿里云]

前言:阅读一篇技术文章,畅聊一个技术话题。本期文章推荐的是《你背的“八股文”可能已经过时了》。

随着技术的不断更新迭代,一些曾经被认为是“标准答案”的观点和方法,已经不再适应当前的需求,甚至被视为过时的做法。在新的JDK版本中,许多新的特性、工具和方法被引入,使得Java编程变得更加简洁、高效和强大。所以,是时候对“八股文”进行一次知识库的清理和更新了。

本期话题:

1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
2、你的“八股文”知识库上次更新是什么时候?印象最深的是哪一条?
(可选择作答)

本期奖励:

截止2023年12月24日24时,参与本期话题讨论,将会选出 2 名幸运用户和 2 个优质回答分别获得阿里云开发者公牛圆盘充电插座一个。快来参加讨论吧~

幸运用户获奖规则:中奖楼层百分比为35%、75%的有效留言用户可获得互动幸运奖。如:活动结束后,回复为100层,则获奖楼层为 100✖35%=35,依此类推,即第75位回答用户获奖。如遇非整数,则向后取整。
如:回复楼层为81层,则81✖35%=28.35,则第29楼获奖。

优质讨论获奖规则:不视字数多,结合自己的真实经历分享,非 AI 生成。

未获得实物礼品的参与者将有机会获得 10-200 积分的奖励。


注:楼层需为有效回答(符合互动主题),灌水/复制回答将自动顺延至下一层。如有复制抄袭、不当言论等回答将不予发奖。阿里云开发者社区有权对回答进行删除。获奖名单将于活动结束后5个工作日内公布,奖品将于7个工作日内进行发放,节假日顺延。

获奖公告:

截止到12月24日共收到107条有效回复,获奖用户为:

优质回答:算精通、周周的奇妙编程
幸运用户:ZPY0821、wldffg

恭喜以上用户!感谢大家对本话题的支持~

以下为热心网友提供的参考意见

1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
我知道偏向锁已经被标记废弃了,使用偏向锁时,当短时间内只有一个线程访问的情况下非常有,但是,如果存在竞争,偏向锁会升级为轻量级锁或重量级锁。
在新的Java版本中,偏向锁在某些情况下可能不再提供性能优势,而引入了额外的开销。
2、你的“八股文”知识库上次更新是什么时候?印象最深的是哪一条?
大概是在一年前更新的,因为互联网的发达,现在获取新的特性和知识也越来越容易和便利。

以下为热心网友提供的参考意见

八股文有些纯是应付面试的,不过通过八股文也能看出面试者对面试的重视程度和理论基础,也看公司实际找人的要求,如果只是又个干活的就行,要求不高,主要看工作经验即可

以下为热心网友提供的参考意见

前言

随着互联网技术的不断更新迭代,曾经被认为是“标准答案”的观点和方法已经逐渐失去适应当前需求的能力,甚至被视为过时的做法。就拿最近的技术圈新闻来讲,在新的JDK版本中,Java编程引入了许多新的特性、工具和方法,使其变得更加简洁、高效和强大,但是之前的旧特性和方法也有许多被废弃了,比如曾经比较经典的偏向锁已经被废弃了,因此,个人觉得是时候对“八股文”进行一次知识库的清理和更新了。那么本文就来分享一下关于偏向锁被废弃以及个人对此的看法,并回顾一下自己的“八股文”知识库,以及技术更新迭代地时候我们要保持及时更新自己的知识储备。

《你背的“八股文”可能已经过时了》读后感

在开始本文的话题之前,先来分享一下关于我读《你背的“八股文”可能已经过时了》这篇文章的读后心得体会,这篇文章深入探讨了传统的学习方式在技术领域可能已经不再适用的问题,也让我对技术学习和职业发展的新的思考。我记得文章中指出,过去的技术学习往往以背诵和机械应用为主导,这种“八股文”式的学习方法在今天的快速变革的技术领域已经不再有效,随着技术的不断演进和创新,我们需要培养的是批判性思维、问题解决能力和持续学习的心态。

我非常认同文章中提到的批判性思维的重要性,在面对技术问题时,我们不能仅仅依赖于既定的套路和解决方案,而是需要有能力质疑和挑战现有的观点和做法,在通过思考问题的本质,我们可以更好地理解技术背后的原理和逻辑,并能够提出创新的解决方案。而且文中强调了问题解决能力的培养,因为在现实世界中,技术问题往往是复杂的、多样的,没有一种通用的解决方法,所以我们需要学会分析和拆解问题,掌握基本的解决思路和方法,并能够灵活地运用它们来解决不同的问题,这种问题解决能力的培养需要不断的实践和经验积累。还有就是对于技术人员而言,持续学习的心态至关重要,因为技术领域的变化非常迅速,新技术和新概念层出不穷,只有保持持续学习的心态,不断更新知识,才能跟上行业的发展步伐。

关于偏向锁已经被废弃这件事

看了官方消息,在新的JDK版本中,偏向锁已经被废弃。做Java开发的读者想必都知道偏向锁是一种JVM优化技术,旨在减少无竞争情况下的同步操作的开销。但是随着现代处理器的发展和多核心架构的普及,偏向锁的效果逐渐减弱甚至变得无效,所以Java开发团队决定废弃偏向锁,以便更好地适应当前的硬件环境和多线程编程需求。关于偏向锁被废弃这件事我个人是知道的,而且还知道的比较早。

个人而言,我比较认同官方关于废弃偏向锁的操作,因为技术的发展永远在不断前进,我们需要及时放弃过时的方法,接纳和适应新的技术进展,在废弃偏向锁并引入更适应现代硬件的机制,可以提高多线程程序的性能和可靠性。这也告诉我们每一位程序员,在技术领域,我们应该时刻持续学习和关注最新的发展,及时更新自己的知识储备,只有这样才能与时俱进。

个人“八股文”知识库的更新与印象深刻的知识点

不用多说,对于开发者而言,每个开发者都有属于自己的“八股文”知识库,这些是我们在学习和实际开发中反复使用和总结的知识点和经典模式,但是频繁的技术更新要求作为开发者的我们不断更新我们的知识库,从而适应新的需求、知识和使用工具等。

最近一次我对自己的“八股文”知识库进行更新是在半年前,我在实际使用中发现一些之前被认为是标准的方法和最佳实践已经不再适用于当前的开发环境和场景,所以我开始主动去学习和摸索新的知识点的特性和工具使用,比如Java 14中引入的Switch表达式、Records和Pattern Matching等,这都是之前自己所不具备的知识储备范畴。

在我自己的“八股文”知识库中,最印象深刻的一条是关于代码优化和性能调优的原则,因为在过去我经常依赖一些固定的优化技巧,比如避免使用String的”+”操作符连接字符串、避免在循环中频繁创建对象等“常识”,但是随着JVM和编译器的优化能力的不断提升,一些过去的优化建议和使用“常识”已经不再适用,甚至可能会产生反效果,所以我开始着重通过使用工具进行性能分析和使用合适的算法和数据结构来解决性能问题。

结束语

上文的介绍,关于技术的不断更新迭代使得一些过去被认为是“标准答案”的观点和方法变得过时,尤其是在Java编程领域,新的JDK版本引入了许多简洁、高效和强大的特性、工具和方法,对于我们开发者自己的个人“八股文”知识库,需要定期进行清理和更新,从而适应当前的需求和技术发展。废弃偏向锁就是一个很好的例子,对于个人而言来说,我支持废弃偏向锁的决定,因为面对技术的不断进步,我们就应该及时放弃过时的方法,接纳和适应新的技术进展。而且在技术领域,持续的学习和更新是至关重要的,我们应该保持开放的心态,关注最新的技术动态,并不断更新完善自己的知识储备,只有这样,我们才能在快速发展的技术领域中保持自我竞争力,不断提升自己的技术水平。

以下为热心网友提供的参考意见

1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
偏向锁在Java 9之后被废弃了。我对此有一些了解。偏向锁作为Java内存模型中的一种优化手段,确实可以提高同一个线程反复访问同一个对象时的性能。然而,偏向锁无法解决死锁问题,并且在某些情况下可能导致内存泄漏等问题。因此,Java 9决定废弃偏向锁并将轻量级锁作为默认的锁类型。
我认为废弃偏向锁是一个经过深思熟虑的决定。Java平台一直致力于提高并发性能和解决线程竞争问题,而偏向锁虽然在某些场景下可以提高性能,但也存在一些问题。废弃偏向锁可以促进对更加稳定和可靠的锁机制的使用和理解,同时也鼓励开发者正确处理线程竞争和并发问题。

以下为热心网友提供的参考意见

偏向锁在JDK 15版本中被废弃,而不是完全删除。偏向锁是Java中synchronized关键字的一种优化手段,用于在无竞争的情况下提高性能。然而,随着硬件和软件技术的发展,偏向锁在某些场景中可能不再有效,甚至会带来一些性能损失。
废弃偏向锁的原因是,它增加了JVM的复杂性,并且在高并发场景下可能导致性能下降。JVM团队认为,在当前硬件技术条件下,使用轻量级锁和自旋锁可以更好地满足并发需求。因此,偏向锁被废弃,并建议开发者在使用synchronized时,评估并选择更合适的锁机制。

以下为热心网友提供的参考意见

问题1:你知道偏向锁已经被废弃了吗?谈谈你对此的看法。

回答1:不知道。本身作为Java开发的小白来讲,还未涉及到多线程并发编程,所以对此没有很多了解。但是一门技术总是会随着时代的发现而进行更迭,所以对于任何一门技术会被废弃我也会认为是理所当然的。

问题2:你的“八股文”知识库上次更新是什么时候?印象最深的是哪一条?

回答2:昨天,本身我也在准备明天的秋招,所以现在已经开始背八股了,但是目前背的比较基础,给我印象最深的还是equals()和hashcode的关系

以下为热心网友提供的参考意见

1、你知道偏向锁已经被废弃了吗?

对于偏向锁被废弃来说,也是刚刚知道,目前自己开发中用的较多的是Java8以下,对于偏向锁的情况不是太关注。不过关于偏向锁被废弃,个人觉得是可以理解的,毕竟硬件的发展也是不断更新迭代的,在过去的硬件环境支撑下,当时的偏向锁确实能发挥最大的效用,因此才有了偏向锁的出现。而随着硬件的更新迭代,过去解决问题的思路可能并不适应现在的情况,因而偏向锁被废弃也就顺理成章了。

2、你的“八股文”知识库上次更新是什么时候?印象最深的是哪一条?

对于八股文知识库的上次更新,应该来说是半年前了吧,因为个人平时工作安排的也比较满,对于工作中用到的技术才会时时关注时时更新,而八股文作为求职必备的话,确实没有给予过多的关注。上一次更新主要是为了进行一场知识培训,培训内容就是分布式事务相关基础知识,当时参考的书是冰河著作的《深入理解分布式事务 原理与实战》,整本书内容写得很详尽,也比较通俗易懂,大家有兴趣的可以去搜一下。
另外的工作时间至于一般是研究阿里云系列的云产品,看一下具体哪些产品在自己以后的业务场景中可能用的上,就提前了解学习一下,也算丰富一下视野吧。

以下为热心网友提供的参考意见

每个技术的产生都离不开技术出现时的时代背景。偏向锁作为Java中synchronized关键字的一种优化手段,他的优势是针对同一个线程的反复访问无需加锁,这就消除了数据在没有竞争的情况下的同步操作,省去了大量关于锁申请的操作,从而提高运行时性能。
偏向锁的出现在当时肯定还是解决了不少场景的问题的,但随着技术的不断精进,无论是软件还是硬件都在不断优化提升,那么过去落后硬件产生的技术优势,在当前环境下可能就会变成劣势。
这不仅是针对偏向锁,所有的技术都是一样,都会随着他的开发环境、硬件条件等等在共同进步的。如果保持一成不变一定会被时代抛弃。

以下为热心网友提供的参考意见

你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
刚看了那篇文章才知道,我们现在jdk用的还是1.8,新版jdk的确有很多改动,对于偏向锁这个,我觉得废弃是很有必要的,毕竟现在单线程的场景非常非常少,然而每次都要从偏向锁开始升级,增加了复杂度

以下为热心网友提供的参考意见

2 我最近才更新过的,最近又大概看了一遍八股文,方便找工作,印象比较深的是 分布式事务的原理吧

以下为热心网友提供的参考意见

1这是时代的进步,也是技术的进步,是一种良性发展,偏向锁在旧时代可能有很好的性能,但是现在已经很少用到了

以下为热心网友提供的参考意见

1偏向锁适用的场景太少了,带来的性能优化相比带来的复杂度已经非常小了,所以很有必要去废除掉

以下为热心网友提供的参考意见

1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
现在的业务已经不存在单线程的业务了,所以偏向锁也就失去了存在的必要

以下为热心网友提供的参考意见

1在单核时代,偏向锁通过减少系统调用,提高单线程性能。但多核时代来了,单线程优势不再。
偏向锁适用于轻量级同步,但在高并发下容易造成优先级反转或饥饿现象,很难调试。

以下为热心网友提供的参考意见

1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
最近刷到很多博主的时候知道的,偏向锁的确应该废弃了,完全用不到呀,而且实现还很复杂

以下为热心网友提供的参考意见

1多核时代下,多线程程序越来越普遍。偏向锁在这种场景下表现不佳,这是一个技术发展的必然结果。去除偏向锁对多线程程序更友好和高效。对于大型系统来说也更易理解和调试。

以下为热心网友提供的参考意见

你的“八股文”知识库上次更新是什么时候?印象最深的是哪一条?
上次更新是上次找工作的时候,去年3月份吧,印象比较深的是mysql的事务原理那部分

以下为热心网友提供的参考意见

1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
不是很清楚,但是去了解了下,发现这个锁应用场景不广,的确可以废除,我欢迎这种让技术更加简单的做法

以下为热心网友提供的参考意见

你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
知道的,偏向锁废弃是好事,去除无用的或者用处不大的东西,让jvm更加简单

以下为热心网友提供的参考意见

1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
刚刚才知道,不过对偏向锁的理解,我原来就觉得用处不大,现在终于去掉了,也是大势所趋吧

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====