錯題集

String s = "hello" ;
String t = "hello" ;
1.char c [ ] = { 'h' , 'e' , '1' , '1' , 'o' };
System.out.println(s.equals (t)); //true  s和t指向內存常量區的同一個字符串  ;
System.out.println(t.equals (c)); //false 一個返回字符串,一個返回對象 ;
System.out.println(s==t); // true  s和t指向內存常量區的同一個字符串 ;
System.out.println(t.equals ( new String ( "hello" ))); //true equal用於比較兩個對象的值是否相同,和內存地址無關
 
 
2.Java線程之間的通訊由Java內存模型(簡稱爲JMM)控制,JMM決定一個線程對共享變量的寫入什麼時候對另外一個線程可見。從抽象的角度來看,JMM定義了線程和主內存之間的抽象關係:線程之間的共享變量存儲在主內存(main memory)中,每一個線程都有一個私有的本地內存(local memory),本地內存中存儲了該線程以讀/寫共享變量的副本。本地內存是JMM的一個抽象概念,並不真實存在。它涵蓋了緩存,寫緩衝區,寄存器以及其餘的硬件和編譯器優化

volatile變量的寫-讀能夠實現線程之間的通訊。java

從內存語義的角度來講,volatile與監視器鎖有相同的效果:volatile寫和監視器的釋放有相同的內存語義;volatile讀與監視器的獲取有相同的內存語義。數組

 

3.ArrayList就是動態數組,用MSDN中的說法,就是Array的複雜版本,它提供了以下一些好處: 
   1> 動態的增長和減小元素 
   2> 實現了ICollection和IList接口 
   3> 靈活的設置數組的大小
 
4.重載在一個類中,重寫在繼承中,重寫中子類和父類相同方法名,參數類型和參數表
相關文章
相關標籤/搜索