高薪Java工程师通常具备这些编程好习惯

100 阅读3分钟

作为当前市场上人才需求最大、应用领域最广的编程语言,
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
语言,而是在于程序本身,养成良好的编程习惯非常重要,能够显著地提升程序性能。