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()
Ïà¹ØÎĵµ£º
¸ÕѧGIS£¬×ö¸öÉèÖõØÍ¼Öеã¾Í³öÁËÂé·³ £¡µ«ÊÇÒ»Ö±¾ÍÊÇÉèÖò»ÕýÈ·£¬¸ãÁËN¾Ã£»ºóÀ´·¢ÏÖÎÊÌâÔÚÓÚÉèÖõĵØÍ¼±ß½ç¸ß¶È¼°¿í¶ÈÒªÓëÒ³Ãæ¶ÔÓ¦µÄÊä³ö´¦µÄ¸ß¶È¼°¿í¶ÈÒªÒ»Ö¡£
Ò²¾ÍÊÇ£º
myMap.setDeviceBounds(new DoubleRect(0, 0, m_mapWidth, m_mapHeight));
m_mapWidth, m_mapHeight µÄÖµÒªÓëÏÂà ......
JAVAºìºÚÊ÷
¸ÅÄÿ¸ö½Úµã¶¼´øÓÐÑÕÉ«ÊôÐԵĶþ²æ²éÕÒÊ÷£¬ÑÕÉ«»òºìÉ«»òºÚÉ«;
ÌØÐÔ£º
ÐÔÖÊ1. ½ÚµãÊǺìÉ«»òºÚÉ«¡£
¡¡¡¡ÐÔÖÊ2. ¸ùÊǺÚÉ«¡£
¡¡¡¡ÐÔÖÊ3. ÿ¸öºìÉ«½ÚµãµÄÁ½¸ö×ӽڵ㶼ÊǺÚÉ«¡£(´Óÿ¸öÒ¶×Óµ½¸ùµÄËùÓз¾¶Éϲ»ÄÜÓÐÁ½¸öÁ¬ÐøµÄºìÉ«½Úµã)
¡¡¡¡ÐÔÖÊ4. ´ÓÈÎÒ»½Úµãµ½Æäÿ¸öÒ¶×ÓµÄËùÓз¾¶¶¼°üº¬ÏàͬÊýÄ¿µÄºÚÉ«½Úµã¡£
......
¶àÏ̵߳Äͬ²½ÒÀ¿¿µÄÊǶÔÏóËø»úÖÆ£¬synchronized¹Ø¼ü×ֵı³ºó¾ÍÊÇÀûÓÃÁË·âËøÀ´ÊµÏÖ¶Ô¹²Ïí×ÊÔ´µÄ»¥³â·ÃÎÊ¡£
ÏÂÃæÒÔÒ»¸ö¼òµ¥µÄʵÀýÀ´½øÐжԱȷÖÎö¡£ÊµÀýÒªÍê³ÉµÄ¹¤×÷·Ç³£¼òµ¥£¬¾ÍÊÇ´´½¨10¸öỊ̈߳¬Ã¿¸öÏ̶߳¼´òÓ¡´Ó0µ½99Õâ100¸öÊý×Ö£¬ÎÒÃÇÏ£ÍûÏß³ÌÖ®¼ä²»»á³öÏÖ½»²æÂÒÐò´òÓ¡£¬¶øÊÇ˳ÐòµØ´òÓ¡¡£
ÏÈÀ´¿´µÚÒ»¶ ......
1 ÒýÑÔ
JavaµÄÒ»¸öÖØÒªÓŵã¾ÍÊÇͨ¹ýÀ¬»øÊÕ¼¯Æ÷GC £¨Garbage Collection£©×Ô¶¯¹ÜÀíÄÚ´æµÄ»ØÊÕ£¬³ÌÐòÔ±²»ÐèҪͨ¹ýµ÷Óú¯ÊýÀ´ÊÍ·ÅÄÚ´æ¡£Òò´Ë£¬ºÜ¶à³ÌÐòÔ±ÈÏΪJava ²»´æÔÚÄÚ´æÐ¹Â©ÎÊÌ⣬»òÕßÈÏΪ¼´Ê¹ÓÐÄÚ´æÐ¹Â©Ò²²»ÊdzÌÐòµÄÔðÈΣ¬¶øÊÇGC »òJVMµÄÎÊÌâ¡£Æäʵ£¬ÕâÖÖÏë·¨ÊDz»ÕýÈ·µÄ£¬ÒòΪJava Ò²´æÔÚÄÚ´æ ......
¹Ø¼ü×Ö: java³éÏóÀàºÍ½Ó¿ÚµÄÇø±ð---Ïêϸ½â˵
abstract classºÍinterfaceÊÇJavaÓïÑÔÖжÔÓÚ³éÏóÀඨÒå½øÐÐÖ§³ÖµÄÁ½ÖÖ»úÖÆ£¬ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖÆµÄ´æÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄÃæÏò¶ÔÏóÄÜÁ¦¡£abstract classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏà»¥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½øÐгéÏóÀඨÒåʱ¶ÔÓÚ ......