Java技巧:提高J2SE性能的代码技巧(下)

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  6.新I/O

  ■ 在JDK1.4或更高版本,java.nio包给出了更多I/O选项

  一 正则表达式匹配

  一 内存映射缓存

  一 非中断I/O

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

  7.序列化

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

  一 添加Serializeable接口标记你的类

  一 通过ObjectInputStream/ObjectOutputStream

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

  ■ 序列化可能会非常昂贵

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

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

  一 序列化是非常繁冗的

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

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

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

  8.序列化:transient关键字

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

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

  Private transient String name;

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

  9.序列化:Externalizable接口

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

  Public void readExternal(ObjectInput out)

  Public void writerExternal(ObjectOutput out)

  ■ 程序员完全要负责:

  一 管理序列化内容

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

  10.Externalizable

  

[1][2]

陪我们走过一段别人无法替代的记忆。

Java技巧:提高J2SE性能的代码技巧(下)

相关文章:

你感兴趣的文章:

标签云: