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µÄÎļþ£¬»òÐí
Ïà¹ØÎĵµ£º
¶ÔÓÚÒ»¸öʵÏÖÁËComparable½Ó¿ÚµÄ¶ÔÏ󣬸ýӿÚÖ»ÄÜʵÏÖÒ»´Î¡£Èç¹ûÔÚÒ»¸ö¼¯ºÏÀïÃæÐèҪʹÓÃidÅÅÐò£¬¶øÔÚÁíÍâÒ»¸ö¼¯ºÏÀïÐèÒª°´Ãû×ÖÅÅÐòÕâʱ¾ÍÐèÒªÔÚÕâ¸ö¼¯ºÏÀïÃæÖ¸¶¨±È½ÏÆ÷¡£
Comparable½Ó¿ÚÉùÃ÷ÁËcompareTo(Object o)·½·¨
Comparator ½Ó¿ÚÉùÃ÷ÁËcompare(Object o1,Object o2)·½·¨
eg:
µÚÒ»¸öÊ÷¼¯Êǰ´ÕÕ¶ÔÏóĬÈϵÄidÅÅÐò£¬µ ......
ÔÌûµØÖ·http://blog.pfan.cn/txdnet/36493.html
Ò»,´Ó¸ù±¾ÉÏÈÏʶjava.lang.StringÀàºÍString³Ø
Ê×ÏÈ,ÎÒ½¨ÒéÏÈ¿´¿´StringÀàµÄÔ´ÂëʵÏÖ,ÕâÊÇ´Ó±¾ÖÊÉÏÈÏʶStringÀàµÄ¸ù±¾³ö·¢µã.´ÓÖпÉÒÔ¿´µ½:
1,StringÀàÊÇfinalµÄ,²»¿É±»¼Ì³Ð.public final class String.
2,StringÀàÊǵı¾ÖÊÊÇ×Ö·ûÊý×échar[], ²¢ÇÒÆäÖµ²»¿É¸Ä±ä.priva ......
×Ô¼ºÊÕ¼¯µÄһЩjava´¦ÀíÀ࣬¹©ÒÔºó²éѯ
package com.tools;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringHandler {
/******************************
* ¹¦ÄÜ£º½«IPµØÖ·×ª»»Îª¶ÔÓ¦µÄÕûÊý
* ·µ»ØÀàÐÍ£ºlong
******************************/
public static long getI ......
µÚ9Õ ÊäÈëºÍÊä³öÁ÷
(Ò»)¿Î³ÌÄÚÈÝ
9.1×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷
9.1.1 File¶ÔÏó
9.1.2Á÷¶ÔÏó
9.2»º³åʽÊäÈëÊä³ö
9.2.1»º³åʽÊäÈë
9.2.2»º³åʽÊä³ö
9.3Ëæ»ú·ÃÎÊ
9.4Îļþ¶Ô»°¿ò
(¶þ)ѧϰĿµÄÓëÒªÇó
±¾Õ½éÉÜJava³ÌÐòÊý¾ÝÎļþµÄÊäÈëÊä³ö¼¼Êõ¡£ÒªÇóÄܱàд¼òµ¥µÄJavaÎļþ´¦Àí³ÌÐò¡£
(Èý)¿¼ºË֪ʶµãÓ뿼ºËÒªÇó
1.´´½¨File¶ÔÏó£ ......
µÚ10ÕÂ ÍøÂçÓëÊý¾Ý¿â±à³Ì»ù´¡
(Ò»)¿Î³ÌÄÚÈÝ
10.1 JavaÍøÂç±à³Ì»ù´¡
10.1.1 IPµØÖ·ºÍInetAddressÀà
10.1.2ͳһ×ÊÔ´¶¨Î»·ûURL
10.1.3¿Í»§»ú/·þÎñÆ÷ģʽ
l0.2 JavaÊý¾Ý¿â±à³Ì»ù´¡
10.2.1 Java³ÌÐòÓëÊý¾Ý¿âÁ¬½Ó
10.2.2¼¸¸öÖØÒªµÄÀàºÍ½Ó¿Ú
10.2.3Êý¾Ý¿â²éѯ
10.2.4Êý¾Ý¿â¸üÐÂ
(¶þ)ѧϰĿµÄÓëÒªÇó
±¾Õ½éÉÜJavaÍøÂç± ......