Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

java ÄÚ´æÓ³ÉäÎļþ (ת) ´óÎļþ²Ù×÷·½Ê½


ÄÚ´æÓ³ÉäÎļþ(memory-mapped file)ÄÜÈÃÄã´´½¨ºÍÐÞ¸ÄÄÇЩ´óµ½ÎÞ·¨¶ÁÈëÄÚ´æµÄÎļþ¡£ÓÐÁËÄÚ´æÓ³ÉäÎļþ£¬Äã¾Í¿ÉÒÔÈÏΪÎļþÒѾ­È«²¿¶Á½øÁËÄڴ棬Ȼºó°ÑËüµ±³ÉÒ»¸ö·Ç³£´óµÄÊý×éÀ´·ÃÎÊÁË¡£ÕâÖÖ½â¾ö˼·ÄÜ´ó´ó¼ò»¯ÐÞ¸ÄÎļþµÄ´úÂë¡£ÏÂÃæ¾ÍÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£º
´úÂë
import java.io.*;  
import java.nio.*;  
import java.nio.channels.*;  
public class LargeMappedFiles {  
  static int length = 0x8FFFFFF; // 128 Mb  
  public static void main(String[] args) throws Exception {  
    MappedByteBuffer out =   
      new RandomAccessFile("test.dat", "rw").getChannel()  
      .map(FileChannel.MapMode.READ_WRITE, 0, length);  
    for(int i = 0; i < length; i++)  
      out.put((byte)'x');  
    System.out.println("Finished writing");  
    for(int i = length/2; i < length/2 + 6; i++)  
      System.out.print((char)out.get(i));  
  }  
}  
<script type="text/javascript">render_code();</script>
Ϊ ÁËÄÜÒÔ¶ÁдµÄ·½Ê½´ò¿ªÎļþ£¬ÎÒÃÇ´ÓRandomAccessFileÈëÊÖ¡£Äõ½channelÖ®ºó£¬ÎÒÃÇÓÃmap( )·½·¨Éú³ÉÁËÒ»¸öMappedByteBuffer¡£ÕâÊÇÒ»ÖÖÌØÊâµÄ"direct buffer"¡£×¢Ò⣬Äã±ØÐëÖ¸Ã÷£¬ËüÊÇ´ÓÎļþµÄÄĸöλÖÿªÊ¼Ó³ÉäµÄ£¬Ó³ÉäµÄ·¶Î§ÓÖÓжà´ó£»Ò²¾ÍÊÇ˵£¬Ëü»¹¿ÉÒÔÓ³ÉäÒ»¸ö´óÎļþµÄij¸öСƬ¶Ï¡£
MappedByteBufferÊÇByteBufferµÄÅÉÉúÀ࣬Òò´ËËü¾ß±¸ÁËByteBufferµÄËùÓз½·¨¡£ÕâÀïÖ»¼òµ¥µØÑÝʾÁËÒ»ÏÂput( )ºÍget( )·½·¨£¬³ý´ËÖ®Í⣬Ä㻹¿ÉÒÔʹÓÃasCharBuffer( )Ö®ÀàµÄ·½·¨¡£
ÉÏÊöÀý³Ì´´½¨ÁËÒ»¸ö128MBµÄÎļþ£¬»òÐí


Ïà¹ØÎĵµ£º

javaÀàÐÍת»»×ܽá

ÀàÐÍת»»×ܽ᣺
1.Ô­ÐÍÊý¾Ýbyte,short,int,long,float,double,char,boolean,СÀàÐÍÊý¾Ý¿ÉÒÔÖ±½Ó¸³¸ø´óÀàÐÍÊý¾ÝÀýÈç
 int a=1;byte b=2;short c=3;float d=3;double e=4;char f='a';boolean g=true;long l=10;
c=b;
a=f;
d=a;
e=d;
byteÐÍÊý¾Ý²»ÄÜÖ±½Ó¸³¸øcharÐÍÊý¾Ý£¬ÒòΪbyte±íʾµÄÊÇ8λÓзûºÅÊý£¬¶øchar±íʾµ ......

java ±È½ÏÆ÷µÄʹÓÃ

¶ÔÓÚÒ»¸öʵÏÖÁËComparable½Ó¿ÚµÄ¶ÔÏ󣬸ýӿÚÖ»ÄÜʵÏÖÒ»´Î¡£Èç¹ûÔÚÒ»¸ö¼¯ºÏÀïÃæÐèҪʹÓÃidÅÅÐò£¬¶øÔÚÁíÍâÒ»¸ö¼¯ºÏÀïÐèÒª°´Ãû×ÖÅÅÐòÕâʱ¾ÍÐèÒªÔÚÕâ¸ö¼¯ºÏÀïÃæÖ¸¶¨±È½ÏÆ÷¡£
Comparable½Ó¿ÚÉùÃ÷ÁËcompareTo(Object o)·½·¨
Comparator ½Ó¿ÚÉùÃ÷ÁËcompare(Object o1,Object o2)·½·¨
eg:
µÚÒ»¸öÊ÷¼¯Êǰ´ÕÕ¶ÔÏóĬÈϵÄidÅÅÐò£¬µ ......

javaµ÷Óô洢¹ý³Ì

//µ÷Óô洢¹ý³Ì´ø²Î
            CallableStatement ca = conn.prepareCall("{call Login (?,?)}");
            ca.setString(1,username);
         & ......

JavaÿÌìѧϰһµãµã 09.10.14

                                                   ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ