网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java套接字实现网络编程之基础篇.
.Java程序性能测试.
.重用java.util.Observable类.
.Java 中怎样在程序中设置代理服务.
.在unix里替换文字的程序.
.java类型转换与强制类型转换.
.SCJP认证套题解析之八.
.Think in java 3rd 中文版2.
.Eclipse配置SQLExplorer访问数据.
.再谈谈一些J2ME规范.
.介绍——用户认证管理设计方案.
.j2se_api_中文.
.学习和使用继承时先要清楚的三点.
.DudoJ框架——最初的设想.
.2005 JDJ Readers Choice Awards.
.J2ME 实现可伸展目录树TreeList(.
.关于Config参数和Context参数的访.
.用JBuilder7开发一个简单的J2EE .
.EJB核心技术及其应用(2).
.14.7.4 Addition operator.

使用特定的包在Java中高效处理日志记录

发表日期:2008-1-5



  这几天,由于工作的原因对以前开发的系统进行了测试。这个系统主要作用就是传输数据,将一个数据库的数据搬到另外一个数据库中,期间可能需要通过Internet,而目标的接收者也不一定再线的这么一个咚咚。
  
    测试了两种数据库,分别对其进行数据转入转出处理。常被人说你写的程序效率低,不可用。其实不然,这次测试发现原来配置非常重要:
  
    1) 编码
  
    由于程序使用Java写的,又要兼容各个不同的数据库,因而需要对字符串型的数据进行编码转换。
  
    String str = new String(rs.getString(i).getByte(databaseEncoding));
  
    当数据量小的时候,察觉不出来,当数据量大时就发现这个消耗有些惊人。
  
    if(databaseEncoding.equals(fileEncoding)){
  
      return new String(rs.getString(i).getByte(databaseEncoding));
  
    }
  
    经过更改后,当fileEncoding和databaseEncoding时,数据处理效率提高5倍以上。
  
    2)硬盘
  
    在做测试时,当数据库与应用在同一台机器上时,发现硬盘灯从来就没有熄灭过。移开应用程序到另外一台机,重现测试,发现性能至少提高50%。这和我以前的经验相反。经过分析发现,原来我使用的是笔记本,硬盘只有4200rpm。当数据量大时,硬盘根本应付不过来。分开应用后,JDBC写入数据的网络通信开销要小于硬盘资源争夺的开销,速度当然提上去了。
  
    看来不同环境下同一应用,做测试结论不一定都相同。
  
    3)综合损耗
  
    做测试时,发现系统最优性能既不是数据较小时,也不是数据最大时,而是在一个中间值。分析发现,程序运行有一些“综合损耗”,这些综合损耗不论你数据大或小都客观存在,如取数据连接、格式校验等。当数据量小时,这些损耗占的时间比重就多,而当数据量大时,虽然这些综合损耗占的比重少,但是数据量大占的“动态损耗就多了”。只有在中间某一个值时,两种损耗都不是非凡显现时,系统运行的效率达到了最高值。
上一篇:Java 2 源码解读:java.util.ArrayList 人气:1350
下一篇:.net 的 MSMQ 异步调用全过程分析 人气:636
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐