JVM优化之逃逸分析及锁消除 (it.deepinmind.com)

【简介】

逃逸分析——我们在上一篇文章中所介绍的由编译器完成的一项的分析技术——使得删除锁的优化成为了可能。如果它能确认某个加锁的对象不会逃逸出局部作用域,就可以进行锁删除。这意味着这个对象同时只可能被一个线程访问,因此也就没有必要防止其它线程对它进行访问了。这样的话这个锁就是可以删除的。这个便叫做锁消除,本文是JVM实现机制的系列文章,这也正是今天要讲的主题。

众所周知,java.lang.StringBuffer是一个使用同步方法的线程安全的类,它可以用来很好地诠释锁消除。StringBuffer是Java1.0的时候开始引入的,可以用来高效地拼接不可变的字符串对象。它对所有append方法都进行了同步操作,以确保当多个线程同时写入同一个StringBuffer对象的时候也能够保证构造中的字符串可以安全地创建出来。

点击查看全文 >>

@技术头条 2021-06-13 23:06分享 / 原作者微博:@Java译站 / 0个评论
赞过的人: IT技术博客大学习
要不要再学学下面的文章?
如何优化您的日常决策(翻译) (forum.lovejade.cn)
当今的生活和工作都是快节奏的,人们每天都会遇到各种各样的事情,并需要做出做相应的决策:哪些事情先做,哪些事情后做,哪些事情应该做,哪些事情不应该做。前些天有读到一篇文章:How to Optimize Your Daily Decisions,作者所做的思考,以及给出的建议,不仅通俗易懂,而且也方便用于日常工作、生活。因此有翻译成中文,分享给有需要的朋友;以下是原文。
by @杨琼璞 2021-07-05 16:52 分享 查看详情
我把 Android 10 手势导航的侧滑返回效果优化了一波 (mp.weixin.qq.com)
Android 10 中引入了手势导航功能,向IOS看齐了一步,但是默认的这个侧滑返回效果实在是差强人意,效果如下:
by @code小生 2021-06-27 13:19 分享 查看详情
Docker镜像优化:从1.16GB到22.4MB (mp.weixin.qq.com)
Docker 是一个供软件开发人员和系统管理员使用容器构建、运行和与分享应用程序的平台。容器是在独立环境中运行的进程,它运行在自己的文件系统上,该文件系统是使用 docker 镜像构建的。镜像中包含运行应用程序所需的一切(编译后的代码、依赖项、库等等)。镜像使用 Dockerfile 文件定义。
by @code小生 2021-06-27 13:12 分享 查看详情
如何优化您的日常决策(翻译) (forum.lovejade.cn)
当今的生活和工作都是快节奏的,人们每天都会遇到各种各样的事情,并需要做出做相应的决策:哪些事情先做,哪些事情后做,哪些事情应该做,哪些事情不应该做。前些天有读到一篇文章:How to Optimize Your Daily Decisions,作者所做的思考,以及给出的建议,不仅通俗易懂,而且也方便用于日常工作、生活。因此有翻译成中文,分享给有需要的朋友
by @杨琼璞 2021-06-22 21:22 分享 查看详情
iOS App 启动优化 (mp.weixin.qq.com)
App的启动一般是指从用户点击App开始到AppDelegate的didFinishLaunching方法执行完成为止,一般又将启动分为冷启动和热启动。
by @code小生 2021-06-14 13:31 分享 查看详情
洋葱式信息安全观察:溯源(归因分析)与机器学习 (www.sec-un.org)
回顾往年的攻击事件,有报道称韩国平昌冬奥会APT攻击事件导致了奥运会网站的宕机和网络中断。

根据开源情报,该事件攻击者的归属问题,至今未有定论。在事件中攻击者使用的植入载荷Olympic Destroyer,其相关代码与Lazarus曾使用的载荷有部分相似,而美国部份媒体则声称该事件为俄罗斯情报机构实施并嫁祸给朝鲜。

该事件再一次展现了APT攻击者利用和模仿其他组织的攻击技术和手法特点,制造false flag以迷惑安全分析人员并误导其做出错误的攻击来源归属的判断。

网络攻击者,其手法随着不同的组织、个人的能力以及外部环境而多变,是否有一种通用的方法来进行综合分析,作为归因分析的指导呢?

狡猾的狐狸总是懂得隐藏自己,甚至嫁祸于他人。然而,“凡有接触,必留痕迹”,判断一起攻击所属的国家、地区、组织、黑客团体,通常需要所结合已知知识(威胁情报)和具体的攻击细节进行对比分析,最后做出结论。以下介绍几个常用的分析切入点。
by @技术头条 2021-06-13 23:26 分享 查看详情
JVM优化之逃逸分析与分配消除 (it.deepinmind.com)
在Java Magazine的前几期文章中,我们介绍了just-in- time (JIT) 编译技术的一些理论基础,以及如何使用Java Microbenching Harness(JMH)和开源工具JITWatch来进行可视化分析,以便搞清楚HotSpot VM的内部机制。在这期文章中,我们将要深入介绍一下逃逸分析(escape analysis)技术,这是JVM最有意思的优化手段之一。逃逸分析是JVM的一项自动分析变量作用域的技术,它可以用来实现某些特殊的优化,后续我们也会分析下这些优化。在开始之前,你只需要掌握一些HotSpot JVM的基本工作原理就可以了。
by @技术头条 2021-06-13 23:06 分享 查看详情
SIGIR 2021 | 广告系统位置偏差的CTR模型优化方案 (tech.meituan.com)
近些年来,由于人工智能技术的高速发展,所带来的公平性问题也愈发受到关注。同样的,广告技术也存在着许多公平性问题,由于公平性问题造成的偏差对广告系统的生态会产生较大的负面影响。广告系统通过累积的用户交互反馈数据基于一定的假设去训练模型,模型对广告进行预估排序展示给用户,用户基于可看到的广告进行交互进而累积到数据中。在该环路中,位置偏差、流行度偏差等各种不同类型的偏差会在各环节中不断累积,最终导致广告系统的生态不断恶化,形成“强者愈强、弱者愈弱”的马太效应。

由于偏差对广告系统和推荐系统的生态有着极大的影响,针对消除偏差的研究工作也在不断增加。比如国际信息检索会议SIGIR在2018年和2020年组织了一些关注于消除偏差主题的专门会议,同时也给一些基于偏差和公平性的论文颁发了最佳论文奖(Best Paper)。KDD Cup 2020的其中一个赛道也基于电子商务推荐中的流行度偏差进行开展。
by @技术头条 2021-06-13 22:45 分享 查看详情
洞见RSAC | 生物行为识别技术在社工诈骗中的应用分析与探索 (blog.nsfocus.net)
人为因素才是安全的软肋,有意、无意的行为可造成潜在的威胁或者一连串的后果。2021年DBIR数据泄露报告(Data Breach Investigations Report)中提到85%的数据泄露涉及人的因素。社工攻击正是利用人的因素,引导操纵人们采取行动或泄露机密信息,以达到收集信息、欺诈或访问系统等目的的“骗局”。
by @技术头条 2021-06-13 22:41 分享 查看详情
京喜APP - 图片库优化 (mp.weixin.qq.com)
京喜APP早期开发主要是快速原生化迭代替代原有H5,提高用户体验,在这期间也积累了不少性能问题。之后我们开始进行一些性能优化相关的工作,本文主要是介绍京喜图片库相关优化策略以及关于图片相关的一些关联知识。
by @code小生 2021-05-30 11:34 分享 查看详情