作为当前市场上人才需求最大、应用领域最广的编程语言,
Java一直深受企业和转行
IT
行业人士的青睐。而分析普通
Java
工程师和高薪
Java
工程师之间的区别,不难发现编程习惯是一个非常关键的因素。高薪
Java
工程师具备哪些编程好习惯呢?接下来
Java
培训小编就给大家分享一下。
1
、尽量避免过多过常的创建
Java
对象
尽量避免在经常调用的方法,循环中
new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度的重用对象,最好能用基本的数据类型或数组来替代对象。
2
、尽量使用
final
修饰符
带有
final修饰符的类是不可派生的。在
Java
核心
API
中,有许多应用
final
的例子,例如
java.lang.String
。为
String
类指定
final
防止了使用者覆盖
length()
方法。另外,如果一个类是
final
的,则该类所有方法都是
final
的。
Java
编译器会寻找机会内联(
inline
)所有的
final
方法(这和具体的编译器实现有关)。此举能够使性能平均提高
50%
。
3
、尽量使用局部变量
调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(
Stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(
Heap
)中创建,速度较慢。
4
、尽量处理好包装类型和基本类型两者的使用场所
虽然包装类型和基本类型在使用过程中是可以相互转换,但它们两者所产生的内存区域是完全不同的,基本类型数据产生和处理都在栈中处理,包装类型是对象,是在堆中产生实例。
在集合类对象,有对象方面需要的处理适用包装类型,其他的处理提倡使用基本类型。
5
、尽量不要使用
finalize
方法
实际上,将资源清理放在
finalize方法中完成是非常不好的选择,由于
GC
的工作量很大,尤其是回收
Young
代内存时,大都会引起应用程序暂停,所以再选择使用
finalize
方法进行资源清理,会导致
GC
负担更大,程序运行效率更差。
6
、尽量使用基本数据类型代替对象
String str = "hello";
上面这种方式会创建一个
“hello”字符串,而且
JVM
的字符缓存池还会缓存这个字符串;
String str = new String("hello");
此时程序除创建字符串外,
str所引用的
String
对象底层还包含一个
char[]
数组,这个
char[]
数组依次存放了
h,e,l,l,o
。
7
、单线程应尽量使用
HashMap
、
ArrayList
HashTable
、
Vector
等使用了同步机制,降低了性能。
8
、尽量合理的创建
HashMap
当你要创建一个比较大的
hashMap时,充分利用另一个构造函数
public HashMap(int initialCapacity, float loadFactor)
避免
HashMap多次进行了
hash
重构
,
扩容是一件很耗费性能的事,在默认中
initialCapacity
只有
16
,而
loadFactor
是
0.75
,需要多大的容量,你最好能准确的估计你所需要的最佳大小,同样的
Hashtable
,
Vectors
也是一样的道理。
除了以上内容,高薪
Java工程师好的编程习惯还有很多,比如了解什么时候名字要区分大小写、加注释等等。在
Java
程序中,性能问题的大部分原因并不在于
Java
语言,而是在于程序本身,养成良好的编程习惯非常重要,能够显著地提升程序性能。