随笔分类 -  java虚拟机

内存泄漏排查流程
摘要:1、使用top -c 查看 CPU 占用高的进程: ,从 top 命令的结果看,19272 号进程 CPU 占用率最高,基本确定问题是该进程引起,可以从 Command 栏看到这正是算法模块程序,注意图是线下4C机器上复现时的截图。 2、使用ps -mp pid -o THREAD,tid,time 阅读全文

posted @ 2020-10-25 16:16 潮流教父孙笑川 编辑

类加载器,双亲委派,破坏双亲委派机制的方法,SPI(服务提供者接口)
摘要:类加载器总结 JVM 中内置了三个重要的 ClassLoader,除了 BootstrapClassLoader 其他类加载器均由 Java 实现且全部继承自java.lang.ClassLoader: BootstrapClassLoader(启动类加载器) :最顶层的加载类,由C++实现,负责加 阅读全文

posted @ 2020-09-02 21:09 潮流教父孙笑川 编辑

Java中的强引用,软引用,弱引用,虚引用有什么用?
摘要:https://www.zhihu.com/question/37401125/answer/100981172 1、 强引用是使用最普遍的引用:Object o=new Object(); 特点:不会被GC 将对象的引用显示地置为null:o=null; // 帮助垃圾收集器回收此对象 举例Arr 阅读全文

posted @ 2020-08-06 22:50 潮流教父孙笑川 编辑

jvm常用命令
摘要:1、查看当前jvm参数配置 java -XX:+PrintCommandLineFlags -versionC:\Users\> java -XX:+PrintCommandLineFlags -version-XX:InitialHeapSize=265308992 -XX:MaxHeapSize 阅读全文

posted @ 2020-07-27 22:56 潮流教父孙笑川 编辑

arthas jvm调优工具
摘要:arthas 工具,不用端口号 jvmPI接口 dashboard 仪表盘 查看大致情况,最繁忙的线程+内存情况 老年代一直增加则有问题 jvm 查看回收算法等 thread 查看具体线程状态 thread 线程id 查看线程信息 thread pid thread -b 查看死锁block thr 阅读全文

posted @ 2020-07-27 22:55 潮流教父孙笑川 编辑

垃圾回收算法(方法论) 10种垃圾回收器的组合(具体实现) 默认PS+PO
摘要:1、标记-清除算法(老年代使用) 标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象 效率问题 空间问题(标记清除后会产生大量不连续的碎片) 2、复制算法 它可以将内存分为的两块,每次使用其中的一块。当这一块的内存使用完后,就将还存活的对象复制到另一块去,然后再把使用的空间一次清理掉。这 阅读全文

posted @ 2020-07-27 22:51 潮流教父孙笑川 编辑

JVM调优
摘要:一、参数基本策略 各分区的大小对GC的性能影响很大。如何将各分区调整到合适的大小,分析活跃数据的大小是很好的切入点。 活跃数据的大小是指,应用程序稳定运行时长期存活对象在堆中占用的空间大小,也就是Full GC后堆中老年代占用空间的大小。可以通过GC日志中Full GC之后老年代数据大小得出,比较准 阅读全文

posted @ 2020-06-16 21:46 潮流教父孙笑川 编辑

JVM垃圾回收机制(主要发生在堆内存空间) 分配担保机制 引用计数和root搜索 两次标记
摘要:参考:https://github.com/Snailclimb/JavaGuide#jvm Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap).从垃圾回收的角度,由于现在收集器基本都采用分代垃圾收集算法,所以 Java 堆还可以细分为:新生 阅读全文

posted @ 2020-03-15 09:44 潮流教父孙笑川 编辑

对象的创建过程。类加载机制。基本数据包装类的缓存技术
摘要:1、类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 补充:类加载机制:三步:加载->连接(验证->准备->解析)->初始化。 a.加载: 阅读全文

posted @ 2020-03-15 08:30 潮流教父孙笑川 编辑

Java内存区域
摘要:1、分类 线程私有的: 程序计数器 虚拟机栈 本地方法栈 线程共享的: 堆 方法区(1.8改为元空间,元空间使用直接内存) 直接内存 (非运行时数据区的一部分) 2、介绍 程序计数器:当前线程所执行的字节码的行号指示器。 作用:a.过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行 阅读全文

posted @ 2020-03-15 08:25 潮流教父孙笑川 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示