更新时间:2022-07-12 11:57:12 来源:极悦 浏览987次
优化 Java 代码需要对其工作方式进行适当的分析。有几个因素会影响性能优化,例如垃圾收集、操作系统设置和虚拟机。
我建议您从最小内存分配开始。然后,您可以根据程序要求逐渐增加它。您可以通过向 JVM 添加以下参数来指示 JVM 将堆转储到 OutOfMemoryError 异常中:
-XX:+HeapDumpOnOutOfMemoryError
正确利用可用内存是优化速度的好方法。
1GB 到 7GB 的堆大小足以开始使用。它应该取决于老一代与新一代对象的比率。
有几个Java 性能工具,如 VisualVM、YourKit、Java Mission Control 等,您可以使用它们来跟踪您的应用程序性能。
NetBeans 分析器也是一个不错的选择。NetBeans IDE支持开箱即用的所有 Java 应用程序类型 Java SE(包括 JavaFX)、Java ME、Web、EJB 和移动应用程序的开发。
下面的代码可以方便地代替两个单独的代码StringBuilder:
StringBuilder x = new StringBuilder ( "a" );
x。附加(参数。长度);
x。附加(“b”);
如果(参数。长度 == 1);
x。附加(参数[ 0 ]);
这使得任何修改都很容易,而不会给 GC 带来额外的压力。
如果我们使用如下代码:
for(字符串 值:字符串){
// 在这里做一些有用的事情
}
然后每次我们运行这段代码时,都会创建一个新的迭代器实例,它会消耗我们的大部分内存。
相反,建议使用以下代码:
整数 大小 = 字符串。大小();
for ( int i = 0 ; i < 大小; i ++ ) {
字符串 值:字符串。得到( i );
// 在这里做一些有用的事情
}
或者,如果您的列表没有真正改变,您甚至可以对它的数组版本进行操作:
对于(字符串 值:字符串数组){
// 在这里做一些有用的事情
}
编写基于索引的迭代非常有用。
并发性是能够彼此并行运行多个程序的能力。
对于处理多请求 Web 流,建议使用带有分离实体的乐观锁定EXTENDEDPersistence Context或.
此外,必须了解关系数据库管理系统 (RDBMS) 的内部工作原理和数据访问框架,以提高数据访问层的性能。
以上就是关于“5个Java技能优化技巧”的介绍,大家如果想了解更多相关知识,可以关注一下极悦的Java极悦在线学习,里面的课程内容细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助哦。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习