- 编写高效优雅安全Java程序的常见规则
-
构造器参数太多怎么办?
1> 使用builder模式,适用场景,构造参数现在或未来会多余5个的时候推荐使用
2> builder模式:对象的创建模式a, 抽象建造者:一般来说是个接口 (1)建造方法,建造部件的方法 (2)返回产品的方法 b, 具体建造者 c, 导演者,调用具体的建造者,创建产品对象 d, 产品,需要建造的复杂对象
3> 客户端使用,创建导演者和具体建造者
不需要实例化的类应该构造器私有
不要创建不必要的对象
避免使用终结方法
1> finalize()方法虚拟机不保证它被执行使类和成员变量可访问性最小
使可变性最小化
优先使用复合
接口优于抽象类
1> 抽象类可以用于骨架类
-
- 方法
- 可变参数要谨慎使用
1> 可变参数语序传0个参数的
2> 如果要求对第一个参数做特殊处理的,单独新增一个参数,不要使可变参数包括第一个参数 - 返回零长度的数组或集合,不要返回null
1> Collections.EMPTY_LIST - 优先使用标准的异常
1> 追求代码的重用
2> 在类装载的性能上
3> 常用异常:IllegalArgumentExcetpion,IllegalStateException,NullPointException,UnSupportOperationException
- 可变参数要谨慎使用
- 通用程序设计
- 用枚举代替Int常量
1> 枚举类的本质是一个类,其属性是其枚举类的一个实例
2> 对于有操作含义的枚举,可以在枚举类里定义一个抽象方法
3> 策略枚举 - 将局部变量的作用域最小化
1> 在第一次使用的地方声明
2> 局部变量都是要自行初始化的,初始化条件不满足,就不要声明 - 精确计算,避免使用float和double
- 当心字符串连接的性能
- 控制方法的大小
- 用枚举代替Int常量
JVM(四)编写高效优雅java程序
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...