摘要:实现接口通过源码可以看到继承自实现了接口接口接口接口。因此也说明类是线程不安全的类。插入指定位置插入元素,其逻辑如下校验是否有效范围,否则抛出数组越界异常扩容确保能有效插入。双指针的思路,一个读指针,一个写指针。ArrayList是最常用的一种集合类型。今天通过阅读源码的方式来加深对它的学习和理解。 ##实现接口 public class ArrayList extends Abstract...
摘要:序列化机制使得对象可以脱离程序的运行而独立存在。普通序列化接口是一个标记接口,不用实现任何方法。如果此对象已经序列化过,则直接输出编号即可。图示上述序列化过程。一、序列化的含义、意义及使用场景二、序列化实现的方式1、Serializable1.1 普通序列化1.2 成员是引用的序列化1.3 同一对象序列化多次的机制1.4 java序列化算法潜在的问题1.5 可选的自定义序列化2、Extern...
摘要:模板方法模式的更多应用事实上很多有关生命周期的类都用到了模板方法模式,最典 将大象装进冰箱需要三步,那么老虎了?如何优雅的将大象装进冰箱? 把大象装进冰箱 Step 大象 老虎 ... First 打开冰箱门 打开冰箱门 打开冰箱门 Second 把大象放进去 把老虎放进去 ... Third 关闭冰箱门 关闭冰箱门 关闭冰箱门 大象类 public ...
摘要:这个月的天数是否事闰年似地,一天中的时间,比如,可以使用类表示。使用静态方法,你可以实现这一目的合并日期和时间这个复合类名叫,是和的合体。对于最常见的用例,日期和时间已经提供了大量预定义的。Java的API提供了很多有用的组件,能帮助你构建复杂的应用。不过,Java API也不总是完美的。我们相信大多数有经验的程序员都会赞同Java 8之前的库对日期和时间的支持就非常不理想。然而,你也不用太...
摘要:写域重排序规则写域的重排序规则禁止对域的写重排序到构造函数之外,这个规则的实现主要包含了两个方面禁止编译器把域的写重排序到构造函数之外编译器会在域写之后,构造函数之前,插入一个屏障。结论只有当构造函数返回时,引用才应该从线程中逸出。final关键字final的简介final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类。f...