Java Serialization transient
1. ʲôÊÇSerialization?
´®Ðл¯(Serialization)ÊǼÆËã»ú¿ÆÑ§ÖеÄÒ»¸ö¸ÅÄËüÊÇÖ¸½«¶ÔÏó´æ´¢µ½½éÖÊ£¨ÈçÎļþ¡¢ÄÚÔÚ»º³åÇøµÈ£©ÖлòÊÇÒÔ¶þ½øÖÆ·½Ê½Í¨¹ýÍøÂç´«Êä¡£Ö®ºó ¿ÉÒÔͨ¹ý·´´®Ðл¯´ÓÕâЩÁ¬ÐøµÄλÊý¾ÝÖØÐ¹¹½¨Ò»¸öÓëÔʼ¶ÔÏó״̬ÏàͬµÄ¶ÔÏó£¬Òò´ËÔÚÌØ¶¨Çé¿öÏÂÒ²¿ÉÒÔ˵Êǵõ½Ò»¸ö¸±±¾£¬µ«²¢²»ÊÇËùÓÐÇé¿ö¶¼ÕâÑù¡£
JavaÓÐSerialization APIΪ¿ª·¢ÕßÌṩÁËÒ»ÖÖ±ê×¼µÄ»úÖÆÀ´´®Ðл¯Àà¡£
2. ΪʲôҪSerilzation?
ÌØ±ðµØ£¬´®Ðл¯Ö÷ÒªÓÐÈýÖÖÓÃ;£º
1£©×÷ΪһÖֳ־û¯»úÖÆ
Èç¹ûʹÓõÄÊÇFileOutputStreamÁ÷µÄ·½Ê½£¬ÔòÊý¾Ý½«±»×Ô¶¯µØÐ´ÈëÎļþÖУ¬
2£©×÷ΪһÖÖ¸´ÖÆ»úÖÆ
Èç¹ûʹÓõÄÊÇByteArrayOutputStreamÁ÷µÄ·½Ê½£¬Êý¾Ý½«Ð´ÈëÄÚ´æÖеÄ×Ö½ÚÊý×éÖС£¸Ã×Ö½ÚÊý×é¿ÉÒÔÓÃÀ´´´½¨³õʼ¶ÔÏóµÄ¸±±¾£¬
3£©×÷ΪһÖÖͨÐÅ»úÖÆ
Èç¹ûÊÇʹÓÃÌ×½Ó×Ö£¨Socket£©Á÷µÄ·½Ê½£¬ÔòÊý¾Ý×Ô¶¯µØÍ¨¹ýÍøÂçÁ¬½Ó´«ÊäÒ»ÁíÒ»¸ö¶Ëµã£¬²¢ÓÉÕâ¸ö¶ËµãÉϵijÌÐòÀ´¾ö¶¨×öʲô¡£
3. SerializationµÄ»ù±¾Ó÷¨£ºÄ¬ÈÏ»úÖÆ
½«Òª´®Ðл¯µÄÀà±ØÐëʵÏÖjava.io.Serializable½Ó¿Ú£¬»òÕßÊǼ̳ÐʵÏÖÁ˸ýӿڵÄÀࡣȻºóͨ¹ýjava.io.ObjectOutputStreamÀàÀ´ÊµÏֳ־û¯£¬Èç¹ûÓñ£´æµ½ÎļþÉÏ»¹ÐèÒªÓõ½java.io.FileOutputStreamÀà¡£ÒòΪObjectOutputStream±»ÈÏΪÊÇjava.io°üÖеĸ߼¶ÀàËùÒÔ¿ÉÓÃËüÀ´°ü×°µÍ¼¶µÄÀàFileOutputStream¡£Ôڳ־û¯¹ý³ÌÖе÷ÓõÄÒ»¸ö·½·¨ÊÇObjectOutputStream¶ÔÏóµÄwriteObject(obj)·½·¨¡£
µ±Òª´ÓÎļþÖлָ´¶ÔÏóʱ£¬ÔòÊÇʹÓÃjava.io.OjbectInputStreamÓëFileInputStreamÀ࣬µ÷ÓÃÒ»·½·¨ÊÇObjectInputStream¶ÔÏóµÄreadObject()·½·¨¡£
ʾÀý1£º
/*¶¨ÒåÒ»¸öʵÏÖÁËSerializable½Ó¿ÚµÄÀࣺCat*/
import java.io.*;
public class Cat implements Serializable {
private String name;
public Cat () {
this.name = "new cat";
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
/*½«CatÀàµÄ¶ÔÏó´®Ðл¯Óë·´´®Ðл¯*/
import java.io.*;
public class CatDemo {
public st
Ïà¹ØÎĵµ£º
×î½üÒª¸Äдһ¸öºËÐļÓÃÜÈÏÖ¤À࣬´ÓC#¸Äд³ÉJava¡£
·¢ÏÖÔÚµ÷ÊÔʱ£¬¼ÓÃܵÄÊý¾ÝÎÞÂÛÈçºÎÒ²¶Ô²»ÉÏ¡£
¾¹ý¸ú×Ù£¬·¢ÏÖÎÊÌâ³öÔÚC#ºÍJava byteÀàÐ͵ÄÇø±ðÉÏ£ºÔÚC#Àï byteÀàÐÍÊÇÎÞ·ûºÅµÄ£¬¶øJavaÀïÊÇÓзûºÅµÄ£¬ËùÒÔC#ÀïµÄ129µ½JavaÀï¾Í³ÉÁ˸ºÊý¡£
·¢ÏÖÁËÎÊÌ⣬½â¾ö¾Í±È½ÏÈÝÒ×ÁË£¬Õë¶ÔJavaµÄbyte£¬²ÉÓÃIntÀ´½øÐд洢¡£
ͨ¹ýÈçÏ´ú ......
ÏÖÔÚÓÃlinuxµÄÅóÓÑÔ½À´Ô½¶àÁË£¬Ç°¼¸Ìì¾ÍÓÐÁ½¸öÅóÓÑÎÊÎÒlinuxÏÂÔõôÅäÖÃjava»·¾³£¬ÎÒÏ뻹ÓкܶàÅóÓÑÏëÁ˽âѧϰÕâ·½ÃæµÄ¶«Î÷£¬¾Íдһ¸öÍêȫһµãµÄlinux java»·¾³ÅäÖðɣ¬Ï£Íû¶Ô´ó¼ÒÓаïÖú¡£
Ò». ÏÂÔØjdk5.0 for linux
¡¡¡¡µ½sunµÄÖ÷Ò³ http://java.sun.com/j2se/1.5.0/download.jsp ÏÂÔØjdk°²×°Îļþjdk-1_5_0_05-linux-i586 ......
// µ¼Èë£É£Ï¿âÀà
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
// µ¼Èë¡¡£Ð£Ï£É¿âÀà
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi ......
È«±¾¡¶Êý¾Ý¿â¿ª·¢ÕâµãÊÂ-Java¿ìËÙÈëÃÅ¡·Ãâ·ÑÏÂÔØ
À´×Ô£ºhttp://zyt.howwe.net/me.php?320
Ŀ¼£ºhttp://zyt.howwe.net/ok.php?321
ÄÚÈݼò½é
¡¡¡¡Õë¶ÔJava³õѧÕß¼°ÈëÃÅÕߣ¬ÏµÍ³²ûÊöWeb¿ª·¢»ù±¾ÖªÊ¶£¬½áºÏÊý¾Ý¿âµÄ¿ìËÙÓ¦Óã¬Ê¹¶ÁÕß¿ìËÙ¿çÈëJavaÁìÓò£¬¶Ô±à³ÌÓïÑÔ²»ÔÙη¾å¡£¸ÃÊé×÷Ϊ¡¶´ÓÈËÉúÐèÒªÒýµ¼ÂÛJava¿ìËÙ¿ª·¢ ......
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr£¨£©£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache£¬SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
¡¡¡¡
Tag£ºJava ¿Í»§¶Ë ÕæÊµIPµØÖ·
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr£¨£©£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ ......