JAVA开发注意事项
以下总结全部来源于开发经验积累,干货满满的,有问题请邮箱1057915589@qq.com,感谢!敬礼~
1、代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
2、不允许使用拼音、汉字命名
3、类名使用 UpperCamelCase 风格,必须遵从驼峰形式
4、方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式。
5、常量名全部大写,单词用下划线隔开,力求见名知意
6、中括号是数组类型的一部分,数组定义如下:String[] args
7、常量最好统一定义,不允许任何魔法值
8、long或者Long初始化赋值时,必须使用大写L,小写容易和1混淆
9、常量类应该按功能进行归类,分开维护,比如:缓存相关的常量放在类:CacheConstants下,系统配置常量类放到:ConfigConstants下
10、ArrayList的subList结果不可强制转成ArrayList,否则会抛出ClassCastException
11、List和String[] 转化
List<String> list =new ArrayList<String>(2);
list.add("gggg");
list.add("aaaa");
String[] array =new String[list.size()];
array=list.toArray(array);
12、集合初始化时,指定集合初始化值大小
HashMap如果不指定集合大小,默认是16,负载因子是0.75,当集合存储到大12时会触发扩容,乘以2
13、常用集合比较:
Hashtable kv 均不允许为null 继承Dictionary 线程安全
ConcurrentHashMap kv均不允许为null,继承AbstractMap, 分段锁技术
TreeMap k不为null,v允许为null,继承AbstractMap,线程不安全
HashMap kv均可以为null,继承AbstractMap,线程不安全
14、利用Set元素唯一的特性,可以快速对一个集合进行去重处理
15、线程资源必须通过线程池提供,不允许在应用中自行显示创建线程
16、待更新~