随笔分类 - effective java
学习effect java的一点记录
摘要:这里有一个辅助基础类 然后使用一个类使这个类可以被观察者注册 可以注意到,这个类中已经有一个地方有两个方法,这个后面会将 观察者: 测试: 结果: 测试2 这里会抛出异常,为什么,理由已经在类中写了 测试3 这个会造成死锁,要使用 让我们外部调用的内部集合避免上锁,而是建立一个快照,然后对快照进行上
阅读全文
摘要:这段时间看的部分感觉没啥需要记录下来的,个人也没什么想法,不过以后还是要多记,多写 这个main方法是永远不停的,其余两个从两个不同的角度给出了同步的方法 总之:当多个线程共享可变数据的时候,每个读或者写数据的线程都必须执行同步。
阅读全文
摘要:测试注解类 解析注解: 运行结果:
阅读全文
摘要:分别使用序数和enummap的结果: 序数: test1() 使用enummap,tes1t
阅读全文
摘要:有的时候我们一个容器只有一个类型或几个类型并不能满足我们的要求,比如set中存放的元素类型都是同一种,map也就指定的两种 这里我们可以将键进行参数化,而不是将容器参数化,也就是我们可以给容器传一个键的类型,然后value用来放对应的实例,这样就可以存放多个不同的类型了 如: 运行显示结果: 异构成
阅读全文
摘要:但是有的时候,我们发现使用泛型的时候,在调用构造器的时候要明确泛型的类型,这样书写很麻烦 这里可以使用一个泛型静态方法,利用泛型的类型推导 关于泛型单利工厂的实现 显示结果:
阅读全文
摘要:这个,不管是什么书都会这样说,因为常常我们并不需要继承,而只是想把类进行一定的扩展,而我们想扩展的属性或方法对应的类都有,这个时候如果两者是is a的关系,这种关系是确实存在的,那么就可以使用继承,不然一般都是建议使用复合。 如果我们队一个类进行继承的时候,我们如果对其内部的逻辑并不十分了解的时候,
阅读全文
摘要:package cn.xf.cp.ch02.item9; import java.util.HashMap; import java.util.Map; public class PhoneNumber { private final short areaCode; private final short prefix; private final short lin...
阅读全文
摘要:首先写一个点类 然后是一个颜色的,枚举 开始重写其equals方法,来综合比较颜色和点的属性 在实现这样的比较的时候 使用复合优先于继承 我们使用复合的方式来做就会方便很多
阅读全文
摘要:创建对象的时候,有些变量可以一直保持的时候,可以不必要每次实例化对象的时候都把这些变量初始化一遍,可以使用静态和静态块的方式把这些变量的数据固定下来 把上面的代码改进到使用静态代码块的模式 这样的话每次创建对象的时候,调用方法使用的私有变量都是最开始初始化好了的,如果调用这个方法的用户特别多,上千万
阅读全文
摘要:package cn.xf.cp.ch02.item2; /** * * 功能:当我们的构造参数有很多,超出可控范围的时候,用build模式 时间:下午8:25:05 文件:NutritionFacts.java * * @author Administrator * */ public class NutritionFacts { private final int ...
阅读全文
摘要:使用一个服提供者对进行服务的提供,服务的请求通过不同的提供者提供不同的服务,服务提供者首先必须在工厂中进行注册,然后才可以通过工厂实例化服务 Service.java ServicesFactory.java 测试代码 结果显示:
阅读全文

浙公网安备 33010602011771号