您现在的位置:首页技术文章

思途|Java培训机构之优化Java性能的10个技巧(下)--中享思途

接上文,思途Java就业培训将会继续为大家推荐Java性能优化的剩余6项技巧,请带好小本本:

5.使用StringBuilder以编程方式连接String

有很多不同的选项来连接Java中的String,哪种方式最好呢?这要取决于连接String的代码。
如果你是以编程方式添加新内容到String中,例如for循环,则应该使用StringBuilder,因为它很容易,又能提供良好的性能。但是,与StringBuffer相比,StringBuilder不是线程安全的,不能适应所有案例。

6.使用+连接一个语句中的String


当你利用Java实现了首个程序时,或许有人会告诉你不该用+来连接String。字符串是不可变的,每个字符串的连接结果都存储在一个新的String对象中,这会让程序速度减慢,更别说在一个循环内连接多个字符串的情况下了。这时,我们应该遵循技巧5并使用StringBuilder。

7.尽可能使用基元


在保证成本的前提下,实现程序性能提升的另一个简单方法,是使用基本类型而不是其包装类。所以,最好使用int来代替Integer,使用double来代替Double。让JVM将值存储在堆栈而不是堆中以减少内存消耗,并作出更有效的处理。

8.试着避免BigInteger和BigDecimal


BigInteger和BigDecimal比简单的long或double需要更多的内存,并会让所有计算的速度明显减慢。所以,在你需要额外的精度,或数字超过long范围的情况下,请一定要三思后行。

9.首先检查当前日志级别


在你创建调试消息之前,始终应该首先检查当前日志级别;不然那,你可能会创建一个之后会被忽略的日志消息字符串。看一下反面例子:
// don’t do this
log.debug(“User [” + userName + “] called method X with [” + i + “]”);
// or this
log.debug(String.format(“User [%s] called method X with [%d]”, userName, i));

10.使用Apache Commons StringUtils.Replace而不是String.replace

String.replace方法虽然效率很高,但如果你的应用程序需要大量的替换操作,并且没有更新到最新的Java版本,那我们依然有必要找到更快和更有效的替代品。
有一个比较好的备案,是Apache Commons Lang的StringUtils.replace方法,它远胜Java 8的String.replace方法。只需要添加Apache Commons Lang项目的Maven依赖项到应用程序pom.xml中,并将String.replace方法的所有调用替换为StringUtils.replace方法。
// replace this
test.replace(“test”,“simple test”);
// with this
StringUtils.replace(test, “test”,“simple test”);

 st_bottom
青岛Java培训,青岛HTML5培训,青岛UI培训,青岛web开发培训,青岛IT培训,java培训,ui培训,HTML5培训,java就业培训,专业ui设计,web开发培训,IT培训,思途教育,青岛思途,中享思途
Copyright © 青岛思途共享科技信息服务有限公司 鲁ICP备14027489号-2

鲁公网安备 37021402000988号

青岛Java培训,青岛HTML5培训,青岛UI培训,青岛web开发培训,青岛IT培训,java培训,ui培训,HTML5培训,java就业培训,专业ui设计,web开发培训,IT培训,思途教育,青岛思途,中享思途