- 博客(6)
- 收藏
- 关注
原创 JVM 查询基本命令
jmap -histo 14660 #查看历史生成的实例jmap -dump:format=b,file=eureka.hprof 14660 堆快照信息可以用jvisualvm命令工具导入该dump文件分析jstack + 进程id cpu最高的线程堆栈信息Jinfo查看正在运行的Java应用程序的扩展参数垃圾回收统计jstat -gc pid 最常用,可以评估程序内存使用及GC压力整体情况一、常用命令分析1. jstat -gc pid可以显示gc的信息,查看
2021-10-19 14:44:00
588
原创 JVM 垃圾收集器面试题目
关于JVM垃圾收集器的面试题(链接)1、简述Java垃圾回收机制2、GC是什么?为什么要GC3、垃圾回收的优点和原理。并考虑2种回收机制4、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?5、Java 中都有哪些引用类型?6、怎么判断对象是否可以被回收?7、在Java中,对象什么时候可以被垃圾回收8、JVM中的永久代中会发生垃圾回收吗9、说一下 JVM 有哪些垃圾回收算法?10、说一下 JVM 有哪些垃圾回收器?..
2021-10-19 10:07:14
510
原创 JVM 对象创建面试题目
什么是java对象的指针压缩?1.jdk1.6 update14开始,在64bit操作系统中,JVM支持指针压缩2.jvm配置参数:UseCompressedOops,compressed--压缩、oop(ordinary object pointer)--对象指针3.启用指针压缩:-XX:+UseCompressedOops(默认开启),禁止指针压缩:-XX:-UseCompressedOops为什么要进行指针压缩?1.在64位平台的HotSpot中使用32位指针(实际存储用64位),
2021-10-19 10:06:12
168
原创 JVM 内存模型面试题目
JVM内存主要分为:程序计数器,Java虚拟机栈,本地方法栈,Java堆,方法区。 1、程序计数器: 为了线程切换能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。计数器记录的是正在执行的虚拟机字节码指令的地址。 2、Java虚拟机栈: 每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表(main方法中的对象是对象引用)、操作数栈、动态链接(例如多态就要动态链接以确定引用的状态,符号引用找到符号对应地址
2021-10-19 10:05:39
2253
原创 JVM 类加载面试题目
jvm 类加载面试题目1、Class.forName 和 ClassLoader.loadClass 都能加载类,这两者在加载类时的区别?Class.forName有重载方法可以指定是否需要初始化,而默认的方法初始化设置为true这会初始化类执行链接和初始化操作 ClasaLoader是有类加载器的loadClass方法加载,传入的是false,只会执行连接操作,不会初始化操作Class.forName()方法实际上也是调用的CLassLoader来实现的。Class.forName(Str
2021-10-19 10:04:41
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人