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

【简介】

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

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

点击查看原文 >>

@技术头条 2021-06-13 23:06 / 原作者微博:@Java译站 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
大批量动画模型的优化 (blog.codingnow.com)
最近和公司一个开发团队探讨了一下他们正在开发的游戏中遇到的性能问题,看看应该如何优化。这个游戏的战斗场景想模仿亿万僵尸(They are billions)的场景。在亿万僵尸中,场景中描绘了上万的僵尸潮,但我们这个游戏,超过 500 个僵尸就遇到了性能问题。固然,手机的硬件性能比不上 PC ,但 500 这个数量级还是略低于预期。

对于游戏中大量类似的动画物体,肯定有方法可以优化。
by @技术头条 2024-05-05 23:26 查看详情
大众点评内容搜索算法优化的探索与实践 (tech.meituan.com)
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。
by @技术头条 2024-03-31 21:14 查看详情
聊聊 Go 的边界检查消除技术 (colobu.com)
在翻译的从慢速到SIMD一文中, SourceGraph工程师其中的一个优化就是边界检查消除(BCE,bounds check elimination)技术,同时他也抛给了读者一个问题:

为啥在使用 a[i:i+4:i+4] 而不是 a[i:i+4]?

本文第一部分先回答这个问题。 第二部分介绍更好的边界检查消除方法。 第三部分再全面梳理Go的边界检查消除技术。
by @技术头条 2024-03-21 23:00 查看详情
通过漫游交换进行隐蔽访问的新型后门 GTPDOOR 分析 (paper.seebug.org)
GTPDOOR 是一种基于 Linux 的恶意软件,旨在部署在邻近 GRX(GPRS 交换网络)的电信网络系统中,具有通过GTP-C(GPRS 隧道协议- 控制平面)信令消息传递 C2 流量的功能。这使得 C2 流量能够与正常流量混合,并重新利用可能对 GRX 网络开放且暴露的已允许端口。
by @技术头条 2024-03-12 22:49 查看详情
JVM内存问题排查流程 (l1n.wang)
首先确认问题现象,可以通过服务状态,监控面板、日志信息、监控工具(VisualVM)等,确认问题类型:
1、内存使用率居高不下、内存缓慢增加、OOM等;
2、频繁GC:Full GC等;
发现问题不建议重启,留存状态。
by @技术头条 2024-03-12 22:26 查看详情
HTTPS通信过程分析 (l1n.wang)
为什么需要HTTPS?HTTP缺点: 1. 明文传输; 2.C/S两端不存在验证机制,无法确认对方身份,可能存在中间人攻击。
by @技术头条 2024-01-17 23:09 查看详情
JVM 剖析花园:2 - 透明大页 (www.diguage.com)
大页面是提高应用程序性能的简单技巧。Linux 内核中的“透明大页”功能使其更易于使用。JVM 中的“透明大页”支持使其易于选择。尝试大页面总是一个好主意,尤其是当你的应用程序有大量数据和大堆时。
by @技术头条 2024-01-14 19:21 查看详情
JVM 剖析花园:1 - 锁粗化及循环 (www.diguage.com)
虽然锁粗化并不适用于整个循环,但另一种循环优化方法—​循环展开—​为常规锁粗化创造了条件,一旦中间表示开始看起来好像有 N 个相邻的锁-解锁序列,就可以进行锁粗化。这不仅能带来性能上的优势,还有助于限制粗化的范围,避免对过大的循环进行过度粗化。
by @技术头条 2024-01-14 19:21 查看详情
Nginx日志分析-MIME types (ixyzero.com)
Nginx日志的分析,尤其是加白,在不是特别清楚功能和作用的情况下,还是应该细粒度的操作,比如先按照Content-Type加白,就比按照domain维度的加白粒度会更细一点,比按照uri来加白要更方便和准确一点。简单记录一下,方便后面有需要的时候参考。
by @技术头条 2024-01-14 18:57 查看详情
QUIC协议解析与DDoS攻击分析 (blog.nsfocus.net)
QUIC(Quick UDP Internet Connections)协议是一种基于UDP的新型可靠传输协议,目前主要用于HTTP/3.0。近年来,现网中逐步发现了一些基于QUIC协议的DDoS攻击痕迹,并且友商也已经开始了关于QUIC协议的DDoS攻防相关研究。因此,ADS团队针对该协议进行了一系列的分析和实验,为相关的DDoS攻击防御技术研究打下基础。
by @技术头条 2024-01-13 23:43 查看详情