`
sdkd_Tiger
  • 浏览: 25797 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编写高质量代码++改善Java程序的151个建议

    博客分类:
  • Java
阅读更多

编写高质量代码,改善Java程序的151个建议,读书笔记!

 

1、判断奇偶数,i%2==0? "偶数","奇数"

2、长整形转化 long ds1 = 1L* 60*8
3、防止边界问题,int类型的最大值为2147482649
4、包装类型要判断是否为null
5、若非必要,不要设置随机数种子 如 Random r = new Random(1000); (X)
6、静态方法不能覆写。通过实例对象访问静态方法或静态属性不是好习惯,应谨慎
7、构造函数尽量简单,避免在构造函数中初始化其它类
8、匿名类ArrayList list = new ArrayList(){}
      形同class Sub extends ArrayList{
              }
     List l2 = new Sub
9、在覆写equals时建议使用getClass进行类型判断,而不要使用instanceof,避免子类钻空子
10、不要主动进行垃圾回收,占用浪费资源
11、Collator类  可以对中文进行排序
12、变长数组扩容  Arrays.copyof(datas,new Length)
13、原始类型数组不能作为Arrays.asList()的输入参数,否则会引起程序逻辑混乱并引起错误
14、Arrays.asList() 返回的是一个长度不可变的列表,不能进行增加和删除操作
        List<String> list = Arrays.asList("张三","李四","王五");
        list.remove("张三"); //会抛异常
15、判断集合是否相等时只须关注元素是否相等即可
16、subList产生的列表只是一个视图,所有的修改动作直接作用于原列表
17、subList生成子列表后,保持原列表的只读状态,不要再操作原列表
18、集合中的元素必须做到compareTo和equals同步
19、并集 list1.addAll(list2)  交集list1.retainAll(list2) 差集list1.removeAll(list2);
        无重复的并集list2.removeAll(list1); list1.addAll(list2);
20、集合排序对于直接量的(8个基本类型、String类型)等,推荐使用TreeSet,
        对于可变量,自定义类等,建议使用List自行排序
21、泛型数组的处理,不能初始化泛型参数和数组
        class Foo<T>{
private T t;
private T[] tArray;
private List<T> list = new ArrayList<T>();
public Foo(){
try {
Class<?> tType = Class.forName("");
t = (T)tType.newInstance();
tArray = (T[])Array.newInstance(tType, 5);
} catch (Exception e) {
e.printStackTrace();
}
}
22、无法从代码中推断出泛型类型的情况下,即可强制声明泛型类型
        static class ArrayUtils{
public static<T> List<T> asList(T...t){
List<T> list = new ArrayList<T>();
Collections.addAll(list, t);
return list;
}
}
        List list5 =ArrayUtils.<Number>asList(1,2,3.1);
        List list4 =ArrayUtils.asList();
23、反射让模板方法更强大,JUnit的实现思想,程序更灵活、更强大
24、不要再finally块中处理返回值
        1)覆盖了try代码块中的return返回值
        public static int doTest(){
int a = 1;
try {
return a;
} catch (Exception e) {
}finally{
a= -1;
}
return 0;
}//始终返回1
        Person p = new Person();
p.setName("张三");
try {
return p;
} catch (Exception e) {
}finally{
p.setName("王五");
}
p.setName("李四");
return p;//始终返回王五
       2)屏蔽了异常
25、在构造函数中尽可能不出现异常。
26、多线程:继承自Thread类的多线程没有必要覆写start()方法
27、线程优先级推荐使用MIN_PRIORITY、NORM_PRIORITY、MAX_PRIORITY三个级别,不建议
        使用其它数字
28、异步计算机及线程调用需返回调用结果时考虑使用Callable接口
29、优秀开源框架Apache,google Guava,Joda
分享到:
评论

相关推荐

    编写高质量代码+改善Java程序的151个建议+PDF高清完整版

    《编写高质量代码+改善Java程序的151个建议》是一本专为Java开发者准备的实践指南,旨在帮助程序员提升代码质量,优化程序性能,并遵循最佳编程实践。这本书的PDF高清完整版包含了丰富的实例和详细解释,使得学习...

    编写高质量代码 改善Java程序的151个建议 PDF高清完整版

    《编写高质量代码 改善Java程序的151个建议》是一本专注于提升Java编程质量的专业书籍。书中详细列举了151条实用的建议,旨在帮助开发者编写出更高效、可读性更强且易于维护的Java代码。以下是对这些建议的详细解读...

    秦小波-编写高质量代码:改善Java程序的151个建议(带索引书签目录高清扫描版).pdf

    《编写高质量代码:改善java程序的151个建议》一共12章,第1~3章针对java语法本身提出了51条建议,例如覆写变长方法时应该注意哪些事项、final修饰的常量不要在运行期修改、匿名类的构造函数特殊在什么地方等;...

    编写高质量代码 改善Java程序的151个建议

    编写高质量代码 改善Java程序的151个建议 PDF版的,影印版,很不错,可以看看

    编写高质量代码:改善Java程序的151个建议pdf和源码 高清

    《编写高质量代码:改善Java程序的151个建议》是一本专为Java开发者准备的实战指南,旨在提升代码质量并帮助程序员从初级迈向高级。这本书涵盖了从基础到高级的各种编程实践,通过151个具体的建议,为读者提供了一个...

    《编写高质量代码:改善Java程序的151个建议》笔记

    ### 编写高质量代码:改善Java程序的151个建议 #### 第1章 Java开发中通用的方法和准则 1. **命名规范** - 包名全小写,如`com.example.package` - 类名首字母大写,如`PublicClass` - 常量全大写并用下划线...

    编写高质量代码:改善Java程序的151个建议wang.pdf.zip

    《编写高质量代码:改善Java程序的151个建议》这本书正是针对这一主题,提供了丰富的优化策略和实践指导。下面,我们将基于书名和描述,探讨一些关键的Java优化知识点。 1. **代码规范与可读性**:遵循良好的编码...

    编写高质量代码:改善C程序代码的125个建议

    马伟的《编写高质量代码(改善C程序代码的 125个建议)》是华章“编写高质量代码”系列的第7本,之前已经出版C++、C#、Java、Pvthon、 ObjectiVe-c、Javascript相关*作。在通往“C语 言技术殿堂”的路上,本书将为你...

    编写高质量代码之Java_nodrm.azw3

    《编写高质量代码:改善java程序的151个建议》内容简介:在通往“java技术殿堂”的路上,本书将为你指点迷津!内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大...

    改善Java程序的151个建议

    编写高质量代码 改善Java程序的151个建议,因为自己在学java,所以看了看,还不错,能加深对java的理解

    高性能java代码优化建议

    以上只是部分知识点,"编写高质量代码++改善Java程序的151个建议.pdf"这本书中应该包含了更多深入的细节和实践案例。通过深入学习和实践,开发者可以不断提升自己的Java编程技能,编写出更高性能的代码。

    敏捷开发中编写高质量Java代码

    ### 敏捷开发中编写高质量Java代码 随着敏捷开发理念的普及与应用,越来越多的企业开始意识到高质量代码对于软件项目的成功至关重要。特别是在Java项目开发中,由于开发者经验、编程习惯及缺乏统一标准等原因,可能...

Global site tag (gtag.js) - Google Analytics