摘要: Executor顶层接口。 ExecutorService继承Executor接口。 AbstractExecutorService抽象类,继承ExecutorService接口。 ThreadPoolExecutor 线程池和ForkJoinPool两者都继承AbstractExecutorSer 阅读全文
posted @ 2019-03-07 16:52 HusterHuwentao 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 加载阶段:在加载阶段虚拟机要完成以下三件事情: (1)通过一个类的全限定名来获取定义此类的二进制字节流。 (2)将这个字节流所代表的的静态存储结构转化为方法区的运行时数据结构。 (3)在java堆中生成一个代表这个类的java.lang.Class对象,作为方法区这个数据的访问入口。 加载阶段是开发 阅读全文
posted @ 2018-07-20 10:26 HusterHuwentao 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 在类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块被称为“类加载器”。任意一个类都需要加载它的类加载器和这个类本身一同确立其在java虚拟机中的唯一性。两个类的加载他们的类加载器 阅读全文
posted @ 2018-07-20 10:26 HusterHuwentao 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 类加载的时机 类在虚拟机内存中的生命周期分为七个阶段: 加载(Loading): 验证(Verification) 准备(Preparation) 解析(Resolution) 初始化(Initialization) 使用(Using) 卸载(Unloading) 加载、验证、准备、初始化、卸载的顺 阅读全文
posted @ 2018-07-20 10:24 HusterHuwentao 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 输入参数N为台阶数,斐波那契数列的变形 问题描述:可以上一级,上两级和上三级,问有多少种方法走完N阶台阶。 解法思路:一级:1种走法。 二级:可以是1-1,2。共两种走法 三级:可以是1-1-1,1-2,2-1,3。共四种走法。 那么第四级的走法为前三级走法的和,因为,第一级直接走到第四级只有一种走 阅读全文
posted @ 2018-07-18 16:23 HusterHuwentao 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 新生代收集器 Serial收集器 它是最基本、历史最悠久的收集器,在JDK1.3.1之前是虚拟机新生代收集的唯一选择。它是一个单线程的收集器,到现在为止,它依然是虚拟机运行在Client模式下的默认的新生代收集器。优点:简单高效。 特点:只会使用一个CPU或一条收集线程去完成垃圾收集工作,在进行垃圾 阅读全文
posted @ 2018-07-18 14:48 HusterHuwentao 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 标记-清除算法 基本思想:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。 缺点:一、效率不高,标记和清除过程的效率都不高。二、空间问题,算法会产生大量不连续的内存碎片。 复制算法 基本思想:将内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块内存用完了,就将还存活 阅读全文
posted @ 2018-07-17 20:12 HusterHuwentao 阅读(99) 评论(0) 推荐(0) 编辑