- 博客(17)
- 资源 (3)
- 收藏
- 关注
翻译 【Effective Java】Ch2_创建销毁对象:Item6_消除无用的对象引用
当你从手工管理内存的语言(如C、C++)转到自动垃圾回收的语言后,编程工作会变得更加轻松,因为对象用完后会被自动回收。当你第一次经历自动垃圾回收的时候,会觉得不可思议。这容易给人一个印象:你无需考虑内存管理。其实不然。 【例】考虑下面这个简单的stack实现:// Can you spot the memory leak?public class Stack{ pr
2013-01-30 17:34:04 1615
原创 【设计模式】1. 适配器模式、外观模式
适配器模式(Adapter Pattern)定义: Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible
2013-01-27 15:27:06 1873
翻译 【Effective Java】Ch2_创建销毁对象:Item5_避免创建不必要的对象
通常最好重用单个对象,而不是在每次需要时都创建一个功能完全一样的新对象。重用不仅更快而且更流行。如果对象是不可变的(Immutable,Item15),那它总是能被重用的。 看下面这个极端的反例:String s = new String("stringette"); // DON'T DO THIS! 这条语句每次执行的时候都会创建一个新的String
2013-01-25 15:43:03 1340
翻译 【Effective Java】Ch2_创建销毁对象:Item4_通过私有构造函数来强化不可实例化的能力
偶尔情况下,你会编写只包含静态方法和静态域的类。这种类的名声不太好,因为有些人滥用他们来避免面向对象编程,不过这种类确实有他们的用处。我们可以照java.lang.Math或java.util.Arrays的样子,用这种类将基本类型或数组上相关的方法组织起来;public class Arrays { public static void fill(long[] a, lo
2013-01-21 15:32:48 988
Effective Java:Ch2_创建销毁对象:Item4_通过私有构造函数来强化不可实例化的能力...
偶尔情况下,你会编写只包含静态方法和静态域的类。这种类的名声不太好,因为有些人滥用他们来避免面向对象编程,不过这种类确实有他们的用处。我们可以照java.lang.Math或java.util.Arrays的样子,用这种类将基本类型或数组上相关的方法组织起来;public class Arrays { public static void fill(long[] a, long...
2013-01-21 15:32:00 138
翻译 【Effective Java】Ch2_创建销毁对象:Item3_通过私有构造函数或枚举类型来强化Singleton属性
所谓Singleton,是指仅能被实例化一次的类。Singleton通常代表本质上唯一的系统组件,例如窗口管理器或文件系统。让一个类成为Singleton就无法为Singleton替换模拟实现,除非它实现一个作为其类型的接口,所以会让其客户端难于测试。 JDK1.5之前,有两种方法可以实现Singleton,二者均基于让构造函数私有化,并导出一个公共静态成员来提供对唯一实例的访问
2013-01-15 15:53:52 1606
Effective Java:Ch2_创建销毁对象:Item3_通过私有构造函数或枚举类型来强化Singleton属性...
所谓Singleton,是指仅能被实例化一次的类。Singleton通常代表本质上唯一的系统组件,例如窗口管理器或文件系统。让一个类成为Singleton就无法为Singleton替换模拟实现,除非它实现一个作为其类型的接口,所以会让其客户端难于测试。 JDK1.5之前,有两种方法可以实现Singleton,二者均基于让构造函数私有化,并导出一个公共静态成员来提供对唯一实例的访问。在方法一中...
2013-01-15 15:53:00 135
翻译 【Effective Java】Ch2_创建销毁对象:Item2_当构造函数参数过多时考虑使用builder
静态工厂和构造函数都有一个限制:可选参数数量很大时,他们都不能很好地扩展。考虑一下这个例子:用一个类来表示袋装食品上的营养成分标签,这些标签有几个必选字段:每份的含量、每罐的份数、每份的卡路里;还有超过20个可选字段:总脂肪含量、饱和脂肪含量、转化脂肪含量、胆固醇含量、钠含量等等。大多数产品只有少数几个可选字段是非零值。 你将为这种类编写怎样的构造函数或者静态工厂呢?程序
2013-01-11 14:59:37 2332 1
Effective Java:Ch2_创建销毁对象:Item2_当构造函数参数过多时考虑使用builder
静态工厂和构造函数都有一个限制:可选参数数量很大时,他们都不能很好地扩展。考虑一下这个例子:用一个类来表示袋装食品上的营养成分标签,这些标签有几个必选字段:每份的含量、每罐的份数、每份的卡路里;还有超过20个可选字段:总脂肪含量、饱和脂肪含量、转化脂肪含量、胆固醇含量、钠含量等等。大多数产品只有少数几个可选字段是非零值。 你将为这种类编写怎样的构造函数或者静态工厂呢?程序员习惯上会使用t...
2013-01-11 14:59:00 166
转载 【JNLP】什么是JNLP
一、JNLP介绍: 在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。 JavaNetwork Launch
2013-01-09 11:40:12 5580
什么是JNLP
一、JNLP介绍: 在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。 JavaNetwork Laun...
2013-01-09 11:40:00 429
翻译 【Effective Java】Ch2_创建销毁对象:Item1_考虑用工厂方法替代构造函数
本章的主题是创建和销毁对象:何时创建、怎样创建;何时应该避免创建、如何避免创建;如何确保对象适时被销毁;如何管理对象销毁前的清理动作。 一个类如果要允许客户获得其实例,常用方法是提供一个public的构造函数。还有另外一个方法,也应该在每个程序员的工具集中占有一席之地:类可以提供一个public的静态工厂方法,这个方法返回类的实例。【例】下面是Boolean类(基本类型b
2013-01-08 15:04:43 1561 1
Effective Java:Ch2_创建销毁对象:Item1_考虑用工厂方法替代构造函数
本章的主题是创建和销毁对象:何时创建、怎样创建;何时应该避免创建、如何避免创建;如何确保对象适时被销毁;如何管理对象销毁前的清理动作。 一个类如果要允许客户获得其实例,常用方法是提供一个public的构造函数。还有另外一个方法,也应该在每个程序员的工具集中占有一席之地:类可以提供一个public的静态工厂方法,这个方法返回类的实例。【例】下面是Boolean类(基本类型boolean对应...
2013-01-08 15:04:00 141
翻译 【Effective Java】Ch1_简介
本书旨在帮助你最高效地使用Java语言及其基础类库,包括java.lang、java.util,以及小部分的java.util.concurrent、java.io。本书也会不时地讨论其他类库,不过不会涵盖图形用户界面、企业级API以及移动设备相关类库。 本书包含78个条目,每个条目讨论一个规则,这些规则代表了最优秀最有经验的程序员们的有益实践。这些规则松散地归为十个章节,每个
2013-01-05 17:21:02 1048
Effective Java:Ch1_简介
本书旨在帮助你最高效地使用Java语言及其基础类库,包括java.lang、java.util,以及小部分的java.util.concurrent、java.io。本书也会不时地讨论其他类库,不过不会涵盖图形用户界面、企业级API以及移动设备相关类库。 本书包含78个条目,每个条目讨论一个规则,这些规则代表了最优秀最有经验的程序员们的有益实践。这些规则松散地归为十个章节,每个章节涉及软件设...
2013-01-05 17:21:00 95
翻译 【Effective Java】前言
如果一个同事跟你说:“我的配偶今天晚上在家制造了特别的晚餐,你愿意参加吗?”你的脑子应该会闪过三个念头:首先,你被邀请去参加晚餐;第二,英语不是你同事的母语;最后,一堆费解。 如果你学过外语并试图在课堂之外使用,你肯定知道你得掌握三件事:这门语言是如何组织的(语法)、如何命名你想说的事物(词汇)、如何用习惯并有效的方式表达出日常的事物(用法)。课堂上通常仅仅涵盖前两点,而当你试图
2013-01-05 15:40:02 1000
Effective Java:前言
如果一个同事跟你说:“我的配偶今天晚上在家制造了特别的晚餐,你愿意参加吗?”你的脑子应该会闪过三个念头:首先,你被邀请去参加晚餐;第二,英语不是你同事的母语;最后,一堆费解。 如果你学过外语并试图在课堂之外使用,你肯定知道你得掌握三件事:这门语言是如何组织的(语法)、如何命名你想说的事物(词汇)、如何用习惯并有效的方式表达出日常的事物(用法)。课堂上通常仅仅涵盖前两点,而当你试图让对方明白你...
2013-01-05 15:40:00 88
commons-modeler-2.0.1.jar + commons-logging-1.1.2-bin.zip
2013-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人