开发者社区 问答 正文

偏向锁被废弃了?谈谈你背的那些“八股文”

4000积分,公牛接线板*4

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

随着技术的不断更新迭代,一些曾经被认为是“标准答案”的观点和方法,已经不再适应当前的需求,甚至被视为过时的做法。在新的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 积分的奖励。

image.png
image.png

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

获奖公告:

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

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

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

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

    2023-12-24 23:46:08
    赞同 55 展开评论 打赏
  • 八股文有些纯是应付面试的,不过通过八股文也能看出面试者对面试的重视程度和理论基础,也看公司实际找人的要求,如果只是又个干活的就行,要求不高,主要看工作经验即可

    2023-12-24 16:42:23
    赞同 52 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    前言

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

    image.png

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

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

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

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

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

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

    image.png

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

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

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

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

    image.png

    结束语

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

    2023-12-24 14:53:13
    赞同 54 展开评论 打赏
  • 无所不能的蛋蛋

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

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

    2023-12-22 21:27:16
    赞同 22 展开评论 打赏
  • 问题1:你知道偏向锁已经被废弃了吗?谈谈你对此的看法。

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

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

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

    2023-12-22 21:27:16
    赞同 15 展开评论 打赏
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

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

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

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

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

    2023-12-22 18:04:26
    赞同 6 展开评论 打赏
  • 问题总能找到解决方案的

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

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

    2023-12-21 15:40:25
    赞同 3 展开评论 打赏
  • 2 我最近才更新过的,最近又大概看了一遍八股文,方便找工作,印象比较深的是 分布式事务的原理吧

    2023-12-21 15:02:54
    赞同 4 展开评论 打赏
  • 1这是时代的进步,也是技术的进步,是一种良性发展,偏向锁在旧时代可能有很好的性能,但是现在已经很少用到了

    2023-12-21 14:53:09
    赞同 5 展开评论 打赏
  • 1偏向锁适用的场景太少了,带来的性能优化相比带来的复杂度已经非常小了,所以很有必要去废除掉

    2023-12-21 14:43:24
    赞同 4 展开评论 打赏
  • 1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
    现在的业务已经不存在单线程的业务了,所以偏向锁也就失去了存在的必要

    2023-12-21 14:26:35
    赞同 3 展开评论 打赏
  • 1在单核时代,偏向锁通过减少系统调用,提高单线程性能。但多核时代来了,单线程优势不再。
    偏向锁适用于轻量级同步,但在高并发下容易造成优先级反转或饥饿现象,很难调试。

    2023-12-21 11:55:02
    赞同 3 展开评论 打赏
  • 1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
    最近刷到很多博主的时候知道的,偏向锁的确应该废弃了,完全用不到呀,而且实现还很复杂

    2023-12-21 11:49:54
    赞同 2 展开评论 打赏
  • 1多核时代下,多线程程序越来越普遍。偏向锁在这种场景下表现不佳,这是一个技术发展的必然结果。去除偏向锁对多线程程序更友好和高效。对于大型系统来说也更易理解和调试。

    2023-12-21 11:49:55
    赞同 1 展开评论 打赏
  • 你的“八股文”知识库上次更新是什么时候?印象最深的是哪一条?
    上次更新是上次找工作的时候,去年3月份吧,印象比较深的是mysql的事务原理那部分

    2023-12-21 11:22:18
    赞同 1 展开评论 打赏
  • 1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
    不是很清楚,但是去了解了下,发现这个锁应用场景不广,的确可以废除,我欢迎这种让技术更加简单的做法

    2023-12-21 11:13:04
    赞同 1 展开评论 打赏
  • 你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
    知道的,偏向锁废弃是好事,去除无用的或者用处不大的东西,让jvm更加简单

    2023-12-21 10:49:09
    赞同 2 展开评论 打赏
  • 1、你知道偏向锁已经被废弃了吗?谈谈你对此的看法。
    刚刚才知道,不过对偏向锁的理解,我原来就觉得用处不大,现在终于去掉了,也是大势所趋吧

    2023-12-21 10:38:17
    赞同 1 展开评论 打赏
滑动查看更多
问答分类:
问答地址:
话题讨论榜
  • 1
    你是怎么使用K8s的?
    奖品池:4000积分,指尖陀螺*3,K8s技术书籍*3,社区定制鼠标垫*3
    70

    在说起k8s的一些方便之处以及强大的应用场景来说,首先需要知道什么是k8s,那么什么是k8s呢?k8s是一个为容器服务而生的一个可移植容器的编工具,是一个管理应用的全生命周期的一个工具,从创建应用,部署应用,应用提供服务,扩容缩容应用,应用更新等都非常的方便,而且遇到一个服务器挂了,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉,这就是k8s的魔力所在。 相较于传...

  • 2
    Kimi-K2-Instruct 开了挂一般的推理和调用,底层魔法是什么?
    奖品池:4000积分,小夜灯*5
    82

    从“省心”到“放心”:Kimi-K2-Instruct推理与调用的3个“贴心”技术逻辑 前几天帮刚入行的实习生做“小众香薰产品推广方案”,我故意只丢了句模糊需求:“帮我把这个产品的推广思路理清楚,顺便看看能不能落地”——没想到Kimi-K2-Instruct没追问“要哪些维度”“要什么数据”,反而先列出“市场空白点(小众香薰用户增速18%)→竞品短板(多数缺场景化营销)→推广路径(线上小红书...

  • 3
    如何利用 AI 提升数据库运维效率?
    奖品池:4000积分,淘公仔1个(随机)*5
    83

    借力AI破局数据库运维困境:从DAS Agent看智能运维的效率革命 在云数据库广泛应用的今天,运维工作早已不是“监控指标、排查故障”这么简单——面对突发的CPU突增、隐蔽的性能瓶颈,传统依赖人工经验的运维模式往往陷入“响应慢、诊断浅、优化难”的困境。而AI技术的出现,正为数据库运维注入“自治能力”,让运维从“被动救火”转向“主动保障”。阿里云DAS Agent作为融合大模型与实战经验的智能...

  • 4
    数据存储阶段,哪些小妙招有助于优化成本
    奖品池:4000积分,龙蜥钥匙扣公仔*5,手机支架*5
    76

    多元数据治理方法: 数据分类与标准化: 对数据进行分类,制定统一的数据标准和格式,确保数据的一致性和可比性。 元数据管理: 利用元数据管理工具来记录数据的属性、来源、使用情况等信息,便于数据的检索和分析。 数据质量管理: 实施数据质量控制流程,包括数据校验、清洗、去重等,确保数据的准确性和可靠性。 数据安全与合规性: 遵守数据保护法规,实施数据加密、访问控制、审计日志等安全措施。 数据目录和...

  • 5
    “数据超人”MCP工具,到底是怎么让数据‘燃’起来的?
    奖品池:4000积分,电蒸锅*3
    17

    亲历 MCP 赋能可视化 OLAP 智能体应用:重构数据分析路径,破解企业效率瓶颈 在实际操作 “MCP 赋能可视化 OLAP 智能体应用” 方案的过程中,其对传统数据分析流程的重构能力、对不同角色需求的适配性,以及在大数据场景下的稳定表现,让人切实感受到 “从数据到价值” 的转化效率提升。以下从实际体验中的核心突破点、可深化优化的方向两方面,分享具体感受: 一、核心突破点:直击传统数据分析...

  • 还有其他疑问?
    咨询AI助理