![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
坤少_jkson
别再用廉价的勤奋掩饰你的懒惰
展开
-
java agent技术
背景: 主流的APM开源框架如Pinpoint、SkyWalking等等都是基于javaAgent和字节码操作框架(如ASM,javassist)技术开发的,这种方式相当于在JVM级别做了AOP支持,这样我们可以在不修改应用程序的基础上就做到了AOP,比如统计某个方法执行需要的时间,不修改源代码的方式就能实现 思维导图: 相关资料参考: 1. Java agent原理 2.Java Instrument技术问答 3.Java程序员必知:深...原创 2021-03-13 17:13:23 · 162 阅读 · 0 评论 -
从 Java 内存模型看内部细节
写在前面Java 内存模型简称 JMM,其实是一个抽象模型,并非具体的存在。如上图想表达的,线程的读写都是直接跟 work memory 打交道,CPU 会通过一种机制将数据 flush 到 main memory 中。那么在 flush 发生之前,不同 CPU 之间就会出现可见性的问题,这很好理解。熟悉 Java 的大概都知道volatile关键字是用来解决内存可见性和指令重排序问题的,我们往往知道这两点,但却不知道其中的关联。关于 volatile 也有很多人误认为这是 Java 的特色..转载 2020-11-27 00:01:03 · 213 阅读 · 1 评论 -
JVM优化分析笔记
1.前言我们的Java应用一般会配置JVM参数,比如GC策略,Java堆大小等等,当系统遇到问题是,我们可以通过jmap查看堆内对象示例的统计信息,通过jstack命令可以继续查看该线程当前的堆栈状态,通过jstat命令可以查看堆内存各部分的使用量,以及加载类的数量等各种指标,通过JVisualVM来查库JVM的运行信息包括线程和内存使用情况,还可以设置参数打印GC日志,-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/export/Logs/...原创 2020-05-27 00:40:35 · 230 阅读 · 0 评论 -
JVM笔记
1. JVM虚拟机常见种类如:HotSpot VM,JRockit,J9,Azul VM,Liquid VM,Dalvik VM,Microsoft JVM2. 垃圾回收简介垃圾收集(Garbage Collection)的意思就是 —— 找到垃圾并进行清理。但现有的垃圾收集实现却恰恰相反: 垃圾收集器跟踪所有正在使用的对象,并把其余部分当成垃圾 ,JVM明确定义了什么是对象的可达性(...原创 2020-01-29 14:32:56 · 1194 阅读 · 0 评论