您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 加快Java的文件序列化速度.pdf
  所属分类: Java
  开发工具:
  文件大小: 296kb
  下载次数: 0
  上传时间: 2019-07-02
  提 供 者: aba****
 详细说明:自从第一个Java版本开始,很多开发人员一直都在尝试让Java获得最少和C/C++一样的表 现。JVM提供商尽他们最大的努力去实现一些新的JIT算法,但是还是有很多需要做的,特别 是在我们使用Java的方法上。dIm nu11){ 0 ectoutp u-stream close() 3 提升标准序列化速度的最简单方法时使用 Randomaccessfile对象: 01 p ublic oid testNrit Buffere d(Test○b ject test s-ring fileNa throws ion Object Outputs ∈ai obiect○u putstre nu11; 03 Y 04 Rand omaccess File raf new RandomEd sessIle (fileNam File Outputs. ream fos new Fillout u-stream (raf. get FD(); 06 bje oUtput 一下a2m new Ch t ou tputstre am(fos) 07 bie c-O:tput reain tobie -(test 08 £ina11 If (object u-putstr 11){ 0 b ectoutp u-stream CI 1 更高深点的技术是使用Krw框架,新旧版本的差距是很大的,我做过测试。因为性能比较上 并没有体现出特别引人注意的差异,所以我将使用2.x版本,因为它对用户更友好而且更快 止 01 prlvate static Kro new Kryo()氵 version public oid testNrit eBuffere d(Test.ob j∈Ct 七est Scrin fileName ) throws CExcept ii 04 Output output null try i omAccess Fil Cess woFe 1⊥e (fil Nam 07 lew Cutput(n ew Fileoutp ustream (raf. get MAX BUFF ER STZE) rite○b ject(out put test)i finall if (outout =nu11) 11 ○u tput Clo e(); 2 最后一个方案是在 Martin Thompson的文章中提到的( Native c/C++ Like performance for ava Obiect Serialisation),介绍了怎样在Java中像C++那样和内存打交道。 01 publi void testwnrit eBuffere d(restor Ject test fileName throws 上 xcept Rand AccessEd 1∈raf null try t 04 buFfer memory ffer new MemoryS fter(AX BUFFER S工2三) 05 raf new sessile (fileNam 06 test write( emoryBuf fer rat write(me moryBuff r getOu ffer( 08 catch (工 DExcep 1F (raf nu11){ 0 f close( 2 Testobject写入方法如下: 01 public void write(Me cryBuff e 1 unsafe ffer)i 02 unsafe Buffer u-Long(1 angaria 1e); 03 usaf Buffer. p utlongAr ray(long Array)i 04 //we support 11 05 boolea objectEd 1sts siringo ject I= nu11 06 unsafe Buffer.p ucBoolea n(object Exists)i 07 If (objecte xists)f 08 unsd feB ffer putchar Array (st ringobie c-, toCha Array( 09 object Exists seconds ringobje C-!= nu11; usafe Buffer.p ucBoolea n(object Exists if (objectE xists)( feB. ufc nfh a Array(se condstri object g=r 直接内存缓冲区类(已简化了的,仅仅为」展示这个思想) publ class Memorybu ffer f 02 tting gUbxo enyen sate flect public at tin na i1f Sare unsafe Unsafe 1. getUn safe( 04 05 privat e final byte[] 上 utter 06 Px工va七 e stati final ong byteArra botset fe rrayBase Offset(b te「1.c1 ass privat e static final ong langara yOffset unsafe. a rraybase Offset (1 ong[].Cl ass)i -he REsets 0 privat 七atic final int SIZE OF LONG 2 cher e s 14 ivat ng pce-0 public Memoru ffer(int buffers z∈ buffer new byte [buf fersize _8 olic final yte[] getBuffe Iffer 22 24 public final void FulOng( ona value) unsa fe. puto ng(buffe kyteArra yOffset pos, value)i 26 SIZ三F 工NG 28 pnn a l ond geelong( 30 long res lt unsafe. g e=Long(b uffer 上 terRa yoffset pos)i sI2三OF ⊥ONG; retu n reslt: 34 public final void
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: