java ÐòÁл¯
¶ÔÏóÐòÁл¯(Serializable)ÊÇÖ¸½«¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì£¬¶ø·´ÐòÁл¯ÔòÊǸù¾Ý×Ö½ÚÐòÁлָ´¶ÔÏóµÄ¹ý³Ì¡£
ÐòÁл¯Ò»°ãÓÃÓÚÒÔϳ¡¾°£º
1.ÓÀ¾ÃÐÔ±£´æ¶ÔÏ󣬱£´æ¶ÔÏóµÄ×Ö½ÚÐòÁе½±¾µØÎļþÖУ»
2.ͨ¹ýÐòÁл¯¶ÔÏóÔÚÍøÂçÖд«µÝ¶ÔÏó£»
3.ͨ¹ýÐòÁл¯ÔÚ½ø³Ì¼ä´«µÝ¶ÔÏó¡£
¶ÔÏóËùÊôµÄÀà±ØÐëʵÏÖSerializable»òÊÇExternalizable½Ó¿Ú²ÅÄܱ»ÐòÁл¯¡£¶ÔʵÏÖÁËSerializable½Ó¿ÚµÄÀ࣬ÆäÐòÁл¯Óë·´ÐòÁл¯²ÉÓÃĬÈϵÄÐòÁл¯·½Ê½£¬Externalizable½Ó¿ÚÊǼ̳ÐÁËSerializable½Ó¿ÚµÄ½Ó¿Ú£¬ÊǶÔSerializable µÄÀ©Õ¹£¬ÊµÏÖÁËExternalizable½Ó¿ÚµÄÀàÍêÈ«×Ô¼º¿ØÖÆÐòÁл¯Óë·´ÐòÁл¯ÐÐΪ¡£
Java.io.ObjectOutputStream´ú±í¶ÔÏóÊä³öÁ÷£¬Æä·½·¨writeObject(Object obj)¿ÉÒÔʵÏÖ¶ÔÏóµÄÐòÁл¯£¬½«µÃµ½µÄ×Ö½ÚÐòÁÐдµ½Ä¿±êÊä³öÁ÷ÖС£Java.io.ObjectInputStream´ú±í¶ÔÏóÊäÈëÁ÷£¬Æä readObject()·½·¨ÄÜ´ÓÔ´ÊäÈëÁ÷ÖжÁÈ¡×Ö½ÚÐòÁУ¬½«Æä·´ÐòÁл¯Îª¶ÔÏ󣬲¢½«Æä·µ»Ø¡£
JavaµÄÐòÁл¯»úÖÆÖ»ÐòÁл¯¶ÔÏóµÄÊôÐÔÖµ£¬¶ø²»»áÈ¥ÐòÁл¯Ê²Ã´ËùνµÄ·½·¨¡£ÆäʵÕâ¸öÎÊÌâ¼òµ¥Ë¼¿¼Ò»Ï¾ͿÉÒÔ¸ãÇå³þ£¬·½·¨ÊDz»´ø×´Ì¬µÄ£¬¾ÍÊÇһЩָÁָÁîÊDz»ÐèÒªÐòÁл¯µÄ£¬Ö»ÒªÄãµÄJVM classloader¿ÉÒÔloadµ½Õâ¸öÀ࣬ÄÇôÀà·½·¨Ö¸Áî×ÔÈ»¾Í¿ÉÒÔ»ñµÃ¡£ÐòÁл¯ÕæÕýÐèÒª±£´æµÄÖ»ÊǶÔÏóÊôÐÔµÄÖµ£¬ºÍ¶ÔÏóµÄÀàÐÍ¡£
ÐòÁл¯ÔËÐÐʱʹÓÃÒ»¸ö³ÆÎª serialVersionUID µÄ°æ±¾ºÅÓëÿ¸ö¿ÉÐòÁл¯ÀàÏà¹ØÁª£¬¸ÃÐòÁкÅÔÚ·´ÐòÁл¯¹ý³ÌÖÐÓÃÓÚÑéÖ¤ÐòÁл¯¶ÔÏóµÄ·¢ËÍÕߺͽÓÊÕÕßÊÇ·ñΪ¸Ã¶ÔÏó¼ÓÔØÁËÓëÐòÁл¯¼æÈݵÄÀà¡£Èç¹û½ÓÊÕÕß¼ÓÔØµÄ¸Ã¶ÔÏóµÄÀàµÄ ¿ÉÐòÁл¯Àà¿ÉÒÔͨ¹ýÉùÃ÷ÃûΪ "serialVersionUID" µÄ×ֶΣ¨¸Ã×ֶαØÐëÊǾ²Ì¬ (static)¡¢×îÖÕ (final) µÄ long ÐÍ×ֶΣ©ÏÔʽÉùÃ÷Æä×Ô¼ºµÄ serialVersionUID£º ½¨ÒéÐèÒªÐòÁл¯µÄ¶ÔÏó¶¼ÉùÃ÷×Ô¼ºµÄÐòÁл¯id£¬ÒòΪjava ĬÈϵÄÐòÁл¯id µÄÉú³ÉÔÚ ÐòÁл¯·½ºÍ·´ÐòÁл¯·½Éú³ÉµÄÖµ¿ÉÄܲ»Ò»Ö¡£
Èç¹ûÐòÁл¯ÀàµÄÓë·´ÐòÁл¯À಻һÑù»áÅ×Òì³£
java.lang.ClassCastException: com.taobao.serialize.test.DomainObject cannot be cast to com.taobao.serialize.test.DomainObject_2
Èç¹ûÐòÁл¯ÀàµÄÓë·´ÐòÁл¯ÀàµÄ ÐòÁл¯id ²»Ò»Ñù£¬Ôò»áÅ×Òì³£
java.io.InvalidClassException: com.taobao.serialize.test.DomainObject; local class incompatible: stream classdesc serialVersionUID = 697337918497451172, local class serialVersionUID = 697337918497451171
Ö»ÒªÐòÁл¯id Ò»Ñù£¬£¬ÐòÁл¯ÀàÃûÒ»Ñù£¬ÐòÁл¯µÄÐÅÏ
Ïà¹ØÎĵµ£º
Following codes will show you how to query the first record from DB using Java Data Bean. package com ;
import com.siebel.data.*;
import com.siebel.data.SiebelException;
public class DataBeanDemo {
private SiebelDataBean m_dataBean = null;
private SiebelBusObject m_busObject = null;
......
1. ±à³Ì¹ßÀý(Programming Practices)
9.1 Ìṩ¶ÔʵÀýÒÔ¼°Àà±äÁ¿µÄ·ÃÎÊ¿ØÖÆ(Providing Access to Instance and Class Variables)
ÈôûÓÐ×ã¹»ÀíÓÉ£¬²»Òª°ÑʵÀý»òÀà±äÁ¿ÉùÃ÷Ϊ¹«ÓС£Í¨³££¬ÊµÀý±äÁ¿ÎÞÐèÏÔʽµÄÉèÖÃ(set)ºÍ»ñÈ¡(gotten)£¬Í¨³£Õâ×÷Ϊ·½·¨µ÷ÓõıßԵЧӦ (side effect ......
»º³åÇøÄÚ²¿Ï¸½Ú
״̬±äÁ¿
״̬±äÁ¿ÊÇǰһ½ÚÖÐÌáµ½µÄ"ÄÚ²¿Í³¼Æ»úÖÆ"µÄ¹Ø¼ü¡£Ã¿Ò»¸ö¶Á/д²Ù×÷¶¼»á¸Ä±ä»º³åÇøµÄ״̬¡£Í¨¹ý¼Ç¼ºÍ¸ú×ÙÕâЩ±ä»¯£¬»º³åÇø¾ÍÄܹ»ÄÚ²¿µØ¹ÜÀí×Ô¼ºµÄ×ÊÔ´¡£
¿ÉÒÔÓÃÈý¸öÖµÖ¸¶¨»º³åÇøÔÚÈÎÒâʱ¿ÌµÄ״̬£º
position
limit
capacity
Position
»º³åÇøÊµ¼ÊÉϾÍÊÇÃÀ»¯Á˵ÄÊý×é¡£ÔÚ´ÓͨµÀ¶Áȡʱ£¬Äú ......
1¡¢Collection ºÍ CollectionsµÄÇø±ð¡£
CollectionsÊǸöjava.utilϵÄÀ࣬Ëü°üº¬Óи÷ÖÖÓйØjava¼¯ºÏ²Ù×÷µÄ¾²Ì¬·½·¨¡£
CollectionÊǸöjava.utilϵĽӿڣ¬ËüÊǸ÷ÖÖjava¼¯ºÏ½á¹¹µÄ¸¸½Ó¿Ú
2¡¢List, Set, MapÊÇ·ñ¼Ì³Ð×ÔCollection½Ó¿Ú? List£¬SetÊÇ Map²»ÊÇ
3¡¢ArrayListºÍVectorµÄÇø±ð¡£
(1).ͬ²½ÐÔ:VectorÊÇÏß³Ì ......
ÔÚÏÖʵ¹¤×÷ÖУ¬ÎÒÃdz£³£ÐèÒª±£´æÒ»Ð©ÏµÍ³ÅäÖÃÐÅÏ¢£¬´ó¼ÒÒ»°ã¶¼»áÑ¡ÔñÅäÖÃÎļþÀ´Íê³É£¬±¾Îĸù¾Ý±ÊÕß¹¤×÷ÖÐÓõ½µÄ¶ÁÈ¡ÅäÖÃÎļþµÄ·½·¨Ð¡Ð¡×ܽáһϣ¬Ö÷ÒªÐðÊöµÄÊÇspring¶ÁÈ¡ÅäÖÃÎļþµÄ·½·¨¡£
Ò».¶ÁÈ¡xmlÅäÖÃÎļþ
(Ò»)н¨Ò»¸öjava bean(HelloBean.java)
java ´úÂë
1. package chb.demo.vo;
2. ......