Java
cntimothy
这个作者很懒,什么都没留下…
展开
-
Effective Java读书笔记(三)
使类和成员的可访问性最小化实例域决不能是公有的。如果域是非final的,或者是指向可变对象的final引用,那么一旦是这个域编程共有的,就放弃了对存储在这个域中的值进行限制的能力;这意味着,你也放弃了强制这个域不可变的能力。同时,当这个域被又该的时候,你也市区了对它采取任何行动的能力。因此,包含公有可变域的类并不是线程安全的。长度非零的数组总是可变的。// Potential security ho原创 2016-01-19 17:13:10 · 432 阅读 · 0 评论 -
聊聊并发-Java中的Copy-On-Write容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。转载 2016-02-23 15:33:42 · 344 阅读 · 0 评论 -
Effective Java读书笔记(八)
将局部变量的作用域最小化要使局部变量的作用于最小化,最有力的方法就是在第一次使用它的地方声明。几乎每个局部变量的声明都应该包含一个初始化表达式。for-each循环由于传统的for循环连接和使用类库如果需要精确的答案,请避免使用float和double使用BigDecimal或者int、long代替。基本类型由于装箱基本类型如果其他类型更适合,则尽量避免使用字符串当心字符串连接的性能通过接口引用对象原创 2016-02-19 15:57:07 · 390 阅读 · 0 评论 -
Effective Java读书笔记(七)
检查参数的有效性应该在错误发生之后尽快检测出错误。必要时进行保护性拷贝// Broken "immutable" time period classpublic final class Peroid { private final Date start; private final Date end; public Period(Date start, Date end){原创 2016-02-18 17:34:40 · 401 阅读 · 0 评论 -
Effective Java读书笔记(二)
通过私有构造器枪花不可实例化的能力// Noninstantiable utility classpublic class UtilityClass { // Suppress default constructor for nonintantiability private UtilityClass() { throw new AssertionError();原创 2016-01-13 17:02:32 · 502 阅读 · 0 评论 -
Effective Java读书笔记(六)
用接口模拟可伸缩的枚举// Emulated extensible enum using an interfacepublic interface Operation { double apply(double x, double y);}public enum BasicOperation implements Operation { PLUS("+"){ pu原创 2016-01-30 10:40:02 · 359 阅读 · 0 评论 -
Effective Java读书笔记(五)
用enum代替int常量// Enum type with data and behaviorpublic enum Planet { MERCURY (3.302e+23, 2.439e6), VENUS (4.869e+24, 6.052e6), MARS (5.975e+24, 6.37e86), ... NEPTUNE (1.024e=26,原创 2016-01-29 16:59:45 · 396 阅读 · 0 评论 -
Effective Java读书笔记(一)
考虑用静态工厂方法代替构造器服务提供者框架:服务接口(Service Interface);提供者注册接口(Provider Registration API);服务访问接口(Service Access API);服务提供者接口(Service Provider Interface)(可选);// Service provider framework sketch// Service i原创 2016-01-11 15:21:11 · 610 阅读 · 0 评论 -
Effective Java读书笔记(四)
接口优于抽象类骨架实现:通过对导出的每个重要接口都提供一个抽象的骨架实现类,把接口和抽象类的优点结合起来。研究接口,并确定哪些方法是最为基本的,其他的方法可以根据它们来实现。这些方法将成为骨架实现类中的抽象方法。为接口中的所有其他方法提供具体实现。public abstract class AbstractMapEntry<K, V> implements Map.Entry<K, V> {原创 2016-01-22 17:53:23 · 341 阅读 · 0 评论 -
Effective Java读书笔记(九)
同步访问共享的可变数据// Broken! - How long would you expect this program to run?public class StopThread { private static boolean stopRequested; public static void main(String[] args) throws InterruptedEx原创 2016-02-25 11:53:09 · 397 阅读 · 0 评论