Java 程序该怎么优化?(技巧篇)

搬砖者:为什么程序总是那么慢?它现在到底在干什么?时间都花到哪里去了?

面试官:简单谈谈 Java 程序性能优化?

1.

字符串处理优化,乃优化之源。

研发过程中,String 的 API 用的应该是最多,创建 String 对象,以及字符串分割处理那是常有的事儿。

1.1. 字符串分割,谁更胜一筹?

字符串分割,常用的方式有哪些?哪种方式好一些?

方式一,经常用 String 提供的 split() 方法来满足业务需求。

代码模拟了一些数据,然后程序跑起来,花费大约 3000 多毫秒。

方式二,采用字符串分割的工具类 StringTokenizer。

采用 StringTokenizer 完成 split() 同样的数据分割,花费大约 500 毫秒。

从运行效果, StringTokenizer 其效率高于 split() 方法。所以,在能够使用 StringTokenizer 进行处理的地方,就尽量使用 StringTokenizer 进行字符串分割处理。

另外,平时研发中,需要注意一点,在使用索引访问用 String 的 split() 方法得到的数组时,需做最后一个分隔符后有无内容的检查,否则会有抛异常的风险。

1.2. 字符串拼接,哪种方式更优?

方式一,使用 + 号拼接字符串。

程序跑起来,大约花费 27687 毫秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值