Ò»¡¢
ʹÓ÷ºÐ͵ĺô¦ÔÚÓÚ£¬ËüÔÚ±àÒëµÄʱºò½øÐÐÀàÐͰ²È«¼ì²é£¬²¢ÇÒÔÚÔËÐÐʱËùÓеÄת»»¶¼ÊÇÇ¿ÖÆµÄ£¬ÒþʽµÄ£¬´ó´óÌá¸ßÁË´úÂëµÄÖØÓÃÂÊ¡£
Çë¿´ÏÂÃæÕâ¸öÀý×Ó
public class Gen<T> {
private T ob; // ¶¨Òå·ºÐͳÉÔ±±äÁ¿
public Gen(T ob) {
this.ob = ob;
}
public T getOb() {
return ob;
}
public void setOb(T ob) {
this.ob = ob;
}
public void showTyep() {
System.out.println("TµÄʵ¼ÊÀàÐÍÊÇ: " + ob.getClass().getName());
}
}
public class GenDemo {
public static void main(String[] args) {
// ¶¨Òå·ºÐÍÀàGenµÄÒ»¸öInteger°æ±¾
Gen<Integer> intOb = new Gen<Integer>(88);
intOb.showTyep();
int i = intOb.getOb();
System.out.println("value= " + i);
System.out.println("----------------------------------");
// ¶¨Òå·ºÐÍÀàGenµÄÒ»¸öString°æ±¾
Gen<String> strOb = new Gen<String ......
amf3,adobe´´Á¢µÄÊý¾Ý¸ñʽÓÉÓÚʹÓöþ½øÖÆ,ûÓÐÁËxmlµÈÈßÓàµÄ×Ö·ûÊý¾ÝÁ¿»áÉٺܶà!¶øÇҺܶà²âÊÔ±¨¸æ¾ù²â³öamf´«µÝЧ¹ûºÜ¸ß.
Õâ´ÎÊÇʹÓÃFlexµÄSocketÀàÓëjavaµÄ·þÎñ¶Ë½øÐÐͨÐÅ,
²½ÖèÊÇ:
¿Í»§¶ËÓÃsocketÀàÁ¬½Ójava·þÎñÆ÷,
ʹÓòéѯ×Ö·û´®½øÐÐÇëÇó,
java½«Êý¾Ý·âװΪhashmap,×îºó½«hashmapÓÃamfoutputstreamÊä³öÖÁflexµÄ¿Í»§¶Ë
flex¶ÔÊý¾Ý½øÐнâÂëºó,¼´ÎªObject!
ÒÔÏÂΪÏêϸµÄ´úÂë(ºÇºÇ,Áô¸öÍøÂç±È½Ï)
1.Ïȵ¹ÈëadobeµÄ°üµ½javaµÄ¹¤³ÌÖÐ!
flex-messaging-core.jar
flex-messaging-common.jar
2.½¨Á¢ºÃjavaµÄsocket·þÎñÆ÷
°ü½á¹¹: com.sk.socket
package com.sk.socket;
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
import com.sk.amf.AmfTool;
public class AmfSocket {
private ServerSocket socket;
private Socket client;
private Scanner in;
private PrintStream out;
private AmfTool tool = new AmfTool();
public AmfSocket(int ......
amf3,adobe´´Á¢µÄÊý¾Ý¸ñʽÓÉÓÚʹÓöþ½øÖÆ,ûÓÐÁËxmlµÈÈßÓàµÄ×Ö·ûÊý¾ÝÁ¿»áÉٺܶà!¶øÇҺܶà²âÊÔ±¨¸æ¾ù²â³öamf´«µÝЧ¹ûºÜ¸ß.
Õâ´ÎÊÇʹÓÃFlexµÄSocketÀàÓëjavaµÄ·þÎñ¶Ë½øÐÐͨÐÅ,
²½ÖèÊÇ:
¿Í»§¶ËÓÃsocketÀàÁ¬½Ójava·þÎñÆ÷,
ʹÓòéѯ×Ö·û´®½øÐÐÇëÇó,
java½«Êý¾Ý·âװΪhashmap,×îºó½«hashmapÓÃamfoutputstreamÊä³öÖÁflexµÄ¿Í»§¶Ë
flex¶ÔÊý¾Ý½øÐнâÂëºó,¼´ÎªObject!
ÒÔÏÂΪÏêϸµÄ´úÂë(ºÇºÇ,Áô¸öÍøÂç±È½Ï)
1.Ïȵ¹ÈëadobeµÄ°üµ½javaµÄ¹¤³ÌÖÐ!
flex-messaging-core.jar
flex-messaging-common.jar
2.½¨Á¢ºÃjavaµÄsocket·þÎñÆ÷
°ü½á¹¹: com.sk.socket
package com.sk.socket;
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
import com.sk.amf.AmfTool;
public class AmfSocket {
private ServerSocket socket;
private Socket client;
private Scanner in;
private PrintStream out;
private AmfTool tool = new AmfTool();
public AmfSocket(int ......
*
Google App Engine¶ÔJavaÖ§³ÖÇé¿öÒ»ÀÀ
* http://developer.51cto.com 2009-04-09 11:06 ÑîÈü Òë 51CTO.com ÎÒÒªÆÀÂÛ(0)
Google App EngineµÄJavaÖ§³ÖÒÑ·¢²¼¡£´Ë´Î·¢²¼µÄÖØµãÔÚÓÚÆäÖеÄJava 6 JVM¡£ÒÔÏÂÁбí°üº¬Á˴˴η¢²¼¶Ô¸÷ÖÖJVMÓïÑÔ¡¢JEEÒÔ¼°¿ò¼ÜµÄÖ§³ÖÇé¿ö£¬ÒÔ±¸²Î¿¼¡£
ÓïÑÔÖ§³Ö
ËùÓлùÓÚJVMµÄÓïÑÔ¶¼ÓëJavaÒ»Ñù£¬ÔÚApp EngineÉϵõ½Í¬Ñù³Ì¶ÈµÄÖ§³Ö¡£
JRuby
Ö§³Ö´Ósvn trunk¿ª·¢µÄJRuby¡£
Groovy
Ö§³Ö1.6.1°æ±¾ÒÔºóµÄGroovy¡£
Scala
¡ôÖ§³Ö¡£
¡ô²»Ö§³ÖScala Actors£¬ÒòΪʹÓÃÁËĿǰÈÔ²»Ö§³ÖµÄÏß³Ì
¡ô²»Ö§³ÖLift web¿ò¼Ü£¬ÒòΪÆäÒÀÀµActors¼°JDBC
JavaScrip ......
DOM³õ²½
DOMÊÇDocument Object ModelµÄËõд£¬¼´Îĵµ¶ÔÏóÄ£ÐÍ¡£Ç°ÃæËµ¹ý£¬XML½«Êý¾Ý×é֯Ϊһ¿ÅÊ÷£¬ËùÒÔDOM¾ÍÊǶÔÕâ¿ÅÊ÷µÄÒ»¸ö¶ÔÏóÃèÐð¡£Í¨Ë×µÄ˵£¬¾ÍÊÇͨ¹ý½âÎöXMLÎĵµ£¬ÎªXMLÎĵµÔÚÂß¼ÉϽ¨Á¢Ò»¸öÊ÷Ä£ÐÍ£¬Ê÷µÄ½ÚµãÊÇÒ»¸ö¸ö¶ÔÏó¡£ÎÒÃÇͨ¹ý´æÈ¡ÕâЩ¶ÔÏó¾ÍÄܹ»´æÈ¡XMLÎĵµµÄÄÚÈÝ¡£
ÏÂÃæÎÒÃÇÀ´¿´Ò»¸ö¼òµ¥µÄÀý×Ó£¬¿´¿´ÔÚDOMÖУ¬ÎÒÃÇÊÇÈçºÎÀ´²Ù×÷Ò»¸öXMLÎĵµµÄ¡£
ÕâÊÇÒ»¸öXMLÎĵµ£¬Ò²ÊÇÎÒÃÇÒª²Ù×÷µÄ¶ÔÏó£º
<?xml version="1.0" encoding="UTF-8"?>
<messages>
<message>Good-bye serialization, hello Java!</message>
</messages>
ÏÂÃæ£¬ÎÒÃÇÐèÒª°ÑÕâ¸öÎĵµµÄÄÚÈݽâÎöµ½Ò»¸ö¸öµÄJava¶ÔÏóÖÐÈ¥¹©³ÌÐòʹÓã¬ÀûÓÃJAXP£¬ÎÒÃÇÖ»Ð輸ÐдúÂë¾ÍÄÜ×öµ½ÕâÒ»µã¡£Ê×ÏÈ£¬ÎÒÃÇÐèÒª½¨Á¢Ò»¸ö½âÎöÆ÷¹¤³§£¬ÒÔÀûÓÃÕâ¸ö¹¤³§À´»ñµÃÒ»¸ö¾ßÌåµÄ½âÎöÆ÷¶ÔÏó£º
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
ÎÒÃÇÔÚÕâÀïʹÓÃDocumentBuilderFacotryµÄÄ¿µÄÊÇΪÁË´´½¨Óë¾ßÌå½âÎöÆ÷Î޹صijÌÐò£¬µ±DocumentBuilderFactoryÀàµÄ¾²Ì¬·½·¨newInstance()±»µ÷ÓÃʱ£¬Ëü¸ù¾ÝÒ»¸öϵͳ±äÁ¿À´¾ö¶¨¾ßÌåʹÓÃÄÄÒ»¸ö½âÎöÆ÷¡£ÓÖÒòΪËùÓеĽâÎöÆ÷¶¼·þ´ÓÓÚJAXPËù ......
DOM³õ²½
DOMÊÇDocument Object ModelµÄËõд£¬¼´Îĵµ¶ÔÏóÄ£ÐÍ¡£Ç°ÃæËµ¹ý£¬XML½«Êý¾Ý×é֯Ϊһ¿ÅÊ÷£¬ËùÒÔDOM¾ÍÊǶÔÕâ¿ÅÊ÷µÄÒ»¸ö¶ÔÏóÃèÐð¡£Í¨Ë×µÄ˵£¬¾ÍÊÇͨ¹ý½âÎöXMLÎĵµ£¬ÎªXMLÎĵµÔÚÂß¼ÉϽ¨Á¢Ò»¸öÊ÷Ä£ÐÍ£¬Ê÷µÄ½ÚµãÊÇÒ»¸ö¸ö¶ÔÏó¡£ÎÒÃÇͨ¹ý´æÈ¡ÕâЩ¶ÔÏó¾ÍÄܹ»´æÈ¡XMLÎĵµµÄÄÚÈÝ¡£
ÏÂÃæÎÒÃÇÀ´¿´Ò»¸ö¼òµ¥µÄÀý×Ó£¬¿´¿´ÔÚDOMÖУ¬ÎÒÃÇÊÇÈçºÎÀ´²Ù×÷Ò»¸öXMLÎĵµµÄ¡£
ÕâÊÇÒ»¸öXMLÎĵµ£¬Ò²ÊÇÎÒÃÇÒª²Ù×÷µÄ¶ÔÏó£º
<?xml version="1.0" encoding="UTF-8"?>
<messages>
<message>Good-bye serialization, hello Java!</message>
</messages>
ÏÂÃæ£¬ÎÒÃÇÐèÒª°ÑÕâ¸öÎĵµµÄÄÚÈݽâÎöµ½Ò»¸ö¸öµÄJava¶ÔÏóÖÐÈ¥¹©³ÌÐòʹÓã¬ÀûÓÃJAXP£¬ÎÒÃÇÖ»Ð輸ÐдúÂë¾ÍÄÜ×öµ½ÕâÒ»µã¡£Ê×ÏÈ£¬ÎÒÃÇÐèÒª½¨Á¢Ò»¸ö½âÎöÆ÷¹¤³§£¬ÒÔÀûÓÃÕâ¸ö¹¤³§À´»ñµÃÒ»¸ö¾ßÌåµÄ½âÎöÆ÷¶ÔÏó£º
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
ÎÒÃÇÔÚÕâÀïʹÓÃDocumentBuilderFacotryµÄÄ¿µÄÊÇΪÁË´´½¨Óë¾ßÌå½âÎöÆ÷Î޹صijÌÐò£¬µ±DocumentBuilderFactoryÀàµÄ¾²Ì¬·½·¨newInstance()±»µ÷ÓÃʱ£¬Ëü¸ù¾ÝÒ»¸öϵͳ±äÁ¿À´¾ö¶¨¾ßÌåʹÓÃÄÄÒ»¸ö½âÎöÆ÷¡£ÓÖÒòΪËùÓеĽâÎöÆ÷¶¼·þ´ÓÓÚJAXPËù ......
ÐòÁл¯¾ÍÊǰѶÔÏóת»»ÎªÁ÷ÒÔ´æ´¢µ½Îļþ»ò´«Ê䏸ÁíÒ»¸ö³ÌÐò£»·´ÐòÁл¯¾ÍÊǰÑÁ÷ת»»Îª¶ÔÏó¡£JAVAµÄÐòÁл¯£¬ÊÇͨ¹ýÊÇjava.io.Serializable½Ó¿ÚÀ´ÊµÏֵġ£¸Ã½Ó¿Ú²»°üº¬Èκη½·¨£¬½ö±ê¼ÇÊÇ·ñ¿É±»ÐòÁл¯¡£¿ÉÐòÁл¯µÄÀ࣬Æä³ÉÔ±Ò²±ØÐëÊÇ¿ÉÐòÁл¯µÄ£¨Èç¹ûÓгÉÔ±²»Äܱ»ÐòÁл¯£¬Ôò±ØÐ뽫¸Ã±äÁ¿±ê¼ÇΪ£ºtransient£¨Ë²Ì¬£©£¬ÐòÁл¯Ê±£¬»áºöÂÔ¸Ã×ֶΣ©¡£¹ØÓÚ³¬ÀàµÄÐòÁл¯£ºÈç¹û³¬ÀàÒ²ÊÇ¿ÉÐòÁл¯µÄ£¬ÄÇôJAVA½«ÔÚÊä³öÁ÷Öб£´æÀàºÍ³¬ÀࣻÈç¹û³¬À಻ÊÇÀàÐòÁл¯µÄ£¬Ôò±ØÐëÌṩĬÈÏÎÞ²ÎÊý¹¹Ô캯Êý£¨ÔÚÐòÁл¯ÆÚ¼ä£¬²»»á±£´æ³¬Àࣻ·´ÐòÁл¯£¬Ê¹ÓÃĬÈϹ¹Ô캯Êý»Ö¸´³¬Àࣩ£¬·ñÔòÐòÁл¯»á³ö´í¡£
ËäÈ»¿ÉÒÔͨ¹ýʵÏÖjava.io.Externalizable½Ó¿ÚÀ´ÊÖ¹¤±àдÐòÁл¯ÀࣨËٶȸü¿ì£©£¬µ«²¢²»ÍƼöÕâô×ö£¬ÒòΪ³öBUGµÄ¿ÉÄÜÐÔ¸ü´ó¡£
¹ØÓÚÐòÁл¯µÄÏÞÖÆ£º
²¢²»ÊÇÿ¸ö¶ÔÏ󶼿ÉÐòÁл¯¡£¶ÔÍⲿ×ÊÔ´µÄÒýÓã¨ÈçÊý¾Ý¿âÁ¬½Ó»òÌ×½Ó×Ö£©¾Í²»ÄÜÐòÁл¯
ÎÄÕ³ö´¦£ºDIY²¿Âä(http://www.diybl.com/course/3_program/java/javajs/20090303/156889.html)
Object serializationµÄ¶¨Ò壺
Object serialization ÔÊÐíÄ㽫ʵÏÖÁËSerializable½Ó¿ÚµÄ¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬ÕâЩ×Ö½ÚÐòÁпÉÒÔ±»ÍêÈ«´æ´¢ÒÔ±¸ÒÔºóÖØÐÂÉú³ÉÔÀ´µÄ¶ÔÏó¡£
......
Java NIO APIÏê½â
ÔÚJDK 1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄͬ²½£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩÒì²½(non-blocking)IO²Ù×÷µÄAPI±»ÒýÈë¡£±¾ÎÄ¶ÔÆä½øÐÐÉîÈëµÄ½éÉÜ¡£
NIO APIÖ÷Òª¼¯ÖÐÔÚjava.nioºÍËüµÄsubpackagesÖУº
java.nio
¶¨ÒåÁËBuffer¼°ÆäÊý¾ÝÀàÐÍÏà¹ØµÄ×ÓÀà¡£ÆäÖб»java.nio.channelsÖеÄÀàÓÃÀ´½øÐÐIO²Ù×÷µÄByteBufferµÄ×÷Ó÷dz£ÖØÒª¡£
java.nio.channels
¶¨ÒåÁËһϵÁд¦ÀíIOµÄChannel½Ó¿ÚÒÔ¼°ÕâЩ½Ó¿ÚÔÚÎļþϵͳºÍÍøÂçͨѶÉϵÄʵÏÖ¡£Í¨¹ýSelectorÕâ¸öÀ࣬»¹ÌṩÁ˽øÐÐÒì²½IO²Ù×÷µÄ°ì·¨¡£Õâ¸ö°ü¿ÉÒÔ˵ÊÇNIO APIµÄºËÐÄ¡£
java.nio.channels.spi
¶¨ÒåÁË¿ÉÓÃÀ´ÊµÏÖchannelºÍselector APIµÄ³éÏóÀà¡£
java.nio.charset
¶¨ÒåÁË´¦Àí×Ö·û±àÂëºÍ½âÂëµÄÀà¡£
java.nio.charset.spi
¶¨ÒåÁË¿ÉÓÃÀ´ÊµÏÖcharset APIµÄ³éÏóÀà¡£
java.nio.channels.spiºÍjava.nio.charset.spiÕâÁ½¸ö°üÖ÷Òª±»ÓÃÀ´¶ÔÏÖÓÐNIO API½øÐÐÀ©Õ¹£¬ÔÚʵ¼ÊµÄʹÓÃÖУ¬ÎÒÃÇÒ»°ãÖ»ºÍÁíÍâµÄ3¸ö°ü´ò½»µÀ¡£ÏÂà ......