
JVM
文章平均质量分 93
Java技术债务
坚决不留下一个技术债务,欢迎关注:Java技术债务!
展开
-
Java中常见性能优化策略的总结
在软件开发中,性能优化是非常重要的一环。以下是常见的性能优化策略1. 代码优化2. 数据库层面优化SQL调优架构层面的调优连接池调优3. 网络优化4. 缓存缓存分类使用场景选型考虑什么时候更新缓存?如何保障更新的可靠性和实时性?缓存是否会满,缓存满了怎么办?缓存是否允许丢失?丢失了怎么办?缓存被“击穿”问题5. 异步使用场景作用常见做法6. JVM调优什么时候调?怎么调?7. 多线程与分布式使用场景常见做法原创 2023-03-01 11:09:22 · 1783 阅读 · 0 评论 -
JVM如何判断对象无用
文章目录1、引用计数为0(已经不用了)2、可达性分析算法GC Roots枚举根节点安全点-Safepoint安全区域-Safe Region1、引用计数为0(已经不用了)给对象添加一个引用计数器,有其他地方引用时这个计数器+1,引用失效时-1,为0时就可以删除掉了。但是它不能解决循环引用的问题2、可达性分析算法不可达的对象将暂时处于“缓刑”阶段,要真正宣告一个对象死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现没有与 GC Roots 相连接的引用链,那它将会被第一次标记并且进行一.原创 2022-03-03 22:38:24 · 1048 阅读 · 0 评论 -
JVM垃圾回收算法以及垃圾回收器机制
文章目录JVM垃圾回收算法以及垃圾回收器概述判断对象是否存活垃圾回收算法标记-清除算法复制算法标记整理算法分代收集算法垃圾收集器Serial收集器ParNew收集器Parallel Scavenge收集器Parallel Old 收集器CMS 收集器G1 收集器常见的垃圾回收器组合JVM中几种GC类型JVM默认垃圾回收器JVM垃圾回收算法以及垃圾回收器概述JVM中,程序计数器、虚拟机栈、本地方法栈都是都是线程私有的,随线程而生随线程而灭,栈帧(栈中的对象)随着方法的进入和退出做入栈和出栈操作,实现了.原创 2022-02-09 19:51:01 · 1277 阅读 · 0 评论 -
JVM之配置介绍(一)
文章目录基础配置内存溢出配置回收器选择响应时间优先的并发收集器垃圾回收统计信息更多文章和干货请移驾公众号查看获取基础配置Xms2048mJVM启动时申请的最小内存,默认为系统物理内存的1/64,但是小于1GXmx2048mJVM启动时申请的最大内存,默认为系统物理内存的1/4,但是小于1G;默认当空余堆内存小于40%时,JVM会增大heap到-Xmx指定的大小;可通过XX:MinHeapFreeRation改变比例;当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过-原创 2022-01-21 20:12:02 · 1484 阅读 · 0 评论 -
OOM排查和处理
1、OOM异常:java.lang.OutOfMemoryError: Java heap spaceXms10m代表堆初始化大小为10m;Xmx10m代表堆最大为10M;XX:+PrintGCDetails代表打印日志Xms等于-XX:InitialHeapSize;-Xmx 等同于-XX:MaxHeapSize;而-Xss等同于-XX:ThreadStackSize;如果不配垃圾回收器,系统默认使用parallel scavenger和parallel old作为老年代垃圾回收器,堆原创 2022-01-20 13:36:38 · 2385 阅读 · 0 评论 -
JVM常用监控工具解释以及使用
文章目录jps进程状况工具jstat统计信息监控工具jmap堆内存使用状况jstack线程堆栈信息更多文章和干货请关注公众号jps进程状况工具jps:JVM Process Status Tooljps [options] [hostId]jps工具的主要选项optionsjstat统计信息监控工具jstat:JVM Statistics Monitoring Tool可以显示本地或者远程虚拟机进程中的类加载、内存、垃圾手机、即时编译等运行时数据。jstat [options vmid原创 2022-01-20 13:27:14 · 2092 阅读 · 0 评论 -
JVM内存泄漏和内存溢出的原因
文章目录1 概念2 分析内存溢出可能出现的地方Java栈Metaspace堆2 分析内存泄漏的原因1、静态集合类:容器使用时引起的内存泄漏2、各种连接时:未正确使用close()方法导致的内存泄漏3、外部模块的引用4、单例模式更多文章和干活请关注公众号1 概念内存泄漏:分配出去的内存没有被回收回来,失去对内存区域的控制,造成资源的浪费,比如:new出来了对象并没有引用,垃圾回收器不会回收他,造成内存泄漏内存溢出:程序所需要的内存超出了系统所能分配的内存。2 分析内存溢出可能出现的地方从 J原创 2022-01-20 13:02:48 · 2954 阅读 · 0 评论