知识大全 提高J2SE性能的代码技巧(下)

Posted

篇首语:哪有什么四季,遇见你,四季如春。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 提高J2SE性能的代码技巧(下)相关的知识,希望对你有一定的参考价值。

Java技巧:提高J2SE性能的代码技巧(下)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   格式化

  ■ 文本格式化类

  一 java text DateFaormat

  一 java text NumberFaormat

  一 java text MessageFaormat

  可能非常慢

  ■ 例如 第一次调用DateFormat geInstance()创建超过 个对象

  ■ 每次调用DateFormat format创建 个对象 加上第一次调用时的那次

  一 重用同一个DateFormat实例而不是重复调用DateFormat getInstance是很值得做的

  ■ 其它的格式化类有相似的特点

   XML处理 SAX

  ■ 处理XML文档的低级 事件驱动库

  ■ 最好的选择 如果

  一 你需要以线性的方式遍历整个文档

  一 你只需要查看几项

  一 内存效率是一个问题

   XML处理

  ■ 试着在你的应用程序里消除处理特定XML对象

  ■ 通过一个RMI调用传递DOM树 结果会使整个java对象树序列化 通常会 倍甚至更多的空间

   Buffered I/O

  ■ I/O类默认不缓冲

  ■ 为你的I/O流使用缓冲的包装器

  BufferedOutputStream

  BufferedInputStream

  BufferedReader

  BufferedWriter

  ■ 尝试在构造方法中使用缓冲大小参数

  一 BufferedInputStream:默认 个字节(JDK )

  一 BufferedReader:默认 个字符(JDK )

   流与Readers

  ■ 在java里有两个并行的I/O接口

  Reader和Writer

  一 BufferedInputStream:字符序列( bit)

  InputStream和OutputStream

  一 字节序列( bit)

  ■ 处理基于文本的文件 Readers&Writers更快

  更快的幅度达 %

  参考O Reilly的 java Performance Tuning 第八章

   新I/O

  ■ 在JDK 或更高版本 java nio包给出了更多I/O选项

  一 正则表达式匹配

  一 内存映射缓存

  一 非中断I/O

  ■ 这些能提供更高的I/O性能

   序列化

  ■ 使一个对象 变平 允许使它流化成一个文件(为了存储)或者网络连接(为了传输)

  一 添加Serializeable接口标记你的类

  一 通过ObjectInputStream/ObjectOutputStream

  ■ 序列化被远程方法调用广泛使用

  ■ 序列化可能会非常昂贵

  一 当你序列化一个对象时 这个对象可达的每个对象都会被序列化 可能会有非常多的对象

  一 除了内部虚拟机程序 还会大量使用反射

  一 序列化是非常繁冗的

  只有一个int数据的类占用 个字节

  序列化的对象包括了每个类成员及其值的全限定名

  一 速度是不对称的 反序列化比序列化速度更慢

   序列化 transient关键字

  ■ 可以重新定义序列化动作

  一 使用transient关键字指出不需要在序列化流中包含的成员变量

  Private transient String name;

  一 这让你可以指出对象里不重要的成员变量或者当对象读入内存时可以重新计算的成员变量

   序列化 Externalizable接口

  ■ 消除序列化负载 实现Externalizable接口而不是Serializable

  Public void readExternal(ObjectInput out)

  Public void writerExternal(ObjectOutput out)

  ■ 程序员完全要负责

  一 管理序列化内容

  一 调用readExternal()/wirteExternal()方法序列化对象

   Externalizable

cha138/Article/program/Java/JSP/201311/19550

相关参考

知识大全 使用缓冲提高输入/输出的性能

  JavaIO的性能可以使用标准的缓冲类提高    如果要求从磁盘上读取数据它会试图读取内存中已有的数据如果代码希望向磁盘写一些东西它可能在完成写操作前将输出在内存中存放一段时间以等待更多的数据  

知识大全 通过自定义函数提高服务器性能

  在应用程序开发中可以通过函数来提高系统的性能与代码的重复利用在SQLServer数据库中也可以通过自定义函数来提高服务器的性能用户自定义函数可以从外部接受必要的参数并在内部执行一些复杂的操作最后返

知识大全 提高ASP.Net应用程序性能的十大方法(下)

提高ASP.Net应用程序性能的十大方法(下)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!六后台

知识大全 Java程序性能优化-代码调优

Java程序性能优化-代码调优  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   代码调

知识大全 高级扫描提高数据库查询性能

  一高级扫描使用举例  通常情况下在数据查询的时候数据库会利用索引或者通过全表扫描来查找数据但是如果需要的数据在数据库中存储不连续或者需要查找的记录比较多时此时索引的效果就会大打折扣在这种情况下数据

提高农机的性能的方法

一、磨合磨合是一个循序渐进的过程,必须从小油门低转速、低档位、低负荷开始,逐步加大到高转速、高档位、大负荷。其目的是在良好的技术条件和润滑条件下,通过缓慢的增加负荷,逐步磨去零件配合表面的不平部分,为

提高农机的性能的方法

一、磨合磨合是一个循序渐进的过程,必须从小油门低转速、低档位、低负荷开始,逐步加大到高转速、高档位、大负荷。其目的是在良好的技术条件和润滑条件下,通过缓慢的增加负荷,逐步磨去零件配合表面的不平部分,为

“三到位”提高农机的性能

一、新机磨合要到位磨合是一个循序渐进的过程,必须从小油门低转速、低档位、低负荷开始,逐步加大到高转速、高档位、大负荷。其目的是在良好的技术条件和润滑条件下,通过缓慢的增加负荷,逐步磨去零件配合表面的不

“三到位”提高农机的性能

一、新机磨合要到位磨合是一个循序渐进的过程,必须从小油门低转速、低档位、低负荷开始,逐步加大到高转速、高档位、大负荷。其目的是在良好的技术条件和润滑条件下,通过缓慢的增加负荷,逐步磨去零件配合表面的不

知识大全 J2SE简介

J2SE简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  多数编程语言都有预选编译好的类库以支