
JVM
文章平均质量分 72
寸辰
这个作者很懒,什么都没留下…
展开
-
【性能优化】记录一次YounGC峰值优化
服务环境CPU 24核服务内存 16G问题复盘youngGC时延增大直到触发mixedGC后恢复正常如下具体GC日志如下Before MixedGC2020-01-12T19:37:30.333+0800: 192703.245: [SoftReference, 0 refs, 0.0000815 secs]2020-01-12T19:37:30.333+0800: 1927...原创 2020-03-05 19:21:50 · 1003 阅读 · 0 评论 -
【JAVA笔记——术】Java ClassLoader类加载机制详解
Java ClassLoader三种类加载器WIki : Java_ClassloaderJAVA类加载器实现了一部分 JRE加载JAVA CLASSES到 JVM 的功能。ClssLoader 实现了懒加载,并且使得JVM不必关心加载文件以及所使用的文件系统。 类加载器虽然只用于实现类的加载动作,但它在JAVA程序中所起到的作用远远不限于类加载阶段。对于任意一个类,都需要有由加载它的类加载原创 2016-05-29 21:28:16 · 3960 阅读 · 0 评论 -
【JAVA笔记——道】JAVA对象销毁
每一个对象都有两个属性: 1. Reachable可达,Finalizer-Reachable终接器-可达,Unreachable不可达 2. Unfinalized未终结,Finalizable可终结,Finlized已终结对象可达:对象被任意一个存活线程引用。对程序进行优化设计的一种方法是减少原本可达状态的对象。例如,当编译器或代码生成工具不论明确或隐性声明一个变量或者参数时,变量或参数翻译 2016-01-02 08:35:04 · 1633 阅读 · 0 评论 -
【JAVA笔记——道】并发编程CAS算法
CAS (Compare And Swap) 原子操作实现多线程同步 需要传入1.目标指针reg;2.被比较值oldval;3.更新值newval 执行过程如下Created with Raphaël 2.1.0开始int* reg, int oldval, int newval根据reg获取目标值目标值==被比较值?目标值更新为更新值结束yesno附源码如下,可以将 目标值与被比较值比较之后原创 2015-12-26 19:41:38 · 2457 阅读 · 0 评论 -
【JAVA笔记——道】对象生命周期详解
JAVA对象实例化过程因为此篇篇幅较长,单独抽出,详情请看 Class初始化理解 此篇中详细介绍了JAVA对象的实例化过程JAVA对象内存分配过程JVM 这里默认使用HotSpot虚拟机。简单回顾一下JVM内存结构,JVM中主要将使用到的内存划分为五块,其中:线程私有:虚拟机栈(VM Stack),本地方法栈(Native Method Stack),程序计数器(Program Counter原创 2016-01-06 10:56:57 · 1844 阅读 · 0 评论 -
【性能优化】记录一次性能瓶颈分析过程
近期接手了一个模型服务性能瓶颈分析的工作,有些许收获,记录如下。QPS 分析该服务之前未做过吞吐量分析,因此首先对该模型做压测,分析服务具体吞吐量。笔者这里选用jmeter做压测分析。设置http请求30种,覆盖全部模型结果,整体测试实际30s。60Request/s * 30s70Request/s * 30s80Per/s * 30s从压测结果来看,请求量=70次/s的时候,服...原创 2019-07-04 13:21:22 · 847 阅读 · 1 评论