会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
码一段代码
博客园
首页
新随笔
联系
订阅
管理
2020年10月22日
JVM随笔记录9-OOM内存溢出
摘要: OOM内存溢出 1.metaspace内存溢出 metaspace元空间是在jvm参数中是可以设置大小的,之前有讲到元空间是存放类的一些信息,那么如果类信息太多,元空间放不下,那是不是会先出现内存溢出的情况呢,而一旦元空间内存溢出,也就意味着JVM没办法再正常运行下去了,系统直接奔溃,那么什么情况下
阅读全文
posted @ 2020-10-22 19:52 码一段代码
阅读(377)
评论(0)
推荐(0)
2020年10月19日
JVM随笔记录8-jvm调优工具说明
摘要: 本节主要记录下JVM调优中需要使用到的一些命令和工具,堆中内存配置如下: -Xms20M -Xmx20M -Xmn10M -XX:MetaspaceSize=1M -XX:MaxMetaspaceSize=1M -Xss225KB 使用下面这个代码,分别使用命令来看下堆的使用情况,这里使用的是win
阅读全文
posted @ 2020-10-19 09:01 码一段代码
阅读(149)
评论(0)
推荐(0)
2020年10月17日
JVM随笔记录7-jvm优化实例
摘要: 1.案例背景 假设有一个电商系统,高峰期每秒生成60M对象,一秒之后这60M对象变成垃圾对象,系统部署在4核8G的机器上。 2.内存分配 分配飞堆内存3G,新生代分配1.5G,那么老年代分配1.5G,元空间分配256M,每个线程的分配1M内存,如果JVM里面有几百个线程,那么就有几百M大小这样下来,
阅读全文
posted @ 2020-10-17 15:55 码一段代码
阅读(177)
评论(0)
推荐(0)
2020年10月16日
JVM随笔记录6-JVM调优参数整理
摘要: 基础参数: -Xms:java堆内存的大小 -Xmx:java堆内存的最大大小 -Xmn:java堆内存中新生代的大小,扣除新生代之后就是老年代的大小了 -XX:MetaspaceSize:元空间大小 -XX:MaxMetaspaceSize:元空间最大大小 -Xss:每个线程的大小 -XX:Sur
阅读全文
posted @ 2020-10-16 11:19 码一段代码
阅读(177)
评论(0)
推荐(0)
一整套线上故障排查技巧,爱了
摘要: 本文转载自:https://fredal.xin/java-error-check 线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是d
阅读全文
posted @ 2020-10-16 09:40 码一段代码
阅读(264)
评论(0)
推荐(0)
2020年10月15日
JVM随笔记录5-垃圾回收器G1
摘要: 垃圾回收器G1 上节中有讲到ParNew和CMS垃圾回收器,ParNew用于新生代的垃圾回收,CMS用于老年代的垃圾回收,这两个垃圾回收器最大特点在于可以并发的进行垃圾回收,但是这两个垃圾回收器或多或少还是会“stop the world”,垃圾回收器的优化都是尽量去减少“stop the worl
阅读全文
posted @ 2020-10-15 20:03 码一段代码
阅读(219)
评论(0)
推荐(0)
2020年10月13日
JVM随笔记录4-垃圾回收器ParNew+CMS
摘要: 垃圾回收器ParNew+CMS 今天记录一下垃圾回收器ParNew和CMS 1.ParNew垃圾回收器 ParNew垃圾回收器用于回收新生代的垃圾,使用的垃圾回收算法用的就是上节中说的标记复制算法,将新生代eden区中的存活对象标记出来,然后将存活对象复制到一个survive 1区中,然后将eden
阅读全文
posted @ 2020-10-13 12:05 码一段代码
阅读(546)
评论(0)
推荐(0)
2020年9月25日
JVM随笔记录3-JVM的垃圾回收算法
摘要: 上篇讲到了jvm的内存分配,这节记录一下jvm堆中新生代和老年代分别使用的垃圾算法 1.新生代 新生代使用的算法是复制算法,上节中说到新生代分为eden区和两个survivor区(S1,S2),那么新生代为什么要划分出这三个区域来呢,先从新生代的垃圾回收算法来说说这个 1.1.一种不太好的垃圾回收思
阅读全文
posted @ 2020-09-25 09:40 码一段代码
阅读(127)
评论(0)
推荐(0)
2020年9月24日
jvm随笔记录2-jvm内存(运行时数据区)
摘要: 上文说到类加载器对class文件进行加载,会将文件加载进jvm的内存中,即运行时数据区 运行时数据区又可细分为 JAVA栈、本地方法栈、程序计数器、堆、方法区(1.8前叫永久代,1.8后叫metaspace,元空间),下面主要写下对这几块区域的理解 1.方法区 主要是用于存放类的静态变量、常量、类信
阅读全文
posted @ 2020-09-24 15:32 码一段代码
阅读(142)
评论(0)
推荐(0)
JVM随笔记录1-jvm类加载器
摘要: 记录一下对jvm类加载器的理解。 jvm在启动的时候,会通过类加载器对class文件加载进jvm中,一般加载经历的过程为 加载->验证->准备->解析->初始化->使用->卸载; 加载:在代码中有使用到某个类的时候,就会加载到这个类,比如在执行某个方法时有 new Demo();这时就会对Demo类
阅读全文
posted @ 2020-09-24 09:58 码一段代码
阅读(106)
评论(0)
推荐(0)
下一页
公告