`
little-jj
  • 浏览: 1888 次
  • 性别: Icon_minigender_2
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

提高java程序性能和速度的小细节

阅读更多

        转自csdn.

        例一:应用具有I/O Buffer功能Class        

java 代码
  1. import java.io.*;    
  2.   public class IoTest   
  3.   {    
  4.    public static void main(String args[])   
  5.    {    
  6.     try  
  7.     {    
  8.      FileReader fr = new FileReader(args[0]);    
  9.      BufferedReader br = new BufferedReader(fr);    
  10.      while ( br.readLine() != null )   
  11.      {    
  12.       System.out.println(" The file content are :" + br.readLine());    
  13.      }    
  14.      fis.close();    
  15.     }   
  16.     catch ( IOException ioe )   
  17.     {    
  18.      System.out.println("The I/O exception is " + ioe);    
  19.     }    
  20.    }    
  21.   }    

   
  上例中,程序使用具有Buffer功能的Class,使得Disk I/O的读取速度大大提高。BufferedReader 是取代DataInputStream 而提高读写速度的Java Class。在新的Java版本中,已不建议使用DataInputStream,因为其读写是基于字符为单位的。


   
  例二:字符串运算处理
   
  

java 代码
  1. public class StringOperation   
  2.   {    
  3.    public static void main(String args[])   
  4.    {    
  5.     String sqlQuery = null;    
  6.     String sqlCondition = " conditionC = conditionD ");    
  7.     StringBuffer sb = new StringBuffer();    
  8.     sb.append("select * from database table where ");    
  9.     sb.append(" conditionA = conditionB and ");    
  10.     if ( ! sqlCondition.equals(null)   
  11.     {    
  12.      sb.append(sqlCondition);    
  13.     }   
  14.     else  
  15.     {    
  16.      sb.append(" conditionE = conditionF ");    
  17.     }    
  18.     sqlQuery = sb.toString();    
  19.     // Then connect to the database then excute the database query    
  20.     // .......    
  21.    }    
  22.   }   


  上例中,使用StingBuffer class来完成数据库查询建立,避免使用String class的"+="操作,以减少JVM在内存中创建新的对象,占用资源,增加JVM回收资源负担。读者可以使用Java Proflier功能来具体比较使用不同的String操作,JVM需要完成多少资源回收和运行时间。因此在JVM中对String直接进行"+="是非常昂贵的运算。

分享到:
评论

相关推荐

    小剧场短剧影视小程序源码 全开源 带支付等模式 付费短剧小程序源码.rar

    小剧场短剧影视小程序源码 全开源 带支付收益等模式 付费短剧小程序源码 多平台小程序支持 项目功能介绍 ...前端支持打包 抖音小程序,快手小程序,百度小程序,H5和微信小程序 需要哪个端就发行到哪个端即可

    Java项目源码之图片浏览小程序的实现(java+applet).zip

    图片浏览小程序是一个基于Java和Applet技术实现的简单图片查看器,旨在提供用户浏览本地图片的功能。以下是该小程序的一些关键特点和功能: 系统架构: 单机应用:该小程序为单机应用,不涉及客户端-服务器通信,...

    Java性能优化的50个细节(珍藏版)

    在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的...

    [Java算法设计]-数组排序.java

    该文档还涵盖了高级主题,如如何优化排序算法以提高性能以及如何将排序算法与其他Java程序集成。本资源适用于想要提高数组排序技能并解决复杂排序任务的初学者和有经验的Java程序员。 我们相信,这份资源将成为Java...

    mina高性能Java网络框架.rar

    Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使Java NIO在各种传输协议...

    计算机专业毕业设计-微信小程序案例-ssm微信小程序的短视频系统-毕设源码+说明文档.rar

    2. 说明文档:详细阐述了项目的需求分析、设计思路、实现细节和测试报告。 3. 数据库脚本:用于创建和初始化数据库表结构。 4. 开发环境配置文件:包括服务器配置、数据库连接配置等。 五、二次开发与定制 该系统...

    Java高级程序设计实验报告-FTP服务器设计与实现.doc

    《Java高级程序设计实验报告-FTP服务器设计与实现.doc》是一份深入探讨FTP服务器设计和实现的高级Java程序设计实验报告。本报告旨在介绍与讲解FTP服务器的构建、工作原理以及各种关键功能的实现细节。 在这份报告中...

    面向对象设计原理与模式(Java版)

    在进行理论介绍的同时,《面向对象设计原理与模式(Java版)》十分重视实践技能的培养,一些较为综合的实例贯穿了相关的知识点,使学生理解并掌握它们在程序设计中的真正用处和在提升程序性能方面的作用。...

    基于java的微信小程序的新乡学院自习室预约系统-源码.rar

    注释详尽:为了让学习者更好地理解代码逻辑和实现细节,源码中的关键部分都附有详尽的中文注释,降低学习门槛。 模块化设计:源码采用模块化的设计思想,结构清晰、易于扩展,方便用户根据自己的需求进行定制和修改...

    基于微信小程序的服装购物平台(含论文)

    内容概要:本文介绍了一个基于微信小程序的...阅读建议:建议关注文中介绍的系统设计思路和技术实现细节,特别是微信小程序的开发技术和电商平台的功能模块设计,有助于理解如何在微信生态内构建有效的商业解决方案。

    Java数据编程指南

    一些Java细节 设计性事务处理 铭记要点 小结 第21章 开发EJB客户机 引言 EJBs的客户机 小结 第22章 开发可扩缩的EJB应用程序 引言 Enterprise JavaBeans的优点 EJB的广阔开放空间...

    Java虚拟机规范中文版

    它是一份保证各个公司的Java虚拟机实现具备统一外部接口的契约文档,书中的概念和细节描述曾经与Sun的早期虚拟机的实现高度吻合,但是随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述的...

    java版飞机大战源码-java-performance:Java系统性能优化实战

    高性能的程序,都没有容易二字,都是一个细节一个细节抠出来的,希望李兄的这本书可以帮到更多Java工程师和架构师,也祝本书的读者以后Bug少少、性能高高。 ——tanh耀武(知名网络框架t-io创始人,目前任牛吧云播...

    Java虚拟机规范(Java SE 7)

    它是一份保证各个公司的Java虚拟机实现具备统一外部接口的契约文档,书中的概念和细节描述曾经与Sun的早期虚拟机的实现高度吻合,但是随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述的...

    基于java的-104-202202059. 学习啦!--MHK在线学习小程序-源码.zip

    注释详尽:为了让学习者更好地理解代码逻辑和实现细节,源码中的关键部分都附有详尽的中文注释,降低学习门槛。 模块化设计:源码采用模块化的设计思想,结构清晰、易于扩展,方便用户根据自己的需求进行定制和修改...

    移动开发-侧滑布局-小程序-界面设计

    侧滑布局是一种常见的用户界面设计模式,特别适用于提高小程序的导航效率和界面整洁度。在微信小程序中实现侧滑布局可以为用户提供更流畅的交互体验,尤其是在需要快速切换视图或访问多级菜单时。此资源提供了如何在...

    JAVA面试题最全集

    请写一个java程序实现线程连接池功能? 44.给定一个C语言函数,要求实现在java类中进行调用。 45.如何获得数组的长度? 46.访问修饰符“public/private/protected/缺省的修饰符”的使用 47.用关键字final修饰一...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    基于JAVA的学生成绩管理系统的设计与实现.doc

    基于JAVA的学生成绩管理系统的设计与实现 摘 要:本文按照目前流行的B/S体系结构模式,结合现有的学生成绩管理系统的现状,采用 SQL Server 2000数据库和JAVA技术,设计开发了学生成绩管理系统系统,本系统分为前台...

Global site tag (gtag.js) - Google Analytics