合集-JVM

摘要:一、什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个 阅读全文
posted @ 2018-06-23 18:16 yifanSJ 阅读(192) 评论(0) 推荐(0) 编辑
摘要:对象-> 实例->引用值 intern()方法的用途 关于字符串String中的intern方法,是当前的字符对象(通过new出来的对象)可以使用intern方法从常量池中获取,如果常量池中不存在该字符串,那么就新建一个这样的字符串放到常量池中。 使用常量池的方法一个是通过双引号定义字符串例如:St 阅读全文
posted @ 2018-08-31 09:20 yifanSJ 阅读(185) 评论(0) 推荐(0) 编辑
摘要:一、 技术背景你要了解吧 按照套路是要先装装X,谈谈JVM垃圾回收的前世今生的。说起垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。设计和优化C++这门语言的专家们要长点心啦~~ 阅读全文
posted @ 2022-06-01 16:52 yifanSJ 阅读(99) 评论(0) 推荐(0) 编辑
摘要:一、内存泄露 由于不能正常进行垃圾回收,占用的内存一直不会被清除,例如:拥有一块20字节的内存空间,你将30字节的文件写入其中,就会造成内存溢出。由于内存泄漏,最终会导致内存溢出(OOM),导致系统崩溃 二、内存溢出 是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory; 阅读全文
posted @ 2022-06-09 21:56 yifanSJ 阅读(134) 评论(0) 推荐(0) 编辑
摘要:1. jstat jstat -gcutil 67008 5s 3 S0:第一个幸存区的使用百分比。在你的数据中,第一个幸存区(Survivor 0)的使用率为 25.00%。 S1:第二个幸存区的使用百分比。在你的数据中,第二个幸存区(Survivor 1)的使用率为 0.00%。 E:Eden 阅读全文
posted @ 2018-08-24 18:00 yifanSJ 阅读(374) 评论(0) 推荐(0) 编辑
摘要:1、top查找出哪个进程消耗的cpu高 top 2. 查找哪个线程消耗cpu最高 top -H -p 5918 3. 执行jstack jstack 5918 | grep -A 100 171f -A 100表示查找到所在行的后100行。5919用计算器转换为16进制171f,注意字母是小写。 4 阅读全文
posted @ 2021-05-23 12:48 yifanSJ 阅读(351) 评论(0) 推荐(0) 编辑