摘要: 虚拟机性能监控工具:JDK命令行工具 在JDK的bin目录中,有我们熟知的Java语言编程编译器命令“javac”以及执行命令“java”,此外里面还有一堆比较少用的命令,而其中有许多是JDK自带的性能监控和故障处理命令,下面逐一介绍,bin目录如下图所示: 名称 主要作用 jps JVM Proc 阅读全文
posted @ 2018-03-08 20:27 ken007 阅读(845) 评论(0) 推荐(0)
摘要: 一、背景 1.1 永久代(PermGen)在哪里? 根据,hotspot jvm结构如下(虚拟机栈和本地方法栈合一起了): 上图引自网络,但有个问题:方法区和heap堆都是线程共享的内存区域。 关于方法区和永久代: 在HotSpot JVM中,这次讨论的永久代,就是上图的方法区(JVM规范中称为方法 阅读全文
posted @ 2018-03-08 20:01 ken007 阅读(293) 评论(0) 推荐(0)
摘要: 说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当List还在胚胎时期时,人们就在思考GC需要完成的3件事情: 哪些内存需 阅读全文
posted @ 2018-03-08 18:25 ken007 阅读(162) 评论(0) 推荐(0)
摘要: 1、运行时栈帧结构 在Java虚拟机内存结构中介绍了虚拟机栈,也说明了栈帧是虚拟机栈的构成元素,但没有具体介绍栈帧的细节。栈帧是虚拟机栈的构成元素,每一个栈帧对应一个方法调用,入栈和出栈操作就相当于方法的调用与退出。每一个栈帧都包含了局部变量表、操作数栈、动态连接、方法返回地址和其它的附加信息。在介 阅读全文
posted @ 2018-03-08 15:41 ken007 阅读(232) 评论(0) 推荐(0)
摘要: 1,在一个类的内部(不考虑它是另一个类的派生类):很多人认为,类的成员变量是在构造方法调用之后再初始化的,先不考虑这种观点的正确性,先看一下下面的代码: [java] view plaincopy class Test01...{ public Test01(int i)...{ System.ou 阅读全文
posted @ 2018-03-08 11:51 ken007 阅读(212) 评论(0) 推荐(0)
摘要: 一、问题 请在Eclipse中新建如下类,并运行它: 你能猜到它的运行如果吗? 不错,就是如下这个样子! 错误: 在类 java.lang.Long 中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 阅读全文
posted @ 2018-03-08 10:40 ken007 阅读(157) 评论(0) 推荐(0)