Java¶àÏß³ÌʵÏÖÒì²½µ÷ÓÃ
ÔÚJAVAƽ̨,ʵÏÖÒì²½µ÷ÓõĽÇÉ«ÓÐÈçÏÂÈý¸ö½ÇÉ«:µ÷ÓÃÕß Ìá»õµ¥ ÕæÊµÊý¾Ý
Ò»¸öµ÷ÓÃÕßÔÚµ÷ÓúÄʱ²Ù×÷,²»ÄÜÁ¢¼´·µ»ØÊý¾Ýʱ,ÏÈ·µ»ØÒ»¸öÌá»õµ¥.È»ºóÔÚ¹ýÒ»¶Ïʱ¼äºóƾÌá»õµ¥À´»ñÈ¡ÕæÕýµÄÊý¾Ý.
È¥µ°¸âµêÂòµ°¸â£¬²»ÐèÒªµÈµ°¸â×ö³öÀ´£¨¼ÙÉèÏÖ×öÒªºÜ³¤Ê±¼ä£©£¬Ö»ÐèÒªÁì¸öÌá»õµ¥¾Í¿ÉÒÔÁË£¨È¥¸É±ðµÄÊÂÇ飩£¬µÈµ½µ°¸â×öºÃÁË£¬ÔÙÄÃÌá»õµ¥È¡µ°¸â¾Í¿ÉÒÔÁË¡£
public class Main {
public static void main(String[] args) {
System.out.println("main BEGIN");
Host host = new Host();
Data data1 = host.request(10, 'A');
Data data2 = host.request(20, 'B');
Data data3 = host.request(30, 'C');
System.out.println("main otherJob BEGIN");
try {
Thread.sleep(200);
} catch (InterruptedException e) {
}
System.out.println("main otherJob END");
System.out.println("data1 = " + data1.getContent());
System.out.println("data2 = " + data2.getContent());
System.out.println("data3 = " + data3.getContent());
System.out.println("main END");
}
}
ÕâÀïµÄmainÀà¾ÍÏ൱ÓÚ“¹Ë¿Í”£¬host¾ÍÏ൱ÓÚ“µ°¸âµê”£¬¹Ë¿ÍÏò“µ°¸âµê”¶¨µ°¸â¾ÍÏ൱ÓÚ“·¢ÇëÇórequest”£¬·µ»ØµÄÊý¾ÝdataÊÇFutureDataµÄʵÀý£¬¾ÍÏ൱ÓÚÌá»õµ¥£¬¶ø²»ÊÇÕæÕýµÄ“µ°¸â”¡£ÔÚ¹ýÒ»¶Îʱ¼äºó£¨sleepÒ»¶Îʱ¼äºó£©£¬µ÷ÓÃdata1.getContent()£¬Ò²¾ÍÊÇÄÃÌá»õµ¥»ñȡִÐнá¹û¡£
ÏÂÃæÀ´¿´Ò»Ï£¬¹Ë¿Í¶¨µ°¸âºó£¬µ°¸âµê×öÁËʲô£º
public class Host {
public Data request(final int count, final char c) {
System.out.println("request(" + count + ", " + c + ") BEGIN");
// (1) ½¨Á¢FutureDataµÄʵÌå
final FutureData future = new FutureData();
// (2) ΪÁ˽¨Á¢RealDataµÄʵÌ壬Æô¶¯ÐµÄÏß³Ì
new Thread() {
public void run() {
//ÔÚÄäÃûÄÚ²¿ÀàÖÐʹÓÃcount¡¢future¡¢c¡£
RealData realdata = new RealData(count, c);
future.setRealData(realdata);
}
}.start();
System.out.println("request(" + count + ", " + c + ") END");
// (3) È¡»ØFutureDataʵÌ壬×÷Ϊ´«»ØÖµ
return future;
}
}
host("µ°¸âµê")ÔÚ½Óµ½ÇëÇóºó£¬ÏÈÉú³ÉÁË“Ìá»õµ¥”FutureDataµÄʵÀýfuture£¬È»ºóÃüÁ°¸âʦ¸µ”RealDataÈ¥×öµ°¸â£¬realdataÏ൱ÓÚÆð¸öÏß³
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
Hibernate¡¢TopLinkµÈOR Mapping²Ù×÷Êý¾Ý¿âµÄ¼¼Êõ¶¼Êǽ¨Á¢JDBC¼¼ÊõÖ®Éϵģ¬Êµ¼ÊÀ´Ëµ£¬ËûÃǵÄÐÔÄܺÍJDBCÊÇÓкܴó²î¾àµÄ£¬µ«·´¹ýÀ´Ëµ£¬Èç¹ûJDBCÓò»ºÃ£¬»¹²»Èç hibernateÄØ¡£ÔÝÇÒ²»ËµÕâЩÊëÓÅÊëÁӵϰÁË£¬ÔÙ´ÎÖ÷ÒªÊǶÔJavaµÄ»ù´¡¼¼Êõ×ö¸ö×ܽᣬÒÔ¼ÓÉîÈÏʶ¡£
Ò»¡¢JDBCµÄ»ù±¾ÔÀí
JDBCÊÇJava²Ù×÷Êý¾Ý¿âµÄ¼¼Êõ¹æ·¶¡£Ëûʵ ......
Ôںܶàʱºò£¬ÎÒÃÇÐèÒª×Ô¶¯Éú³ÉÓÀÔ¶²»»áÖØ¸´µÄID£¬Òò´ËÎÒÃÇ»áÓõ½ÒÔϵĴúÂëÀ´ÊµÏÖ£º
×¢Ò⣺ÐèÒª¼ÓÈëÁ½¸öapacheµÄ°ü,´úÂëºÍ°üÇë´Óhttp://www.blogjava.net/afei0922/articles/129589.html ÏÂÔØ
package cn.com.cinda.rtx.state;
import org.apache.commons.id.Hex;
public class RandomCode {
pub ......
JavaÓïÑÔÒýÈëÁËJavaÐéÄâ»ú£¬¾ßÓÐ¿çÆ½Ì¨ÔËÐеŦÄÜ£¬Äܹ»ºÜºÃµØÊÊÓ¦¸÷ÖÖWebÓ¦Óá£Í¬Ê±£¬ÎªÁËÌá¸ßJavaÓïÑÔµÄÐÔÄܺͽ¡×³ÐÔ£¬»¹ÒýÈëÁËÈçÀ¬»ø»ØÊÕ»úÖÆµÈй¦ÄÜ£¬Í¨¹ýÕâЩ¸Ä½øÈÃJava¾ßÓÐÆä¶ÀÌØµÄ¹¤×÷ÔÀí¡£
1£®JavaÐéÄâ»ú
JavaÐéÄâ»ú£¨Java Virtual Machine£¬JVM£©ÊÇÈí¼þÄ£ÄâµÄ¼ÆËã»ú£¬Ëü¿ÉÒÔÔÚÈκδ¦ÀíÆ÷ÉÏ£¨ÎÞÂÛÊÇÔÚ¼ÆËã»úÖл ......