JAVAÄÚ´æÎļþÓ³Éä
ÓÐÈçÏÂÇé¿öÏ¿ÉÒÔÓõ½ÄÚ´æÎļþÓ³Éä¼¼Êõ½â¾öÎÊÌâ:
1.²»Òª¸´ÖÆÎļþÖÐËùÓеÄÊý¾Ý£¬Ö»ÐèÒªÐÞ¸ÄÎļþÖоֲ¿µÄÊý¾Ý¡£
2.²¢ÐÐ\·Ö¶Î´¦Àí´óÎļþ¡£
ÈçÏ´úÂëʾʹÓÃjavaNIO¾Ö²¿ÐÞ¸ÄÎļþÖÐÖ¸¶¨Î»ÖõIJ¿·ÖÊý¾Ý£º
Java´úÂë
/**
* ÐÞ¸ÄÎļþÖеÄijһ²¿·ÖµÄÊý¾Ý²âÊÔ:½«×Ö¶¨Î»ÖõÄ×Öĸ¸ÄΪ´óд
* @param fName :ÒªÐ޸ĵÄÎļþÃû×Ö
* @param start:Æðʼ×Ö½Ú
* @param len:ÒªÐ޸ĶàÉÙ¸ö×Ö½Ú
* @return :ÊÇ·ñÐ޸ijɹ¦
* @throws Exception:Îļþ¶ÁдÖпÉÄܳöµÄ´í
* @author javaFound
*/
public static boolean changeFile(String fName,int start,int len) throws Exception{
//´´½¨Ò»¸öËæ»ú¶ÁдÎļþ¶ÔÏó
java.io.RandomAccessFile raf=new java.io.RandomAccessFile(fName,"rw");
long totalLen=raf.length();
System.out.println("Îļþ×ܳ¤×Ö½ÚÊÇ: "+totalLen);
//´ò¿ªÒ»¸öÎļþͨµÀ
java.nio.channels.FileChannel channel=raf.getChannel();
//Ó³ÉäÎļþÖеÄijһ²¿·ÖÊý¾ÝÒÔ¶Áдģʽµ½ÄÚ´æÖÐ
java.nio.MappedByteBuffer buffer= channel.map(FileChannel.MapMode.READ_WRITE, start, len);
//ʾÀýÐÞ¸Ä×Ö½Ú
&nb
Ïà¹ØÎĵµ£º
¶àÏ̵߳Äͬ²½ÒÀ¿¿µÄÊǶÔÏóËø»úÖÆ£¬synchronized¹Ø¼ü×ֵı³ºó¾ÍÊÇÀûÓÃÁË·âËøÀ´ÊµÏÖ¶Ô¹²Ïí×ÊÔ´µÄ»¥³â·ÃÎÊ¡£
ÏÂÃæÒÔÒ»¸ö¼òµ¥µÄʵÀýÀ´½øÐжԱȷÖÎö¡£ÊµÀýÒªÍê³ÉµÄ¹¤×÷·Ç³£¼òµ¥£¬¾ÍÊÇ´´½¨10¸öỊ̈߳¬Ã¿¸öÏ̶߳¼´òÓ¡´Ó0µ½99Õâ100¸öÊý×Ö£¬ÎÒÃÇÏ£ÍûÏß³ÌÖ®¼ä²»»á³öÏÖ½»²æÂÒÐò´òÓ¡£¬¶øÊÇ˳ÐòµØ´òÓ¡¡£
ÏÈÀ´¿´µÚÒ»¶ ......
JavaµÄ»Øµ÷·½·¨²»ÏñcÄÇÑù¿ÉÒÔÖ±½Ó´«µÝÒ»¸ö·½·¨£¬java´«µÝµÄÊÇÒýÓã¬ËùÒÔjava¶Ô·½·¨»Øµ÷µÄ½â¾ö°ì·¨ÊÇÖ±½Ó´«µÝÒ»¸ö½Ó¿Ú£¬¶Ô½Ó¿Ú½øÐÐʵÏÖ¡£ÏÂÃæÊÇÒ»¸öÀý×Ó
Ê×Ïȶ¨ÒåÒ»¸ö½Ó¿ÚCar£¬ÓÐÒ»¸örunµÄ·½·¨ÉùÃ÷
Java´úÂë
package ocm.callback;
public interface Car {
& ......
javaÖÐsynchronizedÓ÷¨(zz)
´ò¸ö±È·½£ºÒ»¸öobject¾ÍÏñÒ»¸ö´ó·¿×Ó£¬´óÃÅÓÀÔ¶´ò¿ª¡£·¿×ÓÀïÓÐ ºÜ¶à·¿¼ä£¨Ò²¾ÍÊÇ·½·¨£©¡£ÕâЩ·¿¼äÓÐÉÏËøµÄ£¨synchronized·½·¨£©£¬ ºÍ²»ÉÏËøÖ®·Ö£¨ÆÕͨ·½·¨£©¡£·¿ÃſڷÅ×ÅÒ»°ÑÔ¿³×£¨key£©£¬Õâ°ÑÔ¿³×¿ÉÒÔ´ò¿ªËùÓÐÉÏËøµÄ·¿¼ä¡£ÁíÍâÎÒ°ÑËùÓÐÏëµ÷ÓøöÔÏó·½·¨µÄÏ̱߳ÈÓ÷³ÉÏë½øÈëÕâ·¿×Óij¸ö ......
Object serializationµÄ¶¨Ò壺
Object serialization ÔÊÐíÄ㽫ʵÏÖÁËSerializable½Ó¿ÚµÄ¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬ÕâЩ×Ö½ÚÐòÁпÉÒÔ±»ÍêÈ«´æ´¢ÒÔ±¸ÒÔºóÖØÐÂÉú³ÉÔÀ´µÄ¶ÔÏó¡£
serialization²»µ«¿ÉÒÔÔÚ±¾»ú×ö£¬¶øÇÒ¿ÉÒÔ¾ÓÉÍøÂç²Ù×÷£¨RMI£©¡£Õâ¸öºÃ´¦ÊǺܴóµÄ----ÒòΪËü×Ô¶¯ÆÁ±ÎÁ˲Ù×÷ϵͳµÄ²îÒ죬×Ö½Ú˳Ðò£¨ÓÃUnixϵÄc¿ª·¢¹ýÍ ......