- 博客(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 511
原创 JVM 垃圾收集器面试题目
关于JVM垃圾收集器的面试题(链接) 1、简述Java垃圾回收机制 2、GC是什么?为什么要GC 3、垃圾回收的优点和原理。并考虑2种回收机制 4、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 5、Java 中都有哪些引用类型? 6、怎么判断对象是否可以被回收? 7、在Java中,对象什么时候可以被垃圾回收 8、JVM中的永久代中会发生垃圾回收吗 9、说一下 JVM 有哪些垃圾回收算法? 10、说一下 JVM 有哪些垃圾回收器? ..
2021-10-19 10:07:14 458
原创 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 105
原创 JVM 内存模型面试题目
JVM内存主要分为:程序计数器,Java虚拟机栈,本地方法栈,Java堆,方法区。 1、程序计数器: 为了线程切换能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的内存。计数器记录的是正在执行的虚拟机字节码指令的地址。 2、Java虚拟机栈: 每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表(main方法中的对象是对象引用)、操作数栈、动态链接(例如多态就要动态链接以确定引用的状态,符号引用找到符号对应地址
2021-10-19 10:05:39 2189
原创 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 365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人