浩浩 浩浩
5年前
JVM--指令重排序+volatile关键字
volatile关键字1、volatile翻译为不稳定的,容易改变的。意思很明确,如果使用volatile定义一个变量,意思就是可能该变量改变频繁,并且设计到多线程访问问题。2、不过现在jdk的synchronized关键字性能已经足够出色,也提供了多种Lock类,因此volatile关键字能实现的功能jdk的同步方法都能够实
Wesley13 Wesley13
4年前
Java并发编程原理与实战十二:深入理解volatile原理与使用
volatile:称之为轻量级锁,被volatile修饰的变量,在线程之间是可见的。可见:一个线程修改了这个变量的值,在另一个线程中能够读取到这个修改后的值。synchronized除了线程之间互斥之外,还有一个非常大的作用,就是保证可见性。以下demo即保证a值的可见性。首先来看demo:!复制代码(https://oscimg.osc
Stella981 Stella981
4年前
JVM 判断对象已死,实践验证GC回收
持续坚持原创输出,点击蓝字关注我吧!(https://oscimg.oschina.net/oscnet/0ebff09c323c432a80ec04c08b22b0d4.png)作者:小傅哥博客:https://bugstack.cn❝沉淀、分享、成长,让自己和他人都能有所收获!😜❞
Stella981 Stella981
4年前
JVM源码分析之Attach机制实现完全解读
本文来自:PerfMa技术社区(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fclub.perfma.com)PerfMa(笨马网络)官网(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.
Stella981 Stella981
4年前
SpringBoot 深度调优,JVM 调优(深度好文)
!(https://oscimg.oschina.net/oscnet/a6bb2fbe1d0246a2b44a0fb01d4071ef.jpg)作者:星朝cnblogs.com/jpfss/p/9753215.html项目调优作为一名工程师,项目调优这事,是必须得熟练掌握的事情。
Stella981 Stella981
4年前
JVM系列九(虚拟机性能监控工具
一、写在前面上一篇文章(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fjmcui%2Fp%2F12495341.html)我们介绍了性能监控的一些命令,包括jmap(生成堆存储快照)和jstack(生成线程快照),事实上,在
Wesley13 Wesley13
4年前
Uber 开源分布式追踪工具:JVM Profiler
《JVMProfiler:AnOpenSourceToolforTracingDistributedJVMApplicationsatScale》(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Feng.uber.com%2Fjvmprofiler)
Stella981 Stella981
4年前
JVM学习总结(六)内存分配与回收策略
_对象优先在新生代Eden区中分配_当Eden区没有足够空间进行分配时,虚拟机将发起一次MinorGC,虚拟机提供了XX:PrintGCDetails这个收集器日志参数。MinorGC与FullGC比较:新生代GC(MinorGC)指发生在新生代的垃圾回收,Java对象大多具备朝生熄灭的特性,所以MinorGC非常频
Stella981 Stella981
4年前
JVM调优总结(这个总结得比较全面)
1.堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32bt还是64bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在WindowsServer2003系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
浅析JVM GC配置指南 | 京东云技术团队
本文旨在简明扼要说明各回收器调优参数,如有疏漏欢迎指正。1、JDK版本以下所有优化全部基于JDK8版本,强烈建议低版本升级到JDK8,并尽可能使用update191以后版本。2、如何选择垃圾回收器响应优先应用:面向C端对响应时间敏感的应用,堆内存8G以上建