摘要:Java中string拼接,StringBuilder,StringBuffer和+,到底哪个更合适? StringBuilder线程不安全,效率较线程安全的StringBuffer高。jdk1.5之前,+操作会产生大量String对象,影响GC的效率,但是jdk1.5之后做了优化,使用+操作符不一...
阅读全文
摘要:Singleton通常被用来代表那些本质上唯一的系统组件,在JDK1.5之前,实现Singleton有两种方法。这两种方法都要把构造器保持为私有的,并导出公有的静态成员,以便允许客户端能够访问该类的唯一实现。 第一种方式:1.构造器私有,2,有一个公共的静态成员,并且是final的。public class TestSingleton { private TestSingleton(){ //...
阅读全文
摘要:静态工厂和构造器都有一个共同的局限性:它们都不能很好地扩展到大量的可选参数。考虑用一个类表示食品外包装的营养成分标签。这些标签中的有几个域是必须的:每份的分量,每罐的含量以及每份的卡路里,还有超过20个的可选域:总脂肪量,饱和脂肪量,转化脂肪,胆固醇等等,大多数产品在某几个域中都会有非零的值。 对于这样的类,应该用哪种构造器或者静态方法来编写呢?程序员一向习惯用重叠构造器(telescoping ...
阅读全文
摘要:何时以及如何创建对象,何时以及如何避免创建对象,如何确保对象能够适时地销毁,以及如何管理对象销毁之前必须进行的各种清理动作。 第一条:考虑用静态工厂方法代替构造器 对于类而言,为了让客户端获取类的一个实例,最常用的办法就是提供一个公有的构造器。现在有更好的方式来满足客户端的要求:提供一个公有的静态工厂方法,通过这个方法可以返回这个类的一个实例。例如:public static Blloean ...
阅读全文
摘要:团队的产品交出去了,有些不舍!还好,团队留下来了,继续留在服务线这个大团体,虽然我们要被解散到服务线下各个小组,但是还能和大家继续奋战在一起!希望今年自己能有个长足的进步,加油!log.info(“Effective Java 读书之旅开始:2012-3-5-20:00:00”);
阅读全文