java transient¼ò½é
ÎÒÃǶ¼ÖªµÀÒ»¸ö¶ÔÏóֻҪʵÏÖÁËSerilizable½Ó¿Ú£¬Õâ¸ö¶ÔÏó¾Í¿ÉÒÔ±»ÐòÁл¯£¬javaµÄÕâÖÖÐòÁл¯Ä£Ê½Îª¿ª·¢ÕßÌṩÁ˺ܶà±ãÀû£¬ÎÒÃÇ¿ÉÒÔ²»±Ø¹ØÏµ¾ßÌåÐòÁл¯µÄ¹ý³Ì£¬Ö»ÒªÕâ¸öÀàʵÏÖÁËSerilizable½Ó¿Ú£¬Õâ¸öµÄËùÓÐÊôÐԺͷ½·¨¶¼»á×Ô¶¯ÐòÁл¯¡£
È»¶øÔÚʵ¼Ê¿ª·¢¹ý³ÌÖУ¬ÎÒÃdz£³£»áÓöµ½ÕâÑùµÄÎÊÌ⣬Õâ¸öÀàµÄÓÐЩÊôÐÔÐèÒªÐòÁл¯£¬¶øÆäËûÊôÐÔ²»ÐèÒª±»ÐòÁл¯£¬³ÏÈ»£¬Äã¿ÉÒÔÈÃÕâ¸öÀàÀ´ÊµÏÖExternalizable½Ó¿Ú£¬Õâ¸ö½Ó¿ÚÊÇSerilizableµÄ×Ó½Ó¿Ú£¬µ«ÊÇÄã±ØÐëʵÏÖreadExternalºÍwriteExternal·½·¨£¬Äã¿ÉÒÔÔÚÕâÁ½¸ö·½·¨ÖÐʵÏÖ¾ßÌåÊôÐԵķ´ÐòÁл¯ºÍÐòÁл¯²Ù×÷¡£È»¶øÕâ¾ÍÒâζ×ÅÄã±ØÐëÔÚÕâÁ½¸ö·½·¨ÖÐÊÖ¹¤±àд¶îÍâµÄ´úÂëÀ´½øÐоßÌåÊôÐÔµÄÐòÁл¯¡£javaµÄtransient¹Ø¼ü×ÖΪÎÒÃÇÌṩÁ˱ãÀû£¬ÄãÖ»ÐèҪʵÏÖSerilizable½Ó¿Ú£¬½«²»ÐèÒªÐòÁл¯µÄÊôÐÔǰÌí¼Ó¹Ø¼ü×Ötransient£¬ÐòÁл¯¶ÔÏóµÄʱºò£¬Õâ¸öÊôÐԾͲ»»áÐòÁл¯µ½Ö¸¶¨µÄÄ¿µÄµØÖС£
public class TestTransient {
/**
* @param args
* @throws IOException
* @throws FileNotFoundException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
A a = new A(25,"ÕÅÈý");
System.out.println(a);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("c:\\mm.txt"));
oos.writeObject(a);
oos.close();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("c:\\mm.txt"));
a = (A)ois.readObject();
System.out.println(a);
}
}
class A implements Serializable{
int a;
transient String b;
public A(int a,String b){
this.a = a;
this.b = b;
}
public String toString(){
return "a = "+a+",b = "+b;
}
}
ÔËÐнá¹ûÈçÏ£º
a = 25,b = ÕÅÈý
a = 25,b = null
ÔÚÉÏÃæµÄÀý×ÓÖУ¬ÎÒ½«ÊôÐÔbǰÌí¼Ó¹Ø¼ü×Ötransient£¬ÎÒÃÇ¿´µ½ËäÈ»ÎÒÃÇÐòÁл¯µÄ¶ÔÏóaµÄÊôÐÔֵΪ“ÕÅÈý”£¬µ«Êǵ±ÎÒÃÇ·´ÐòÁл¯Ö®ºó·¢ÏÖÕâ¸öÊôÐÔΪ¿Õ£¬ËµÃ÷Õâ¸öÊôÐÔûÓнøÐÐÐòÁл¯¡£
Ïà¹ØÎĵµ£º
ÎÒÃÇÔÚ¿ª·¢ÏîÄ¿µÄʱºò,ÌØ±ðÊÇB/Sϵͳ,¾³£»áÓöµ½ÒªÅúÁ¿ÉÏ´«ÎļþµÄÐèÇó,¶Ô´ËÐèÇóÒ»°ãÓÐÈçϼ¸¸ö½â¾ö·½°¸(ÒÔB/SΪÀý):
1. ÔÚ¿Í»§¶ËÌṩÎļþÉÏ´«½Ó¿Ú,Ò»´ÎÉÏ´«Ò»¸öÎļþ
2. Ò»´ÎÉÏ´«¶à¸öÎļþ
3. ½«ÐèÒªÉÏ´«µÄÎļþ´ò°ü,Ò»´ÎÉÏ´«µ½·þÎñÆ÷,²¢×Ô¶¯½âѹµ½Ö¸¶¨Ä¿Â¼
1,2·½·¨¶¼Óм¸¸öºÜÃ÷ÏԵIJ»×ã,Óû§¹¤×÷Á¿´ó,ÎļþÈç¹û¹ý´ó,ÔÚÍø ......
JavaỊ̈߳º´´½¨ÓëÆô¶¯
SCJP5ѧϰ±Ê¼Ç
Ò»¡¢¶¨ÒåÏß³Ì
1¡¢À©Õ¹java.lang.ThreadÀà¡£
´ËÀàÖÐÓиörun()·½·¨£¬Ó¦¸Ã×¢ÒâÆäÓ÷¨£º
public void run()
Èç¹û¸ÃÏß³ÌÊÇʹÓöÀÁ¢µÄ Runnable ÔËÐжÔÏó¹¹ÔìµÄ£¬Ôòµ÷Óøà Runnable ¶ÔÏóµÄ run ·½·¨£»·ñÔò£¬¸Ã·½·¨²»Ö´ÐÐÈκβÙ×÷²¢·µ»Ø¡£
T ......
JavaỊ̈߳ºÏ̵߳ĵ÷¶È-Èò½
Ï̵߳ÄÈò½º¬Òå¾ÍÊÇʹµ±Ç°ÔËÐÐ×ÅÏß³ÌÈóöCPU×ÊÔ´£¬µ«ÊÇÈ»¸øË²»ÖªµÀ£¬½ö½öÊÇÈóö£¬Ïß³Ì״̬»Øµ½¿ÉÔËÐÐ״̬¡£
Ï̵߳ÄÈò½Ê¹ÓÃThread.yield()·½·¨£¬yield() Ϊ¾²Ì¬·½·¨£¬¹¦ÄÜÊÇÔÝÍ£µ±Ç°ÕýÔÚÖ´ÐеÄÏ̶߳ÔÏ󣬲¢Ö´ÐÐÆäËûÏ̡߳£
/**
* JavaỊ̈߳ºÏ̵߳ĵ÷¶È-Èò½
*
......
Ãô½Ý¿ª·¢µÄÀíÄîÒѾÁ÷ÐÐÁ˺ܳ¤µÄʱ¼ä£¬ÔÚÃô½Ý¿ª·¢ÖеĿª·¢µü´ú½×¶ÎÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÎå¸ö²½Ö裬À´ÓÐЧµÄÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
JavaÏîÄ¿¿ª·¢¹ý³ÌÖУ¬ÓÉÓÚ¿ª·¢ÈËÔ±µÄ¾Ñé¡¢Java´úÂë±àдϰ¹ß£¬ÒÔ¼°È±·¦Í³Ò»µÄ±ê×¼ºÍ¹ÜÀíÁ÷³Ì£¬ÍùÍùµ¼ÖÂÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿½Ï²î£¬ÄÑÓÚά »¤£¬ÐèÒª½Ï´óµÄ²âÊÔͶÈëºÍÖÜÆÚµÈÎÊÌâ¡£ÕâЩÎÊÌâÔÚÒ»¸öÏ ......
Java™ ÓïÑÔ°üº¬Á½ÖÖÄÚÔÚµÄͬ²½»úÖÆ£ºÍ¬²½¿é(»ò·½·¨)ºÍ volatile ±äÁ¿¡£ÕâÁ½ÖÖ»úÖÆµÄÌá³ö¶¼ÊÇΪÁËʵÏÖ´úÂëÏ̵߳ݲȫÐÔ¡£ÆäÖÐ Volatile ±äÁ¿µÄͬ²½ÐԽϲî(µ«ÓÐʱËü¸ü¼òµ¥²¢ÇÒ¿ªÏú¸üµÍ)£¬¶øÇÒÆäʹÓÃÒ²¸üÈÝÒ׳ö´í¡£
¡¡¡¡Ì¸¼°µ½volatile¹Ø¼ü×Ö£¬²»µÃ²»ÌáµÄһƪÎÄÕÂÊÇ£º¡¶Java ÀíÂÛÓëʵ¼ù: ÕýȷʹÓà Volatile ±äÁ¿¡·£¬ÕâÆ ......