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
Ïà¹ØÎĵµ£º
JavaÓïÑÔµÄ26¸öϸ½Ú[×ªÔØ]
Java×÷ΪһÃÅÓÅÐãµÄÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ,ÕýÔÚ±»Ô½À´Ô½¶àµÄÈËʹÓᣱ¾ÎÄÊÔͼÁгö×÷ÕßÔÚʵ¼Ê¿ª·¢ÖÐÅöµ½µÄһЩJavaÓïÑÔµÄÈÝÒ×±»È˺öÊÓµÄϸ½Ú,Ï£ÍûÄܸøÕýÔÚѧϰJavaÓïÑÔµÄÈËÓÐËù°ïÖú¡£
1£¬Î»ÒÆÔËËãÔ½½çÔõô´¦Àí
¿¼²ìÏÂÃæµÄ´úÂëÊä³ö½á¹ûÊǶàÉÙ?
int a=5;
......
ÔÚEclipseÖÐÁ¬ÉÏjavadocsÎĵµ
Ò»¡¢ °²×°Eclipse
¶þ¡¢ ´ÓOracle¹ÙÍø»òÕßsunÒÔǰµÄ¹ÙÍøÉÏÏÂÔØJavaÏàÓ¦µÄdocsÎĵµ
Èý¡¢ & ......
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class LinkAccess {
/**
* @param args
*/
public stat ......
Õâ¶Îʱ¼äÔÚ×¢²áÓòÃû£¬ÔÛÆð²½Íí£¬ºÃÓõÄÓòÃû¶¼¸ø±ðÈË×¢²áÁË¡£
ÏëÕÒ¸öλÊýÉÙµÄ.comÓòÃû£¬¿ÉÊÇ·¢Ïִ󲿷ֶ¼×¢²áÁË£¬Ò²¾ÍÊÇ˵£¬ÎÒµã»÷µÄ¶à´Î²éѯ¶¼ÊÇÀË·Ñ¿¨Â·ÀÎҿɲ»Ïë¼õ·Ê£©
ÓÚÊÇ»¨Á˵ãʱ¼ä£¬ÓÃjavaдÁ˸ö¸ù¾ÝÖ¸¶¨Î»Êý²éѯËùÓпÉÓõÄ.comÓòÃûµÄС³ÌÐò¡£ÌṩԴÂëÏÂÔØ¡£
ÎÒÀûÓõÄÊÇwhoisÕâ¸öÓòÃû²éÑ¯ÍøÕ¾È¡µÃÊý¾Ý£¬ÔÚ²âÊÔµ ......
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr£¨£©£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache£¬SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
¡¡¡¡
Tag£ºJava ¿Í»§¶Ë ÕæÊµIPµØÖ·
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr£¨£©£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ ......