jvm
文章平均质量分 74
文盲青年
天苍苍,野茫茫,女扮男装耍流氓
展开
-
Tomcat的JVM启动参数配置
1、到Tomcat的bin目录下,打开文件catalina.bat(window),或者catalina.sh(linux),添加如下参数,然后保存:-Xmx1344M -Xms1344M -Xmn448M -XX:MaxMetaspaceSize=256M -XX:MetaspaceSize=256M -XX:+UseSerialGC2、检验是否生效启动tomcat后,然后命令行窗口中输入命令jvisualvm(打开JDK自带的JVM工具Java Visual),查看tomcat的JVM参数。原创 2022-03-31 11:28:24 · 2313 阅读 · 0 评论 -
java设置gc日志及oom的内存dump
https://www.cnblogs.com/chanshuyi/p/jvm_serial_14_jvm_param_gc_log.htmlhttps://blog.csdn.net/weixin_34223655/article/details/92944601转载 2019-11-19 19:40:30 · 1706 阅读 · 0 评论 -
G1收集器:CPU与Worker线程的关系及一次实际排查案例
目录简介生产环境中进行故障排查的困难测试和开发环境进行诊断需要注意的问题准备工作相关知识抽样分析在测试环境中进行验证在生产环境中做好监控自上而下划分 JVM 问题标准 JVM 参数配置问题排查手册以可量化的方式来进行性能调优一个简单的流程进行排查的点GC 问题排查实战案例问题现象描述CPU 负载GC 内存使用情况JVM 启动参数使用 G1 垃圾收集器长时间运行发生异常注册 GC 事件监听打印 GC 日志分析 GC 日志限制 GC 的并行线程数量总结参考文转载 2021-02-07 11:07:30 · 1072 阅读 · 0 评论 -
java垃圾回收文档整理
GC和GC Tuning作者:马士兵教育 http://mashibing.comGC的基础知识1.什么是垃圾C语言申请内存:malloc freeC++: new deletec/C++ 手动回收内存Java: new ?自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种类型的问题:忘记回收多次回收没有任何引用指向的一个对象或者多个对象(循环引用)2.如何定位垃圾引用计数(ReferenceCount)根可达算法(RootSearching)3.常原创 2021-01-12 10:13:33 · 190 阅读 · 0 评论 -
一次完整的JVM堆外内存泄漏故障排查记录
一次完整的JVM堆外内存泄漏故障排查记录转载 2020-09-10 14:59:20 · 197 阅读 · 0 评论 -
new String会创建在堆中创建几个对象?
String s=new String(),在不同的JDK版本里,请问在JDK中在堆里有多少对象?答:在jdk1.7以前,new出来的String,放在方法区中,1.7及以后,移到堆中去了。/** * @author zhoupeng */public class Main { //当前环境:jdk1.8 (1.7及以后,new的String由方法区迁移到了堆中) pub...原创 2019-12-21 11:52:51 · 715 阅读 · 0 评论 -
图解java虚拟机知识点
图解java虚拟机知识点转载 2020-09-02 14:06:58 · 180 阅读 · 0 评论 -
Java应用Top命令RES内存占用高分析
参考:Java应用Top命令RES内存占用高分析转载 2020-08-31 15:41:43 · 5846 阅读 · 0 评论 -
元空间替换持久代
https://www.cnblogs.com/williamjie/p/9558094.html转载 2020-08-11 16:05:59 · 97 阅读 · 0 评论 -
G1入门
https://blog.csdn.net/zhou2s_101216/article/details/79202893转载 2020-08-10 10:06:23 · 127 阅读 · 0 评论 -
java垃圾回收
一、垃圾回收的概念垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。Java 语言出来之前,大家都在拼命的写 C 或者 C++ 的程序,而此时存在一个很大的矛盾,C++ 等语言创建对象要不断的去开辟空间,不用的时候又需要不断的去释放控件,既要写构造函数,又...转载 2019-08-21 10:14:47 · 163 阅读 · 0 评论 -
jvm垃圾回收器
一、对象创建java中一个对象T,如果属性只有基本类型,称为标量(类似于c中的结构体),可以用几个基本类型代替该对象。一个方法中,for()…中用new Object,如果没有其他方法引用该对象,则可以将创建的对象,放在栈中,而不是放在堆中。在jdk1.0、jdk1.1、jdk1.2等很老的时期,服务器内存都很小,一般是单个GC线程工作在年轻代...原创 2020-08-04 21:09:48 · 210 阅读 · 0 评论 -
CMS流程
福哥口诀法:C初并重清(初始标记、并发标记、重新标记、并发清除)整个过程分为 4 个步骤,包括:初始标记:仅仅只是标记一下 GCRoots 能直接关联到的对象,速度很快,需要停顿(STW-Stoptheworld)。并发标记:从 GCRoot 开始对堆中对象进行可达性分析,找到存活对象,它在整个回收过程中耗时最长,不需要停顿。重新标记:为了修正并发标记期间因用户程序继续运作而导致标记产生变动的那一部分对象的标记记录,需要停顿(STW)。这个阶段的停顿时间一般 会比初始标记阶段稍长一些,但远比并发标记转载 2020-07-16 14:13:25 · 290 阅读 · 0 评论 -
JVM源码分析之MetaspaceSize和MaxMetaspaceSize的区别
https://zhuanlan.zhihu.com/p/88690824转载 2020-06-28 18:38:55 · 638 阅读 · 0 评论 -
反编译后发现代码中的成员变量前加了this
今天又在同事那里学到了知识,开心????????jvm处理后可能是这样的:发现多了个this,那么这个this有什么好处呢,其实就是提前将成员变量加载到了局部变量表中,当出现有list这种的遍历时,可以明显提升效率。在这里插入图片描述...原创 2020-06-10 15:02:18 · 418 阅读 · 0 评论 -
JVM解惑:消失的异常堆栈
https://juejin.im/post/5a77ba3c5188257a6a78a6e1#heading-0是由于多次打印同一个异常多次之后,JVM做了优化,不再打印异常栈,官网的解释如下:https://www.oracle.com/java/technologies/javase/release-notes-Introduction.html#vm...转载 2020-06-10 14:05:23 · 322 阅读 · 0 评论 -
记一次数据库连接导致JVM老生代增长过快问题排查
https://blog.csdn.net/zzb5682119/article/details/86649772转载 2020-05-09 18:13:04 · 230 阅读 · 0 评论 -
JVM的新生代、老年代、MinorGC、MajorGC
https://www.cnblogs.com/ygj0930/p/6522828.html转载 2020-03-30 14:52:19 · 196 阅读 · 0 评论 -
java打印jvm
java -XX:+PrintFlagsFinal -version该命令会打印jvm的全部参数原创 2020-03-24 20:15:52 · 545 阅读 · 1 评论