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»úÖÆÀ´ÊµÏֵġ£
......
ÏÂÊöÊ®Ëĸö¼¼ÇÉ£¬ÊÇÐí¶àÈËÔÚ´óÁ¿µÄÊý¾Ý¿â·ÖÎöÓëÉè¼ÆÊµ¼ùÖУ¬Öð²½×ܽá³öÀ´µÄ¡£¶ÔÓÚÕâЩ¾ÑéµÄÔËÓ㬶ÁÕß²»ÄÜÉú°ïÓ²Ì×£¬ËÀ¼ÇÓ²±³£¬¶øÒªÏû»¯Àí½â£¬ÊµÊÂÇóÊÇ£¬Áé»îÕÆÎÕ¡£²¢Öð²½×öµ½£ºÔÚÓ¦ÓÃÖз¢Õ¹£¬ÔÚ·¢Õ¹ÖÐÓ¦Óá£
1. Ôʼµ¥¾ÝÓëʵÌåÖ®¼äµÄ¹ØÏµ
¡¡¡¡
¿ÉÒÔÊÇÒ»¶ÔÒ»¡¢Ò»¶Ô¶à¡¢¶à¶Ô¶àµÄ¹ØÏµ¡£ÔÚÒ»°ãÇé¿öÏ£¬ËüÃÇÊÇÒ»¶ÔÒ»µÄ¹ØÏµ£º¼´Ò»ÕÅÔʼµ¥¾Ý¶ÔÓ¦ÇÒÖ»¶ÔÓ¦Ò»¸öʵÌå¡£ÔÚÌØÊâÇé¿öÏ£¬ËüÃÇ¿ÉÄÜÊÇÒ»¶Ô¶à»ò¶à¶ÔÒ»µÄ¹ØÏµ£¬¼´Ò»ÕÅÔʼµ¥Ö¤¶ÔÓ¦¶à¸öʵÌ壬»ò¶àÕÅÔʼµ¥Ö¤¶ÔÓ¦Ò»¸öʵÌå¡£ÕâÀïµÄʵÌå¿ÉÒÔÀí½âΪ»ù±¾±í¡£Ã÷È·ÕâÖÖ¶ÔÓ¦¹ØÏµºó£¬¶ÔÎÒÃÇÉè¼ÆÂ¼Èë½çÃæ´óÓкô¦¡£
¡¼Àý1¡½£ºÒ»·ÝÔ±¹¤ÂÄÀú×ÊÁÏ£¬ÔÚÈËÁ¦×ÊÔ´ÐÅϢϵͳÖУ¬¾Í¶ÔÓ¦Èý¸ö»ù±¾±í£ºÔ±¹¤»ù±¾Çé¿ö±í¡¢Éç»á¹ØÏµ±í¡¢¹¤×÷¼òÀú±í¡£Õâ¾ÍÊǓһÕÅÔʼµ¥Ö¤¶ÔÓ¦¶à¸öʵÌ唵ĵäÐÍÀý×Ó¡£
2. Ö÷¼üÓëÍâ¼ü
¡¡¡¡
Ò»°ã¶øÑÔ£¬Ò»¸öʵÌå²»ÄܼÈÎÞÖ÷¼üÓÖÎÞÍâ¼ü¡£ÔÚE?R ͼÖÐ, ´¦ÓÚÒ¶×Ó²¿Î»µÄʵÌå, ¿ÉÒÔ¶¨ÒåÖ÷¼ü£¬Ò²¿ÉÒÔ²»¶¨ÒåÖ÷¼ü(ÒòΪËüÎÞ×ÓËï), µ«±ØÐëÒªÓÐÍ ......
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£¸ù¾ÝÎҵľÑ飬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢Java±à³ÌÈëÃÅÀà
¶ÔÓÚûÓÐJava±à³Ì¾ÑéµÄ³ÌÐòÔ±ÒªÈëÃÅ£¬Ëæ±ã¶ÁʲôÈëÃÅÊé¼®¶¼Ò»Ñù£¬Õâ¸ö½×¶ÎÐèÒªÄã¿ìËÙµÄÕÆÎÕJava»ù´¡Óï·¨ºÍ»ù±¾Ó÷¨£¬×ÚÖ¼¾ÍÊÇ“àñàðÍÌÔæ²»ÇóÉõ½â”£¬ÏȶÔJavaÊìϤÆðÀ´ÔÙ˵¡£Óú̵ܶÄʱ¼ä¿ìËÙ¹ýÒ»±éJavaÓï·¨£¬Á¬ã´ø²Â¶àдд´úÂ룬Ҫ“ÖªÆäÈ»”¡£ÏÖÔںܶàITÖ°ÒµÅàѵ»ú¹¹ÎªÊ¹Ñ§Ô±Ñ§µÃÔúʵ£¬²»Î·ÄÑÒ×½ÓÊÜ£¬Èç±±´óÇàÄñ´ÓÁã»ù´¡¿ªÊ¼½Ìѧ£¬ÈÃѧԱ´Ó×î»ù´¡µÄ¿ªÊ¼Ñ§Æð£¬ÂýÂýÉ¡£
1¡¢¡¶Java±à³Ì˼Ïë¡·
ÔÚÓÐÁËÒ»¶¨µÄJava±à³Ì¾ÑéÖ®ºó£¬ÄãÐèÒª“ÖªÆäËùÒÔÈ»”ÁË¡£Õâ¸öʱºò¡¶Java±à³Ì˼Ïë¡·ÊÇÒ»±¾ÈÃÄãÖªÆäËùÒÔÈ»µÄºÃÊ飬Ëü¶ÔÓÚ»ù±¾µÄÃæÏò¶ÔÏó֪ʶÓбȽÏÇå³þµÄ½»´ý£¬¶ÔJava»ù±¾Óï·¨£¬»ù±¾Àà¿âÓбȽÏÇå³þµÄ½²½â£¬¿ÉÒÔ°ïÄã´òÒ»¸öÁ¼ºÃµÄJava±à³Ì»ù´¡¡£Õâ±¾ÊéµÄȱµãÊÇʵÔÚÌ«ºñ£¬Ò²±È½ÏÂÞ࣬²»ÊʺÏÏÖ´úÈË¿ì½Ú×àѧϰ£¬Òò´Ë¿´Õâ±¾ÊéÒª¶®µÃÈ¡Éᣬ²»ÊÇ ......
ÓÐÈçÏÂÇé¿öÏ¿ÉÒÔÓõ½ÄÚ´æÎļþÓ³Éä¼¼Êõ½â¾öÎÊÌâ:
1.²»Òª¸´ÖÆÎļþÖÐËùÓеÄÊý¾Ý£¬Ö»ÐèÒªÐÞ¸ÄÎļþÖоֲ¿µÄÊý¾Ý¡£
2.²¢ÐÐ\·Ö¶Î´¦Àí´óÎļþ¡£
ÈçÏ´úÂëʾʹÓÃjavaNIO¾Ö²¿ÐÞ¸ÄÎļþÖÐÖ¸¶¨Î»ÖõIJ¿·ÖÊý¾Ý£º
Java´úÂë
/**
* ÐÞ¸ÄÎļþÖеÄijһ²¿·ÖµÄÊý¾Ý²âÊÔ:½«×Ö¶¨Î»ÖõÄ×Öĸ¸ÄΪ´óд
* @param fName :ÒªÐ޸ĵÄÎļþÃû×Ö
* @param start:Æðʼ×Ö½Ú
* @param len:ÒªÐ޸ĶàÉÙ¸ö×Ö½Ú
* @return :ÊÇ·ñÐ޸ijɹ¦
* @throws Exception:Îļþ¶ÁдÖпÉÄܳöµÄ´í
* @author javaFound
*/
public static boolean changeFile(String fName,int start,int len) throws Exception{
& ......
JavaÐÔÄÜÓÅ»¯¼¼Çɼ¯½õ
Ò»¡¢Í¨ÓÃÆª
¡¡¡¡1.1 ²»ÓÃnew¹Ø¼ü´Ê´´½¨ÀàµÄʵÀý
¡¡¡¡1.2 ʹÓ÷Ç×èÈûI/O
¡¡¡¡1.3 É÷ÓÃÒì³£
¡¡
¡¡1.4 ²»ÒªÖظ´³õʼ»¯±äÁ¿
¡¡¡¡1.5 ¾¡Á¿Ö¸¶¨ÀàµÄfinalÐÞÊηû
¡¡¡¡1.6 ¾¡Á¿Ê¹Óþֲ¿±äÁ¿
¡¡¡¡1.7
³Ë·¨ºÍ³ý·¨
¶þ¡¢J2EEƪ
¡¡¡¡2.1 ʹÓûº³å±ê¼Ç
¡¡¡¡2.2 ʼÖÕͨ¹ý»á»°Bean·ÃÎÊʵÌåBean
¡¡¡¡
2.3 Ñ¡ÔñºÏÊʵÄÒýÓûúÖÆ
¡¡¡¡2.4 ÔÚ²¿ÊðÃèÊöÆ÷ÖÐÉèÖÃÖ»¶ÁÊôÐÔ
¡¡¡¡2.5 »º³å¶ÔEJB HomeµÄ·ÃÎÊ
¡¡¡¡2.6
ΪEJBʵÏÖ±¾µØ½Ó¿Ú
¡¡¡¡2.7 Éú³ÉÖ÷¼ü
¡¡¡¡2.8 ¼°Ê±Çå³ý²»ÔÙÐèÒªµÄ»á»°
¡¡¡¡2.9
ÔÚJSPÒ³ÃæÖйرÕÎÞÓõĻỰ
¡¡¡¡2.10 ServletÓëÄÚ´æÊ¹ÓÃ
¡¡¡¡2.11 HTTP Keep-Alive
¡¡¡¡
2.12 JDBCÓëUnicode
¡¡¡¡2.13 JDBCÓëI/O
¡¡¡¡1.14 ÄÚ´æÊý¾Ý¿â
Èý¡¢GUIƪ
¡¡¡¡
3.1 ÓÃJARѹËõÀàÎļþ
¡¡¡¡3.2 ÌáʾApplet×°Èë½ø³Ì
¡¡¡¡3.3 ÔÚ»³öͼÐÎ֮ǰԤÏÈ×°ÈëËü
¡¡¡¡3.4
¸²¸Çupdate·½·¨
¡¡¡¡3.5 ÑÓ³ÙÖØ»²Ù×÷
¡¡¡¡3.6 ʹÓÃË«»º³åÇø
¡¡¡¡3.7 ʹÓÃBufferedImage
¡¡
¡¡3.8 ʹÓÃVolatileImage
¡¡¡¡3.9 ʹÓÃWindow Blitting
ËÄ¡¢²¹³ä×ÊÁÏ
===================================
ÕýÎÄ:
======================= ......
´úÂëÄÚÈÝ
create or replace procedure batchUpdateCustomer(p_age in number) as
begin
update CUSTOMERS set AGE=AGE+1 where AGE>p_age;
end;
ÒÔÉÏ´æ´¢¹ý³ÌÓÐÒ»¸ö²ÎÊýp_age£¬´ú±í¿Í»§µÄÄêÁ䣬ӦÓóÌÐò¿É°´ÕÕÒÔÏ·½Ê½µ÷Óô洢¹ý³Ì£º
´úÂëÄÚÈÝ
tx = session.beginTransaction();
Connection con=session.connection();
String procedure = "{call batchUpdateCustomer(?) }";
CallableStatement cstmt = con.prepareCall(procedure);
cstmt.setInt(1,0); //°ÑÄêÁä²ÎÊýÉèΪ0
cstmt.executeUpdate();
tx.commit();
create or replace produre batchUpdateStudent(a in number) as
begin
update STUDENT set AGE=AGE+1 where AGE>a;
end;
µ÷ÓôúÂëÈçÏ£º
Transaction tx=session.beginSession();
Connection conn=session.connection();
String pd=”...{call batchUpdateStudent(?)}”;
CallableStatement cstmt=conn.PrepareCall(pd);
cstmt.setInt(1,20); //°ÑÄêÁäÕâ¸ö²ÎÊýÉèΪ20
tx.commit()£»
......