- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Java程序优化大全》.doc
Java程序优化大全
颜色说明
颜色 说明 *****橙色***** 重点优化对象,必须遵守。 *****黑色***** 能够提高性能,建议使用,但是不强制要求。 避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:import java.util.Vector;
class CEL
{
void method(Vector vector)
{
for (int i = 0; i vector.size(); i++) // Violation
; // ...
}
}
更正:
class CEL_fixed
{
void method (Vector vector)
{
int size = vector.size();
for (int i = 0; i size; i++) ; // ...
}
}
为Vectors 和 Hashtables定义初始大小JVM为Vector扩充大小的时候需要重新创建一个更大的数组,将原原先数组中的内容复制过来,最后,原先的数组再被回收。可见Vector容量的扩大是一个颇费时间的事。通常,默认的10个元素大小是不够的。你最好能准确的估计你所需要的最佳大小。例子:import java.util.Vector;
public class DIC
{
public void addObjects(Object[] o)
{
// if length 10, Vector needs to expand
for (int i = 0; i o.length; i++)
{
v.add(o); // capacity before it can add more elements.
}
}
public Vector v = new Vector(); // no initialCapacity.
}
更正:自己设定初始大小。 public Vector v = new Vector(20);
public Hashtable hash = new Hashtable(10);
在finally块中关闭数据库连接、I/O流操作,以释放资源程序中使用到的资源应当被释放,以避免资源泄漏。这最好在finally块中去做。不管程序执行的结果如何,finally块总是会执行的,以确保资源的正确关闭。例子:import java.io.*;
public class CS
{
public static void main(String args[])
{
CS cs = new CS();
cs.method();
}
public void method()
{
FileInputStream fis = null;
try
{
fis = new FileInputStream(CS.java);
int count = 0;
while (fis.read() != -1)
{
count++;
}
System.out.println(count);
}
catch (FileNotFoundException e1)
{
}
catch (IOException e2)
{
}
finally
{
fis.close();
}
}
}
使用System.arraycopy ()代替通过来循环复制数组System.arraycopy () 要比通过循环来复制数组快的多。例子:public class IRB
{
void method()
{
int[] array1 = new int[100];
for (int i = 0; i array1.length; i++)
{
您可能关注的文档
- 《Java Web开发详解51》.pdf
- 《Java Web开发详解52》.pdf
- 《Java Web开发详解53》.pdf
- 《Java Web开发详解54》.pdf
- 《Java Web开发详解55》.pdf
- 《Java Web开发详解6》.pdf
- 《Java Web开发详解7》.pdf
- 《Java Web开发详解8》.pdf
- 《Java Web开发详解9》.pdf
- 《JAVA 企业级开发:ORM 对象映射》.ppt
- 2024_2025学年高中政治第三单元收入与分配7.1按劳分配为主体多种分配方式并存课时分层作业含解析新人教版必修1.doc
- 中医感冒课件完整版.ppt
- 2025届高考历史一轮复习模块3第11单元古代中国的思想科技和文艺第34讲宋明理学课时跟踪含解析新人教版.doc
- 2024_2025学年新教材高中地理第三单元区域联系与区域发展第二节产业转移对区域发展的影响__以亚太地区为例课时检测含解析鲁教版选择性必修第二册.doc
- 2025年短保面包公司发展战略和经营计划.docx
- 2025高一历史寒假作业同步练习题古代商业与经济政策含解析.doc
- 2025高考地理一轮复习第十二单元区域资源环境与可持续发展第1讲区域水土流失及其治理__以黄土高原为例学案鲁教版.doc
- 2025届高考英语二轮复习专题讲义全程跟踪专题五形容词副词和数词.doc
- 东菱SY10-2型冲击台操作手册.docx
- 经络穴位:中医护理的健康开关.pptx
文档评论(0)