摘要: 命令行工具 1. jps 虚拟机进程状况工具(JVM Process Status Tool) 功能与unix的ps类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称,以及这些进程的本地虚拟机实例的唯一ID。 jps命令格式: jps [options] [hostid] Options:阅读全文
posted @ 2018-11-06 23:30 shanhm1991.163.com 阅读(45) 评论(0) 编辑
摘要: 待续阅读全文
posted @ 2018-11-06 16:40 shanhm1991.163.com 阅读(1) 评论(0) 编辑
摘要: GC日志分析 每一种收集器的日志形式都是由它们自身的实现所决定,虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共性。 最前面的数字0.097、0.098,代表GC发生的时间,这个数字的含义是Java虚拟机启动以来经过的秒数。 开?#36820;腫GC、[Full GC是?#24471;?#36825;次垃圾收集的停顿类?#20572;?a href="http://www.69561603.com/shanhm1991/p/9916166.html" class="c_b_p_desc_readmore">阅读全文
posted @ 2018-11-06 16:38 shanhm1991.163.com 阅读(178) 评论(0) 编辑
摘要: 待续阅读全文
posted @ 2018-11-06 16:31 shanhm1991.163.com 阅读(1) 评论(0) 编辑
摘要: 待续阅读全文
posted @ 2018-11-06 16:30 shanhm1991.163.com 阅读(3) 评论(0) 编辑
摘要: 1. 标记 - 清除算法 首先标记出所?#34892;?#35201;回收的对象,在标记完成后再统一回收。它的标记过程其实基于上面的可达性分析算法。之所以说这是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其不足进行改进而得到的。它的不足有两个: 标记和清除过程效率不高; 标记清除之后会产生大量不连续的内存碎片,阅读全文
posted @ 2018-11-06 16:03 shanhm1991.163.com 阅读(5) 评论(0) 编辑
摘要: java内存运行时的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不絮地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来?#26412;?#24050;知的(尽管JIT编译器会进行一些优化,但大体可认为是编译期可预知的),因此这个几个区阅读全文
posted @ 2018-11-06 14:19 shanhm1991.163.com 阅读(9) 评论(0) 编辑
摘要: 在java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError异常的可能。 java堆溢出 java堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么在对象数量达到最大堆得容阅读全文
posted @ 2018-11-05 09:58 shanhm1991.163.com 阅读(26) 评论(0) 编辑
摘要: 对象的创建 虚拟机遇到一条new指令时,首先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务等同于把一块确定阅读全文
posted @ 2018-11-05 09:40 shanhm1991.163.com 阅读(10) 评论(0) 编辑
摘要: Java技术体?#30340;?#22359;图 java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以?#26696;?#33258;的创建和销毁时间,有的区域随虚拟机进程的启动而存在,?#34892;?#21306;域则依赖用户线程的启动和结束而建立和销毁。 程序计数器 是一块较小的内存空间,它可以看作是当前线程所阅读全文
posted @ 2018-11-05 02:14 shanhm1991.163.com 阅读(21) 评论(0) 编辑
耐克篮球多少钱