摘要:
双亲委派模型 从Java虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++语言来实现,是虚拟机自身的一部分;另外一种就是其他所有的类加载器,这些类加载器都是有Java语言实现的,独立于虚拟机外部, 并且全部继承自抽象类 阅读全文
摘要:
阅读全文
摘要:
StringBudiler源码 继承关系树 底层实现 默认容量() 特别的添加方法(append) 1、继承关系树 继承自AbstractStringBuilder与StringBuffer同族 2、底层实现 AbstractStringBuilder.java 底层和String一样使用字符串实现 阅读全文
摘要:
Java运算符 &&与|| &&与||又名快速与和快速或; 当&&出现时只要左侧为false就不会执行右侧操作; 当||出现时只要左侧为true就不会执行右侧操作; 做个实现 这种方法主要可以用于简化一些if判断语句比如说: 可是使用&&修改为 是不是感觉代码变少了,虽有现在看来逻辑不一定清晰, 阅读全文
摘要:
DCL实现多线程安全的高性能懒汉模式 1.单线程安全的懒汉模式实现 源码: 2.多线程下低性能的懒汉模式(使用synchronized修饰方法) 为什么说这个方法是低性能的呢: 1. synchronized同步的方法是静态的,会导致进入该方法是JVM会锁定LazyLoad这个类 解决方法:从上面可 阅读全文
摘要:
Stack过时的类,使用Deque重新实现。 HashCode和equals的关系 HashCode为hash码,用于散列数组中的存储时HashMap进行散列映射。 equals方法适用于比较两个对象是否相同,Object方法的equals方法默认为比较两个对象的地址是否相同 在实际开发中hashc 阅读全文
摘要:
ArrayList中的一些小细节@JDK8 该变量用于记录ArrayList的版本号,不可被序列化,每次对ArrayList操作都会修改此版本号,为ArrayList提供FastFail功能;可是,在每次操作中都操作此变量,会造成一个结果就是该变量会迅速变化,很快超过Integer.MAXVALUE 阅读全文
摘要:
阅读全文
摘要:
ThreadLocal总结 特点 抗冲突能力低 每个Thread中只能保存一个对应ThreadLocal的一个值 由 中保存变量 ; 要点 实体继承了·WeakReference·能在不被GCRoot标记时,直接被GC回收 使用类似hash的结构,解决Hash冲突的方法是二次线性探测 一般情况下的h 阅读全文
摘要:
阅读全文
摘要:
Java之static静态代码块 构造代码块 使用 包裹的代码区域,这里的代码区域特指位于 下面的而不是存在于其他 这类函数下面的代码区域 构造函数代码块 构造函数代码块指的是构造函数中所包含的代码,类似 中的代码块 static代码块 static代码块指的是 包裹的代码块,且静态代码只执行一次, 阅读全文