优化Java性能的十三条建议

本文探讨了在Java开发中提升性能的五个核心策略,包括使用带缓冲的I/O、避免频繁使用new操作、利用本地方法提高效率、减少String操作的开销以及避免不必要的InetAddress操作。每个策略都附有实例解释,旨在帮助开发者理解如何在实际应用中实施这些最佳实践。
摘要由CSDN通过智能技术生成

1、使用带缓冲的 I/O

    使用不带缓冲的I/O,一些方法会引发大量的系统调用,如InputStream.read()。在解析输入时,这是很常见的代码,例如从网络传递的命令或者从磁盘读取的配置数据。

2、尽量避免new

     垃圾回收通常不是一个严重的性能开销。但是new操作引发的Java虚拟机内部的同步机制会使得多线程的应用程序出现竞争锁现象。有些时候通过重用byte数组,或者重用那些带有重置状态方法的对象可以避免new。

3、本地方法(native methods)真的很快

    这听起来很傻,我听说调用一个本地方法的开销很高,所以小的java方法会更快。错!在我的测试场景下,我用纯java实现了System.arraycopy,然后用不同大小的数组和System.arraycopy比较。随着数组大小的不同,本地方法(原来的)要快一个数量级。本地方法的开销可能比较高,但相对于解析字节码它还是快。


4、String操作很快

使用x + y (这里x和y都是String)比对两个string执行getBytes然后根据byte数组创建一个新String要快。然而,String操作隐含着大量的new操作。


5、InetAddress.getHostAddress()包含了大量的new操作。它会创建大量的中间字符串来返回host地址。如果可能,避免使用它。




原文地址:http://java.sun.com/developer/technicalArticles/Programming/Performance/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值