摘要: JAVA虚拟机创建对象的流程 JAVA对象的结构 空间分配 空间分配的两种方式 指针碰撞 当已分配空间被集中存放,已分配和未分配空间使用一个指针来标记时,分配新的空间只需要移动该空间即可,此方法为指针碰撞。适用于GC算法会做COMPACT的情况。 空闲列表 当已分配的空间是分散存放时,虚拟机必须维护 阅读全文
posted @ 2018-01-18 09:41 从“灵”开始 阅读(1204) 评论(0) 推荐(0) 编辑
摘要: JAVA虚拟机内存结构示意图 各区域介绍 程序计数器 程序计数器,用来记录每一个线程正在执行的指令地址。每一个线程有一个线程计数器,因此该区域是“线程私有”的内存,生命周期与线程相同。如果线程执行的是native本地方法,则程序计数器为空。 虚拟机栈区 每当线程执行一个方法时,虚拟机就会在这个区域创 阅读全文
posted @ 2018-01-17 11:31 从“灵”开始 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 连接池定义 java中为了提高并发度,可以使用多线程共同执行。但是如果有大量线程短时间之内被创建和销毁,会占用大量的系统时间,影响系统效率。 为了解决上面的问题,java中引入了线程池,可以使创建好的线程在指定的时间内由系统统一管理,而不是在执行时创建,执行后就销毁,从而避免了频繁创建、销毁线程带来 阅读全文
posted @ 2018-01-17 09:14 从“灵”开始 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 实现java线程同步的主要方法 synchronized关键字 可重入锁 synchronized的应用 synchronized可以修饰代码块和方法,对代码块的加锁范围可以是类级别和对象级别,方法加锁本质上是对象级别加锁。 对象级别加锁 1 package base.synchronize; 2 阅读全文
posted @ 2018-01-10 15:38 从“灵”开始 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 并发编程——java线程基础之线程状态转换 阅读全文
posted @ 2018-01-09 14:56 从“灵”开始 阅读(132) 评论(0) 推荐(0) 编辑
摘要: java代理的原理及应用 阅读全文
posted @ 2018-01-08 15:30 从“灵”开始 阅读(184) 评论(0) 推荐(0) 编辑
摘要: java反射的原理及使用 阅读全文
posted @ 2017-12-29 10:13 从“灵”开始 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 红黑树 阅读全文
posted @ 2017-12-21 14:16 从“灵”开始 阅读(296) 评论(0) 推荐(0) 编辑
摘要: JAVA数据结构——Map之HashMap 阅读全文
posted @ 2017-12-12 15:21 从“灵”开始 阅读(3764) 评论(0) 推荐(0) 编辑
摘要: LinkedList的相关源码 阅读全文
posted @ 2017-12-07 16:35 从“灵”开始 阅读(290) 评论(0) 推荐(0) 编辑