随笔分类 -  java基础

摘要:一、前言 1.本文基于JDK1.8源码分析,会贴出涉及的相关数据结构及源码。 2.为节省大家时间,先给出结论。 1)ArrayList创建对象时,若未指定集合大小初始化大小为0;若已指定大小,集合大小为指定的大小; 2)当第一次调用add方法时,集合长度变为DEFAULT_CAPACITY(也就是1 阅读全文
posted @ 2020-04-02 17:08 Ghostor 阅读(378) 评论(0) 推荐(0)
摘要:一、前言 1.本文基于JDK1.8源码分析,会贴出涉及的相关数据结构及源码。 2.文中只涉及hashmap的put/get方法,代码理解附在注释上(直接看代码更清晰)。 3.JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树。 二、数据结构 1. 阅读全文
posted @ 2020-04-01 15:48 Ghostor 阅读(303) 评论(0) 推荐(0)
摘要:一、前言 1.ReentrantLock是可重入锁,意味着一个线程可以进入任何一个该线程已拥有的锁同步着的代码块,实现了Lock接口,通过Condition精细控制多线程休眠唤醒。 2.Lock接口 //获取锁,获取不到lock就不罢休,不可被打断,即使当前线程被中断,线程也一直阻塞,直到拿到锁, 阅读全文
posted @ 2020-03-16 12:40 Ghostor 阅读(886) 评论(0) 推荐(0)
摘要:前言 for与while各有功效,下面就只列举for之于while的优势有哪些 优势 1.循环中提供了特殊的机会来将变量的作用域最小化。(无论是传统的还是for-each形式的)for循环,都允许声明循环变量,它们的作用域被限定在正好需要的范围之内。(这个范围包含循环体,以及之前的初始化、测试、更新 阅读全文
posted @ 2018-10-08 17:49 Ghostor 阅读(566) 评论(0) 推荐(0)