Java性能优化的5个技巧

原创 2017年06月06日 20:53:56

Java性能优化的5个技巧

  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

要优化Java代码需要正确的分析它的工作机制,影响性能优化有几个因素,比如垃圾收集、操作系统的设置、虚拟机的设置等。

1. 从最小堆分配开始

推荐从最小堆分配开始。然后根据应用程序的实际需要来逐渐增加最小堆,可以通过下面的指令来指示JVM在发生OutOfMemoryError异常时倾倒堆数据:

-XX:+HeapDumpOnOutOfMemoryError

对可用内存的适当利用是优化应用速度的好办法。

一开始时,堆尺寸保持在1GB~7GB之间就足以了。然后取决于老一代和新生代对象的比例进行调整。

2. 使用Java性能工具

业界有几个Java性能工具,比如VisualVM、YourKit、Java Mission Control等,可用于跟踪应用程序的性能。

NetBeans开发工具的Profiler也是一个很好的选择。

3. 使用StringBuilder代替“+”操作符

对于字符串的操作,其中如果用到了“+”操作符,那么应该改用StringBuilder代替。比如上面的代码。

这样使得字符串值修改更容易,而且不会对垃圾收集器GC造成额外的压力。

StringBuilder x = new StringBuilder("a");
x.append(args.length);
x.append("b");
if (args.length == 1);
x.append(args[0]);

4. 避免使用迭代器

如果代码像这样:

for (String value: strings) {
 // Do something useful here
}

那么在每次运行这个代码时,都会创建一个新的迭代器实例,而这会消耗大量的内存。

故建议使用下面的代码:

int size = strings.size();
for (int i = 0; i < size; i++) {
 String value: strings.get(i);
 // Do something useful here
}

如果实际的列表对象不需要真正发生改变,那么还可以在其阵列版本上操作,比如:

for (String value: stringArray) {
 // Do something useful here
}

编写基于索引的迭代非常有用。

5. 具有更好的并行控制

并行是把多个应用程序以彼此并行的方式运行。为了解决多请求的Web流,推荐使用带乐观锁的分离实体或扩展的持久上下文。

此外,了解关系数据库管理系统RDBMS和数据访问框架的内部机制对提高数据访问层的性能至关重要。

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

MyEclipse查询类/定位类快捷键

查询类:ctrl+shift+T/G 定位类:alt+shift+w 其他的我博文中大概都有常用的从其他博文中找到的 下面在随便列举几个 1. 【Ctrl+K】、【Ctrl++...
  • AinUser
  • AinUser
  • 2017年04月19日 13:57
  • 404

JavaEE平台下CRM系统开发

随机课程截图:   课程目录: │  中国电信CRM开发文档.rar │  数据库脚本--直接附加到数据库.rar │   ├─01第一讲:需求分析 │      01第一讲:需求分...

优化Java堆大小的5个技巧

  • 2012年08月21日 15:16
  • 41KB
  • 下载

优化Java堆大小的5个技巧

优化Java堆大小的5个技巧 2012-07-25 09:13 | 2268次阅读 | 【已有4条评论】发表评论 来源:CSDN编译 | 收藏到我的网摘 本文作者...

优化Java堆大小的5个技巧

本文作者Pierre是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。根据他多年的工作实践经验,他发现许多性能问题都是由Java堆容量不足和调优引起的。下面他...

优化Java堆大小的5个技巧

本文作者Pierre是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。根据他多年的工作实践经验,他发现许多性能问题都是由Java堆容量不足和调优引起的。下面他...

优化Java堆大小的5个技巧

本文作者Pierre是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。根据他多年的工作实践经验,他发现许多性能问题都是由Java堆容量不足和调优引起的。下面他...

Java性能优化技巧集锦

  • 2008年01月15日 14:02
  • 34KB
  • 下载

Java性能优化技巧集锦

  • 2009年03月05日 23:32
  • 90KB
  • 下载

Java线程的5个使用技巧

Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java性能优化的5个技巧
举报原因:
原因补充:

(最多只允许输入30个字)