`

java 代码优化(一)

 
阅读更多
1.循环优化
缺:
List alist=uSvr.getUserinfoList();

          for(int i=0;i<alist.size();i++){

}

此种方式会一直去执行alist.size()方法,带来性能消耗,改为
for(int i=0 p=alist.size();i<p;i++){
   
}



2.循环内不要创建对象
缺;
for(int i=1;i<=domainCount;i++){
        .            
AuditResult auditResult = new AuditResult();
                ..
}


这种做法会在内存中保存N份这个对象的引用//会浪费大量的内存空间,改为

AuditResult auditResult;
for(int i=1;i<=domainCount;i++){
        .            
auditResult=new AuditResult();
                ..
}



3.  什么样的对象可以将其认定为不可视阶段呢?举个例子吧,在try{...}catch(Exception){...}代码中,如果在try的代码块中声明了一个obj,那么当整个 try{...}catch(Exception){...}代码段执行完毕以后这个obj实际上就已经属于不可视阶段了。

所以,应该采用如下方式
try{
   
   Object obj=new Object();
}catch(Excepione e){
obj=null;
}




4.少用new创建对象
用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。
缺:
在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用clone()方法创建新的对象实例非常简单。例如,下面是Factory模式的一个典型实现:
public static Credit getNewCredit() 
  { 
     return new Credit(); 

  } 



改为
private static Credit BaseCredit = new Credit(); 
  public static Credit getNewCredit()  { 
   return (Credit) BaseCredit.clone(); 
  } 


当new创建对象不可避免时,注意避免多次的使用new初始化一个对象。 尽量在使用时再创建该对象。

NewObject object = new NewObject();
int value;
if(i>0 )
{
 value =object.getValue();
} 


改为
int value;
if(i>0 )
{
 NewObject object = new NewObject();
 Value =object.getValue();
} 


5.乘法和除法考虑

缺:

 for (val = 0; val < 100000; val +=5) { 
   alterX = val * 8; 
   myResult = val * 2; 
  } 


改为:
for (val = 0; val < 100000; val += 5) { 
   alterX = val << 3; 
   myResult = val << 1; 
  } 



6.尽量多的使用stringbuffer


7清除Session
  通常情况,当达到设定的超时时间时,同时有些Session没有了活动,服务器会释放这些没有活动的Session,.. 不过这种情况下,特别是多用户并访时,系统内存要维护多个的无效Session。
当用户退出时,应该手动释放,回收资源,实现如下:
HttpSession theSession = request.getSession();
// 获取当前Session
if(theSession != null){
 theSession.invalidate(); // 使该Session失效
} 




NOTE:堆内存是在JVM启动的时候创建,堆内存分为新对象与老对象。对于新对象好像会分三个区域。当优先级最高的区域的堆栈满了以后JVM将会进行测试,测试内容是那些对象不可到达,不可到达的对象将会放入到老对象区域。同时JVM会将所有对象拷贝到另外两个区域中,然后经过一段时间依然没有引用的对象会进入老对象区域。对于老对象区域而言基本上就是等待被GC回收的对象了。






分享到:
评论

相关推荐

    JAVA代码优化工具

    Java代码优化是提升应用程序性能的关键步骤,尤其是在大型企业级应用或者高性能服务中。优化能够减少内存消耗,提高程序运行速度,降低CPU使用率,并改善整体的用户体验。在Java开发领域,有多种工具可以帮助开发者...

    JAVA代码优化.txt

    JAVA代码优化 JAVA代码优化 JAVA代码优化 JAVA代码优化 JAVA代码优化

    java代码优化大全

    综上所述,Java代码优化是一个多方面的过程,涉及到对象管理、循环优化、异常处理以及数据结构的选择等多个方面。开发者应当具备良好的编程习惯和对Java语言特性的深入理解,才能写出既高效又易于维护的代码。此外,...

    java代码优化简介

    Java代码优化是对程序进行改进的过程,旨在提升程序的运行效率,减少资源的消耗。优化主要关注两个方面:减小代码体积和提高代码执行效率。在Java中,性能问题往往源于编程习惯而非语言本身。以下是一些针对Java代码...

    java代码优化编程

    【Java代码优化编程】 在Java编程中,代码优化是一个关键环节,目的是使程序在有限的资源下更高效地运行。优化主要包括两个方面:减小代码体积和提高代码执行效率。以下是一些关于如何提高Java代码效率的具体策略:...

    Java代码优化细节总结

    代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃...

    44条Java代码优化建议

    Java代码优化是一个持续的过程,它包含了许多细节和技巧,能够帮助开发者编写出更高效、更易于维护的代码。在这44条Java代码优化建议中,我们可以提炼出一些核心的知识点,为Java编程实践提供参考。 首先,关于为...

    JAVA代码优化实用策略

    非常实用的java代码优化策略详解,从变量声明、初始化、字符串链接、异常处理、IO、数组等各个方面进行优化,非常有参考价值。

    java 代码重构优化 Java 代码优化 java设计优化

    以上就是关于Java代码重构、优化以及设计优化的一些关键点,这些知识不仅能提升代码质量,还能帮助开发者更好地应对项目中的各种挑战。通过深入学习《重构-改善既有代码的设计》这样的经典书籍,你可以进一步提升...

    java代码优化

    这篇博客文章“java代码优化”可能涵盖了多种优化策略和技术,虽然具体的内容没有给出,但我们可以根据常规的Java代码优化实践来探讨相关知识点。 1. **变量优化**: - 避免过度使用`null`检查。Java 8引入了...

    Java代码优化....................

    java代码优化 个人感觉这写的不错. 值得学习!

    29个要点帮你完成java代码优化

    通过java代码规范来优化程序,优化内存使用情况,防止内存泄露 可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小...

    JAVA代码性能优化

    java代码性能优化

    通过java代码规范来优化程序

    通过java代码规范来优化程序

    29个要点帮你完成java代码优化.pdf

    29个要点帮你完成java代码优化

    java代码优化编程共11页.pdf.zip

    这份"java代码优化编程共11页.pdf.zip"压缩包很可能包含了一份详尽的Java代码优化教程,共计11页,涵盖了多个核心主题。虽然我们无法直接查看压缩包内容,但根据题目要求,我们可以深入探讨一些常见的Java代码优化...

    Java编写的安卓系统优化软件源代码.rar

    总结来说,这款Java编写的安卓系统优化软件源代码,为我们提供了一个深入了解安卓系统优化技术的实践样本。通过对源代码的学习和研究,我们可以提升在安卓开发领域的技能,更好地应对性能优化和系统维护的挑战。

    JAVA代码规范及快捷键优化.docx

    JAVA代码规范及快捷键优化 在软件开发过程中,代码规范和快捷键优化是非常重要的两个方面。以下是关于JAVA代码规范和快捷键优化的知识点总结: 一、JAVA代码规范 1. 空格规范:在编写JAVA代码时,需要遵守统一的...

Global site tag (gtag.js) - Google Analytics