ÔÚJavaÖÐËøÎļþµÄÀý×Ó
1.Èç¹ûÔÚÏÂÃæµÄ´úÂëÖУ¬tryLock¸Ä³Élock£¬ÄÇô»áÒ»Ö±µÈ´ý£¬Ö±µ½Äܹ»ËøÉÏÎļþΪֹ£¬µ«tryLock»áÁ¢¼´·µ»Ø¡£
Èç¹ûÒ»¸öµ÷ÓÃÁËtryLock£¬»òlock²¢Çҳɹ¦ËøÉÏÖ¸¶¨ÎļþºóµÄ³ÌÐò£¬ÔÚûÓÐÊÍ·ÅÎļþËøµÄÇé¿öÏ£¨Ã»Óе÷ÓÃrelease£©³ÌÐò¾Í½áÊø£¨°üº¬Ç¿ÖƽáÊøµÄÇé¿ö£©£¬ÄÇôÎļþËø»á×Ô¶¯±»ÊÍ·Å¡£
2.´úÂëÖеÄsleepÊÇΪÁ˱ãÓÚÑéÖ¤³ÌÐòÓõġ£±ÈÈ磬ÔÚsleep½×¶Î£¬Äã¿ÉÒÔÊÔ×ÅÐ޸ıðËø×¡µÄÎļþ²¢±£´æ¸ü¸Ä¡£»òÕßÔٴε÷Óñ¾³ÌÐòÀ´ÑéÖ¤¡£
±¾³ÌÐòÔÚÈçÏÂÆ½Ì¨ÏÂÑé֤ͨ¹ý£º
OS: Windwos XP
java version "1.6.0_20"
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
public class FileLock {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("##################### start. ");
if (args.length != 1) {
System.out.println("parameter is invalid.");
return;
}
RandomAccessFile input = null;
try {
input = new RandomAccessFile(args[0], "rw");
} catch (FileNotFoundException fe) {
System.out.println("file is not found.");
return;
}
FileChannel channel = input.getChannel();
java.nio.channels.FileLock lock = null;
try {
// Lock is existed, tryLock return null.
lock = channel.tryLock();
System.out.println("lock called.");
if (lock == null) {
System.out.println("lock is null");
return;
}
if (lock.isShared()) {
System.out.println("lock isShared.");
} else {
System.out.println("lock not Shared.");
}
if (lock.isValid()) {
System.out.println("lock isValid.");
} else {
System.out.println("lock Valid.");
}
try {
Thread.sleep(10000);
} catch (InterruptedException ie) {
System.out.println("InterruptedException.");
}
} catch (IOException ie) {
System.out.println("lock file failed.");
System.out.println(ie.toString());
} finally {
try {
if (lock != null) {
lock.release();
}
channel.close();
if (input
Ïà¹ØÎĵµ£º
Òì³£ Underlying input stream returned zero bytes ½â¾ö°ì·¨
ϵͳ»·¾³
jdk1.5
hibernate 3.0
sql server 2000
ms jdbc driver
½«Ò»¸övarcharÀàÐ͵Ä×ֶθÄΪtextºó£¬¾Í³öÏÖ
[Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes µÄÒì³£ÁË¡£
´ÓÍøÉÏËѼ¯×ÊÁÏÀ´¿´£¬ÓÉÓÚjdbcµÄbug ......
ÔÚJavaÖУ¬²»Í¬µÄÀà¶¼ÓÐ×Ô¼ºµ¥¶ÀµÄCache»úÖÆ£¬ÊµÏֵķ½·¨Ò²¿ÉÄÜÓÐËù²»Í¬£¬ÎÄÕÂÁоÙÁËJavaÖг£¼ûµÄ¸÷ÀàCache»úÖÆµÄʵÏÖ·½·¨£¬Í¬Ê±½øÐÐÁË×ۺϵıȽϡ£
OSCache
OSCacheÊǸöÒ»¸ö¹ã·º²ÉÓõĸßÐÔÄܵÄJava EE»º´æ¿ò¼Ü£¬OSCacheÄÜÓÃÓÚÈκÎJavaÓ¦ÓóÌÐòµÄÆÕͨµÄ»º´æ½â¾ö·½°¸¡£
OSCacheÓÐÒÔÏÂÌØµã£º»º´æÈκζÔÏó£¬Äã¿ÉÒÔ²»ÊÜÏÞÖÆµ ......
Ŀ¼
ÕªÒª ……………………………………………………………………2
ÎÄÏ××ÛÊö ……………………&hel ......
1.2 ¹¤³§·½·¨£¨Factory Method£©Ä£Ê½
¹¤³§·½·¨Ä£Ê½ÊÇÀàµÄ´´½¨Ä£Ê½£¬ÓÖ½ÐÐéÄâ¹¹Ôì×Ó£¨Virtual Constructor£©Ä£Ê½»òÕß¶à̬ÐÔ¹¤³§£¨Polymorphic Factory£©Ä£Ê½¡£
¹¤³§·½·¨Ä£Ê½µÄÓÃÒâÊǶ¨ÒåÒ»¸ö´´½¨²úÆ·¶ÔÏóµÄ¹¤³§½Ó¿Ú£¬½«Êµ¼Ê¹¤×÷ÍÆ³Ùµ½×ÓÀàÖС£
1.2.1 ¹¤ ......
Ò»¡¢ÅäÖû·¾³±äÁ¿:
ÎҵĵçÄÔ->ÊôÐÔ->¸ß¼¶->»·¾³±äÁ¿->ϵͳ±äÁ¿ÖÐÌí¼ÓÒÔÏ»·¾³±äÁ¿£º
JAVA_HOME=D:\Program Files\Java\jdk1.6.0_20
JavaµÄ°²×°Ä¿Â¼£¬µ±Java°²×°Ä¿Â¼¸Ä±äʱֻÐè¸Ä±ä´Ë±äÁ¿¼´¿É£¬×öµ½Ò»¸ÄÈ«¸Ä£¬Í¬Ê±µÚÈý·½Èí¼þ»áÒýÓÃÔ¼¶¨ºÃµÄJAVA_HOME±äÁ¿£¬²»È»£¬Äã²»ÄÜÕý³£Ê¹ÓøÃÈí¼þ
PATH=..........;%JAV ......