
J2EE
江畔独步
这个作者很懒,什么都没留下…
展开
-
synchronize底层实现原理以及相关的优化
首先来说下synchronize和Lock的区别:两者都是锁,用来控制并发冲突,区别在于Lock是个接口,提供的功能更加丰富,除了这个外,他们还有如下区别:synchronize自动释放锁,而Lock必须手动释放,并且代码中出现异常会导致unlock代码不执行,所以Lock一般在Finally中释放,而synchronize释放锁是由JVM自动执行的。Lock有共享锁的概念,所以可以设置读写锁提高效率,synchronize不能。(两者都可重入)Lock可以让线程在获取锁的过程中响应中断,而sy转载 2020-05-13 23:07:27 · 283 阅读 · 0 评论 -
jconsole.exe无法连接到JMX的一种解决方案
今日排查一个递归导致的StackOverflow 问题时, 尝试用jconsole.exe连到 IDEA 中跑的java程序所在的进程ID时, 一直报连接错误, 如下:重试几次都没什么效果, 遂尝试使用如下jmx配置参数进行调试, 可以通过测试.核心配置参数如下:# 设置jmx远程配置-Dcom.sun.management.jmxremote # 设置jmx远程配置的port-D...原创 2020-04-16 18:45:33 · 937 阅读 · 0 评论 -
FastThreadLocal吞吐量居然是ThreadLocal的3倍
以下文章来源于匠心零度,作者零度冰炫匠心零度以匠心,铸非凡!看零度如何一步一步实践过来,java技术干货及实践(重点分享JVM、并发、全链路调优)及一些感悟,内容多为原创,欢迎关注!接着上次手撕面试题ThreadLocal!!!面试官一听,哎呦不错哦!本文将继续上文的话题,来聊聊FastThreadLocal,目前关于FastThreadLocal的很多文章都有点老有点过时了...转载 2020-01-21 16:44:19 · 290 阅读 · 0 评论