Java serialization½éÉܼ°¼òµ¥Ó¦ÓÃ
Object serializationµÄ¶¨Ò壺
Object serialization ÔÊÐíÄ㽫ʵÏÖÁËSerializable½Ó¿ÚµÄ¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬ÕâЩ×Ö½ÚÐòÁпÉÒÔ±»ÍêÈ«´æ´¢ÒÔ±¸ÒÔºóÖØÐÂÉú³ÉÔÀ´µÄ¶ÔÏó¡£
serialization²»µ«¿ÉÒÔÔÚ±¾»ú×ö£¬¶øÇÒ¿ÉÒÔ¾ÓÉÍøÂç²Ù×÷£¨RMI£©¡£Õâ¸öºÃ´¦ÊǺܴóµÄ----ÒòΪËü×Ô¶¯ÆÁ±ÎÁ˲Ù×÷ϵͳµÄ²îÒ죬×Ö½Ú˳Ðò£¨ÓÃUnixϵÄc¿ª·¢¹ýÍøÂç±à³ÌµÄÈËÓ¦¸ÃÖªµÀÕâ¸ö¸ÅÄµÈ¡£±ÈÈ磬ÔÚWindowƽ̨Éú³ÉÒ»¸ö¶ÔÏó²¢ÐòÁл¯Ö®£¬È»ºóͨ¹ýÍøÂç´«µ½Ò»Ì¨Unix»úÆ÷ÉÏ£¬È»ºó¿ÉÒÔÔÚÕą̂Unix»úÆ÷ÉÏÕýÈ·µØÖع¹Õâ¸ö¶ÔÏó¡£
Object serializationÖ÷ÒªÓÃÀ´Ö§³Ö2ÖÖÖ÷ÒªµÄÌØÐÔ£º
1¡£JavaµÄRMI(remote method invocation).RMIÔÊÐíÏóÔÚ±¾»úÉÏÒ»Ñù²Ù×÷Ô¶³Ì»úÆ÷ÉϵĶÔÏó¡£µ±·¢ËÍÏûÏ¢¸øÔ¶³Ì¶ÔÏóʱ£¬¾ÍÐèÒªÓõ½serializaiton»úÖÆÀ´·¢ËͲÎÊýºÍ½ÓÊÕ·µ»ØÖ±¡£
2¡£JavaµÄJavaBeans. BeanµÄ״̬ÐÅϢͨ³£ÊÇÔÚÉè¼ÆÊ±ÅäÖõġ£BeanµÄ״̬ÐÅÏ¢±ØÐë±»´æÆðÀ´£¬ÒԱ㵱³ÌÐòÔËÐÐʱÄָܻ´ÕâЩ״̬ÐÅÏ¢¡£ÕâÒ²ÐèÒªserializaiton»úÖÆ¡£
¶þ¡£sakulagiºÍrollingpig˵µÄ³Ö¾Ã»¯ÎÒҲ˵һÏ¡£
ÎÒ¾õµÃÄãÃÇ˵µÄÓ¦¸ÃÊÇÓ¢ÎÄÀïµÄpersistence.µ«ÊÇJavaÓïÑÔÀïÏÖÔÚÖ»Ö§³Ölightweight persistence,¾ÍÊÇÇáÁ¿¼¶³Ö¾Ã»¯£¬ÕâÊÇͨ¹ýserialization»úÖÆÀ´ÊµÏֵġ£
persistenceÊÇÖ¸Ò»¸ö¶ÔÏóµÄÉúÃüÖÜÆÚ²»ÓɳÌÐòÊÇ·ñÖ´ÐÐÀ´¾ö¶¨£¬¼´Ê¹ÊÇÔÚ³ÌÐòÖÕֹʱÕâ¸ö¶ÔÏóÒ²´æÔÚ¡£Ëü°ÑÒ»¸öserializableµÄ¶ÔÏóдµ½´ÅÅÌ£¨±¾»ú»òÆäËû»úÆ÷ÉϵķÇRAM´æ´¢Æ÷£©£¬²¢ÔÚ³ÌÐòÖØÐµ÷ÓÃʱÔÙ¶ÁÈ¡¶ÔÏóµ½Í¨³£µÄRAM´æ´¢Æ÷¡£
Ϊʲô˵JavaµÄserialization»úÖÆÊµÏÖµÄÊÇlightweight persistence?ÒòΪÄã±ØÐëÏÔʽµÄÐòÁл¯ºÍ·´ÐòÁл¯³ÌÐòÀïµÄ¶ÔÏó£»¶ø²»ÊÇÖ±½ÓÓÉÒ»¸ö¹Ø¼ü´ÊÀ´¶¨ÒåÒ»¸ö¶ÔÏóÊÇÐòÁл¯µÄÈ»ºóÓÉϵͳ×öÏàÓ¦µÄ´¦Àí¡£
ÏÂÃæÊǹØÓÚÐòÁл¯µÄÒ»¸öʵÀý£º
³ÌÐòÃû³Æ£ºSerializationDemo.java
³ÌÐòÖ÷Ì⣺ʵÏÖ¶ÔÏóµÄÐòÁл¯ºÍ·´ÐòÁл¯
³ÌÐò˵Ã÷£º¸Ã³ÌÐòÓÉʵÀý»¯Ò»¸öMyClassÀàµÄ¶ÔÏó¿ªÊ¼£¬¸Ã¶ÔÏóÓÐÈý¸öʵÀý±äÁ¿£¬ÀàÐÍ·Ö±ðΪString¡¢int¡¢double£¬ÊÇÏ£Íû´æ´¢ºÍ»Ö¸´µÄÐÅÏ¢¡£
´úÂëÄÚÈÝ
import java.io.*;
public class SerializationDemo{
public static void main(String args[]){
//Object serialization
try{
MyClass object1=new MyClass("Hello",-7,2.7e10);
System.out.println("object1:"+object1);
FileOutputStream fos=new FileOutputStream("serial");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(object1);
oos.flush()
Ïà¹ØÎĵµ£º
JAVAºìºÚÊ÷
¸ÅÄÿ¸ö½Úµã¶¼´øÓÐÑÕÉ«ÊôÐԵĶþ²æ²éÕÒÊ÷£¬ÑÕÉ«»òºìÉ«»òºÚÉ«;
ÌØÐÔ£º
ÐÔÖÊ1. ½ÚµãÊǺìÉ«»òºÚÉ«¡£
¡¡¡¡ÐÔÖÊ2. ¸ùÊǺÚÉ«¡£
¡¡¡¡ÐÔÖÊ3. ÿ¸öºìÉ«½ÚµãµÄÁ½¸ö×ӽڵ㶼ÊǺÚÉ«¡£(´Óÿ¸öÒ¶×Óµ½¸ùµÄËùÓз¾¶Éϲ»ÄÜÓÐÁ½¸öÁ¬ÐøµÄºìÉ«½Úµã)
¡¡¡¡ÐÔÖÊ4. ´ÓÈÎÒ»½Úµãµ½Æäÿ¸öÒ¶×ÓµÄËùÓз¾¶¶¼°üº¬ÏàͬÊýÄ¿µÄºÚÉ«½Úµã¡£
......
¹«Ë¾ÒµÎñ¼±ËÙÀ©ÕÅ£¬¼±ÐèÓвÅÄܵÄͬѧ¼ÓÈëµ½ÎÒÃǵÄÐÐÁÐÖУ¬
×îºÃÄã¶Ô¹¤×÷»ý¼«£¬ÈÏÕæ£¬¸ºÔð
×îºÃÄãÒѾÓÐÔúʵµÄ±à³Ì»ù´¡
×îºÃÄãÒѾÊìÁ·ÕÆÎÕJava¼¼Êõ
×îºÃÄãÖÁÉÙÒÑÓÐÒ»£¬Á½Ä깤×÷¾Ñé
¹¤×÷µØµã£ºº¼ÖÝ
ְλ £ºJava¿ª·¢¹¤³Ìʦ£¨°¢Àï°Í°Í¼¯ÍÅB2B¹«Ë¾ÍøÕ¾¼¼Êõ²¿£©
ÓÐÒâÕßÇë°Ñ ......
WindowsÏÂJAVA»·¾³±äÁ¿µÄÉèÖÃÏé½â
WindowsÏÂJAVAÓõ½µÄ»·¾³±äÁ¿Ö÷ÒªÓÐ3¸ö£¬JAVA_HOME¡¢CLASSPATH¡¢PATH¡£ÏÂÃæÖð¸ö·ÖÎö¡£
JAVA_HOME Ö¸ÏòµÄÊÇJDKµÄ°²×°Â·¾¶£¬Èçx:\JDK_1.4.2£¬ÔÚÕâ·¾¶ÏÂÄãÓ¦¸ÃÄܹ»ÕÒµ½bin¡¢libµÈĿ¼¡£ÖµµÃÒ»ÌáµÄÊÇ£¬JDK µÄ°²×°Â·¾¶¿ÉÒÔÑ¡ÔñÈÎÒâ´ÅÅÌĿ¼£¬²»¹ý½¨ÒéÄã·ÅµÄĿ¼²ã ......
String ¶ÔÏóÊDz»¿É¸Ä±äµÄ¡£Ã¿´ÎʹÓà System.String ÀàÖеķ½·¨Ö®Ò»Ê±£¬¶¼ÒªÔÚÄÚ´æÖд´½¨Ò»¸öеÄ×Ö·û´®¶ÔÏó£¬Õâ¾ÍÐèҪΪ¸ÃжÔÏó·ÖÅäеĿռ䡣ÔÚÐèÒª¶Ô×Ö·û´®Ö´ÐÐÖØ¸´Ð޸ĵÄÇé¿öÏ£¬Óë´´½¨Ð嵀 String ¶ÔÏóÏà¹ØµÄϵͳ¿ªÏú¿ÉÄÜ»á·Ç³£°º¹ó¡£Èç¹ûÒªÐÞ¸Ä×Ö·û´®¶ø²»´´½¨ÐµĶÔÏó£¬Ôò¿ÉÒÔʹÓà System.Text.StringBuilder Àà¡£ÀýÈ ......
javaÖÐsynchronizedÓ÷¨(zz)
´ò¸ö±È·½£ºÒ»¸öobject¾ÍÏñÒ»¸ö´ó·¿×Ó£¬´óÃÅÓÀÔ¶´ò¿ª¡£·¿×ÓÀïÓÐ ºÜ¶à·¿¼ä£¨Ò²¾ÍÊÇ·½·¨£©¡£ÕâЩ·¿¼äÓÐÉÏËøµÄ£¨synchronized·½·¨£©£¬ ºÍ²»ÉÏËøÖ®·Ö£¨ÆÕͨ·½·¨£©¡£·¿ÃſڷÅ×ÅÒ»°ÑÔ¿³×£¨key£©£¬Õâ°ÑÔ¿³×¿ÉÒÔ´ò¿ªËùÓÐÉÏËøµÄ·¿¼ä¡£ÁíÍâÎÒ°ÑËùÓÐÏëµ÷ÓøöÔÏó·½·¨µÄÏ̱߳ÈÓ÷³ÉÏë½øÈëÕâ·¿×Óij¸ö ......