中电科旗下高技能IT教育培训机构

四川国信安职业培训学校四川国信安职业培训学校

tel

4009988316

常见问题常见问题

java学习过程中应该养成哪些习惯?

发布时间:2021-12-23浏览量:1222次

作为刚入门的小白,在java学习过程中应该养成一些良好的开发习惯,这对于自己以后开发工作都是有帮助的。下面成都java培训机构老师给大家讲讲,都有哪些需要注意的。

1. 在合适的场合尝试使用单例

使用单例可以减轻负荷的负担,缩短加载时间。提高装载效率,但并不是所有的地方都适合一个案例。简单的说,单主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发訪问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。

2. 尽量避免过多过常的创建Java对象

尽量避免在常常调用的方法,循环中new对象,因为系统不仅要花费时间来创建对象,并且还要花时间对这些对象进行垃圾回收和处理。在我们能够控制的范围内。最大限度的重用对象,最好能用主要的数据类型或数组来替代对象。

3. 尽量使用 final 修饰符

带有final修饰符的类是不可派生的。在Java核心API中,有很多应用final的样例,比如java.lang.String。为String类指定final防止了使用者覆盖length()方法。另外,假设一个类是final的,则该类全部方法都是final的。Java编译器会寻找机会内联(inline)全部的final方法(这和详细的编译器实现有关)。

4. 尽量使用局部变量

调用方法时传递的參数以及在调用中创建的暂时变量都保存在栈(Stack)中。速度较快。其它变量,如静态变量、实例变量等。都在堆(Heap)中创建,速度较慢。

5. 尽量处理好包装类型和基本类型两者的使用场所

尽管包装类型和基本类型在使用过程中是能够相互转换。但它们两者所产生的内存区域是全然不同的,基本类型数据产生和处理都在栈中处理。包装类型是对象,是在堆中产生实例。在集合类对象。有对象方面须要的处理适用包装类型。其它的处理提倡使用基本类型。

6. 尽量不要使用finalize方法

实际上,将资源清理放在finalize方法中完毕是非常不好的选择,因为GC的工作量非常大,尤其是回收Young代内存时。大都会引起应用程序暂停。所以再选择使用finalize方法进行资源清理。会导致GC负担更大,程序执行效率更差。

7. 尽量合理的创建HashMap

当你要创建一个比較大的 hashMap 时。充分利用还有一个构造函数public HashMap(int initialCapacity, float loadFactor)避免HashMap多次进行了hash重构,扩容是一件非常耗费性能的事,在默认中initialCapacity仅仅有16。而loadFactor是 0.75,须要多大的容量,你最好能准确的预计你所须要的最佳大小。相同的Hashtable,Vectors也是一样的道理。

8. 尽量在finally块中释放资源

程序中使用到的资源应当被释放,以避免资源泄漏。这最好在finally块中去做。无论程序运行的结果怎样。finally块总是会运行的。以确保资源的正确关闭。

9. 尽量避免使用split

除非是必须的。否则应该避免使用split,split因为支持正則表達式,所以效率比較低,假设是频繁的几十。几百万的调用将会耗费大量资源,假设确实需 要频繁的调用split,能够考虑使用apache的StringUtils.split(string,char),频繁split的能够缓存结果。

10. 尽量缓存常常使用的对象

尽可能将常常使用的对象进行缓存。能够使用数组,或HashMap的容器来进行缓存。但这样的方式可能导致系统占用过多的缓存。性能下降,推荐能够使用一些第三方的开源工具。如EhCache,Oscache进行缓存,他们基本都实现了FIFO/FLU等缓存算法。