jvm
cenghaihengliu
这个作者很懒,什么都没留下…
展开
-
26-生产环境如何排除和优化 JVM?
通过前面几个课时的学习,相信你对 JVM 的理论及实践等相关知识有了一个大体的印象。而本课时将重点讲解 JVM 的排查与优化,这样就会对 JVM 的知识点有一个完整的认识,从而可以更好地应用于实际工作或者面试了。我们本课时的面试题是,生产环境如何排查问题?典型回答如果是在生产环境中直接排查 JVM 的话,最简单的做法就是使用 JDK 自带的 6 个非常实用的命令行工具来排查。它们分别是:jps、jstat、jinfo、jmap、jhat 和 jstack,它们都位于 JDK 的 bin 目录下,可以使原创 2020-06-23 15:38:00 · 356 阅读 · 0 评论 -
25-你用过哪些垃圾回收器?它们有什么区别?
上一课时我们讲了垃圾回收的理论知识,而本课时将介绍这些理论知识的具体实践。垃圾回收器也叫垃圾收集器,不同的厂商对垃圾收集器的实现也是不同的,这里主要介绍目前使用最广泛的 OracleJDK 中自带的 HotSpot 虚拟机中的几个垃圾收集器。我们本课时的面试题是,你用过哪些垃圾回收器?它们有什么区别?典型回答《Java 虚拟机规范》并没有对垃圾收集器的具体实现做任何的规定,因此每家垃圾收集器的实现方式都不同,但比较常用的垃圾回收器是 OracleJDK 中自带的 HotSpot 虚拟机。HotSpot原创 2020-06-23 15:19:52 · 375 阅读 · 0 评论 -
24-垃圾回收算法有哪些?
说到 Java 虚拟机不得不提的一个词就是**“垃圾回收”(GC,Garbage Collection)**,而垃圾回收的执行速度则影响着整个程序的执行效率,所以我们需要知道更多关于垃圾回收的具体执行细节,以便为我们选择合适的垃圾回收器提供理论支持。我们本课时的面试题是,如何判断一个对象是否“死亡”?垃圾回收的算法有哪些?典型回答垃圾回收器首先要做的就是,判断一个对象是存活状态还是死亡状态,死亡的对象将会被标识为垃圾数据并等待收集器进行清除。判断一个对象是否为死亡状态的常用算法有两个:引用计数器算法原创 2020-06-23 15:19:09 · 481 阅读 · 0 评论 -
23-说一下 JVM 的内存布局和运行原理?
JVM(Java Virtual Machine,Java 虚拟机)顾名思义就是用来执行 Java 程序的“虚拟主机”,实际的工作是将编译的 class 代码(字节码)翻译成底层操作系统可以运行的机器码并且进行调用执行,这也是 Java 程序能够“一次编写,到处运行”的原因(因为它会根据特定的操作系统生成对应的操作指令)。JVM 的功能很强大,像 Java 对象的创建、使用和销毁,还有垃圾回收以及某些高级的性能优化,例如,热点代码检测等功能都是在 JVM 中进行的。因为 JVM 是 Java 程序能够运行的原创 2020-06-23 15:18:36 · 222 阅读 · 0 评论 -
JVM-字节码
字节码测试1public class MyTest1{ private int a=1; public int getA(){ return a; } public void setA(int a){ this.a=a; }}使用反编译命令:javap -verbose MyTest,生成以下数据Classf...原创 2020-04-25 16:05:43 · 233 阅读 · 0 评论 -
JVM-类加载机制(2)
JVM-类加载机制(2)关于命名空间重要说明:类加载器双亲委托模型的好处:类加载器本身也是类加载器,类加载器又是谁加载的呢??测试11class Parent3{ static int a = 3; static { System.out.println("Parent3 static block"); } static void ...原创 2020-04-18 22:10:00 · 116 阅读 · 0 评论 -
JVM-类加载机制(1)
JVM-类加载机制(1)类加载类加载器深入剖析:类的加载、连接与初始化类从磁盘上加载到内存中要经历五个阶段:加载、连接、初始化、使用、卸载类的加载详解:类加载器的父亲委托机制类加载class loading在java代码中,类的加载、连接和初始化都是在程序运行期间完成的。(类从磁盘加载到内训中经理的三个阶段)提供了更大的灵活性,增加了更多的可能性。类加载器深入剖析:Java虚拟机与...原创 2020-04-10 23:12:22 · 97 阅读 · 0 评论