编写高质量代码,改善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个建议 PDF高清完整版
《编写高质量代码:改善java程序的151个建议》一共12章,第1~3章针对java语法本身提出了51条建议,例如覆写变长方法时应该注意哪些事项、final修饰的常量不要在运行期修改、匿名类的构造函数特殊在什么地方等;...
《编写高质量代码:改善Java程序的151个建议》笔记
编写高质量代码 改善Java程序的151个建议 PDF版的,影印版,很不错,可以看看
1.pdf已完整添加书签和目录,其他同类资源几乎没有目录和书签1.成为java高手必备。2.进阶高级工程师必备。3.编写高质量代码:改善Java程序的151个建议。4.已包含书中源码。
从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面对Java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为Java程序员如何编写高质量的Java代码提出了151条极为宝贵的建议。对于每一个...
java 程序优化建议。
马伟的《编写高质量代码(改善C程序代码的 125个建议)》是华章“编写高质量代码”系列的第7本,之前已经出版C++、C#、Java、Pvthon、 ObjectiVe-c、Javascript相关*作。在通往“C语 言技术殿堂”的路上,本书将为你...
《编写高质量代码:改善java程序的151个建议》内容简介:在通往“java技术殿堂”的路上,本书将为你指点迷津!内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大...
编写高质量代码:改善Java程序的151个建议, Spring 技术内幕 机器学习实践指南:案例应用解析(第2版) Java并发编程的艺术 , Java TCP_IP Socket编程(2版), 深入理解Java虚拟机(第2版), 机器学习实践指南:...
设计模式之禅(第2版) 深入理解java虚拟机 Java编程思想 Java并发编程实践 Java加密与解密的艺术 JAVA设计模式 编写高质量代码:改善Java程序的151个建议 Java小程序设计 等一些高层次的语言理解。。。文档
在程序中优化查询而无需改动代码。 作为Oracle SQL经典著作之一,本书为SQL开发人员指明了前行的方向,赋予了他们不断开拓的动力。 作者简介 KAREN MORTON 研究人员、教育家及顾问,Fidelity信息服务公司...
A Guide to Porting C C++ to Rust.epub Build a Node.js Project from Scratch.epub Build your applications with Webpack.epub Build Your Own Lisp 中文版.epub...编写高质量代码改善 Python 程序的 91 个建议.epub
校内应用程序开发:.NET应用程序开发标准化 通过为你企业建立个公共应用结构框架来提高.NET...共底层框架及其前景每个企业都会构建自己应用并为此投资创建个公共底层框架可以帮你更快地开发更高质量 应用而且投资更少