#1.public,private,protected,以及不寫時的區別?java
##public緩存
爲公共成員變量和函數成員,在整個類內類外均可使用,在子類變爲public數據結構
##private框架
爲私有成員變量和函數成員,只在聲明的類內可使用,子類不可用函數
##protected工具
爲受保護成員變量和函數成員,類外不可以使用。類內可使用,子類變爲private線程
##不使用關鍵字翻譯
默認爲類內使用。code
#2.int與Integer的區別對象
Ingeter是int的包裝類,int是基本數據類型初值爲0,Ingeter是一個類初值爲null。
##結論①不管如何,Integer與new Integer不會相等。不會經歷拆箱過程,一個引用指向堆,另外一個指向專門存放他的內存(常量池),他們的內存地址不同,因此爲false
②兩個都是非new出來的Integer,若是數在-128到127之間,則是true,不然爲false java在編譯Integer i2 = 128的時候,被翻譯成-> Integer i2 = Integer.valueOf(128);而valueOf()函數會對-128到127之間的數進行緩存
③兩個都是new出來的,都爲false
④int和integer(不管new否)比,都爲true,由於會把Integer自動拆箱爲int再去比
##例子
由於常量池的範圍在-128到127 因此他們都是新的對象 比較的話 是比較地址值 因此爲false
Integer i5 = 128; Integer i6 = 128; System.out.println(i5 == i6);//false
一個存在常量池 一個是指引常量池的地址值 對比因此爲false
Integer i5 = 127; Integer ii5 = new Integer(127); System.out.println(i5 == ii5); //false
new了2個不一樣的對象 確定不想等 地制止不一致
Integer i7 = new Integer(128); Integer i8 = new Integer(123); System.out.println(i7 == i8); //false
#3.Collection和Collections的區別
##Collection
java.util.Collection 是一個集合接口。它提供了對集合對象進行基本操做的通用接口方法。Collection接口在Java 類庫中有不少具體的實現。Collection接口的意義是爲各類具體的集合提供了最大化的統一操做方式。 Collection
##Collections
java.util.Collections 是一個包裝類。它包含有各類有關集合操做的靜態多態方法。此類不能實例化,就像一個工具類,服務於Java的Collection框架。
#4.HashMap和HashTable的區別
##HashMap
底層數據結構是哈希表;容許使用null鍵和null值,不一樣步,效率高 ,遍歷時,取得數據的順序是徹底隨機的。HashMap最多隻容許一條記錄的鍵爲Null;容許多條記錄的值爲 Null;
##HashTable
它繼承自Dictionary類 ,不容許鍵或者值爲空,同步,效率低
#5.sleep和wait的區別
1.sleep指線程被調用時,佔着CPU不工做,而wait被調用時,等待CPU使用 2.sleep方法沒有釋放鎖,而 wait 方法釋放了鎖,使得其餘線程可使用同步控制塊或者方法。 3.wait,notify和notifyAll只能在同步控制方法或者同步控制塊裏面使用,而sleep能夠在任何地方使用 4.sleep必須捕獲異常,而wait,notify和notifyAll不須要捕獲異常 5.sleep是Thread靜態方法,wait是Object的成員方法