摘要:今天晚上看《深入理解java虚拟机》时,作者在书中有一段,eclipse优化的章节,其中涉及到了eclipse启动时间检测的插件开发 于是翻了翻资料,也开发了一个自己的插件 如图是开发后启动的截图 启动时间较长有13s多,接下来是我开发的过程供大家参考 第一步 新建一个plug-in Project
阅读全文
摘要:HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器 Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线
阅读全文
摘要:一、对象存活判断判断对象是否存活一般有两种方式:1.引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。2.可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走
阅读全文
摘要:在上一篇中,已经介绍了内存结构是什么样的. 这篇来介绍一下 内存是怎么分配的,和怎么回收的.(基本取自《深入理解Java虚拟机》一书) java技术体系中所提倡的自动内存管理最终可以归结为自动化的解决了两个问题--给对象分配内存以及回收分配给对象的内存.我们下面就来介绍这些是怎么自动化完成的. 下面
阅读全文
摘要:今天周六,又开始啃一遍《深入理解java虚拟机》每次读的感觉不一样,大学代码量较少,读起来也就死记硬背。 1.堆:长度可变,运行时使用的变量;存放对象(new )和数组之类; 2.栈:长度可变,在分配内存之前,固定了其大小,分配之后大小不可变。存放基本数据类型和对象引用 3.堆栈:JVM的调用链 J
阅读全文
摘要:链表 (Chain本文所说链表均为单向链表,以下均简称单向链表)实际上是由节点(Node)组成的,一个链表拥有不定数量的节点。而向外暴露的只有一个头节点(Head),我们对链表的所有操作,都是直接或者间接地通过其头节点来进行的。 节点(Node)是由一个需要储存的对象及对下一个节点的引用组成的。也就
阅读全文
摘要:二叉树的定义: 二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。 二叉树(BinaryTree)是n(n≥0)个结点的有限集,它或者是空集(n=0),或者由一个根结
阅读全文
摘要:栈的学习 栈存储数据是先进后出的形式 用java语言来实现的话如下 package com.example; import java.util.Stack; /** * @author ChenLang 模拟栈的先进后出等 */ public class StackDemo { int[] stac
阅读全文