2.getclass方法
3.tostring方法
4.finalize方法
5.equals方法
6.hashcode方法
7.wait方法
8.notify方法
9.notifyall方法
作用域當前類
同一package
子孫類其他package
public√√
√√protected√√
√×private√×
××friendly√√
××保護方法,實現物件的淺複製,只有實現了cloneable介面才可以呼叫該方法,否則丟擲clonenotsupportedexception異常。
new物件:new操作符時, 首先去看new操作符後面的型別,分配記憶體空間。再呼叫建構函式,填充物件的各個域,這一步叫做物件的初始化,構造方法返回後,乙個物件建立完畢,可以把他的引用(位址)發布到外部,在外部就可以使用這個引用操縱這個物件clone物件:呼叫clone方法時,分配的記憶體和源物件(即呼叫clone方法的物件)相同,然後再使用原物件中對應的各個域,填充新物件的域, 填充完成之後,clone方法返回,乙個新的相同的物件被建立,同樣可以把這個新物件的引用發布到外部。
@override
protected object clone() throws clonenotsupportedexception
深拷貝例項的例項物件不能實現深拷貝,不完全深拷貝
final方法,獲得執行時型別。
當使用getclass()方法的物件是普通類物件時,getclass()方法返回當前物件的類的資訊。
該方法用得比較多,一般子類都有覆蓋。(返回屬性字串)
public string tostring()
該方法用於釋放資源。因為無法確定該方法什麼時候被呼叫,很少使用。
該方法是非常重要的乙個方法。一般equals和==是不一樣的,但是在object中兩者是一樣的。子類一般都要重寫這個方法。
該方法用於雜湊查詢,重寫了equals方法一般都要重寫hashcode方法。這個方法在一些具有雜湊功能的collection中用到。
一般必須滿足obj1.equals(obj2)==true。可以推出obj1.hash- code()==obj2.hashcode(),但是hashcode相等不一定就滿足equals。不過為了提高效率,應該盡量使上面兩個條件接近等價。
wait方法就是使當前執行緒等待該物件的鎖,當前執行緒必須是該物件的擁有者,也就是具有該物件的鎖。wait()方法一直等待,直到獲得鎖或者被中斷。wait(long timeout)設定乙個超時間隔,如果在規定時間內沒有獲得鎖就返回。
呼叫該方法後當前執行緒進入睡眠狀態,直到以下事件發生。該方法喚醒在該物件上等待的某個執行緒。(1)其他執行緒呼叫了該物件的notify方法。
(2)其他執行緒呼叫了該物件的notifyall方法。
(3)其他執行緒呼叫了interrupt中斷該執行緒。
(4)時間間隔到了。
此時該執行緒就可以被排程了,如果是被中斷的話就丟擲乙個interruptedexception異常。
該方法喚醒在該物件上等待的所有執行緒。
04 22 阿里面試
問題描述 有乙個六公升的水桶,乙個五公升的水桶,足夠的水,得到乙個三公升的水?用兩種方案實現。first 倒5次 六公升桶裝滿,倒入五公升桶中,然後五公升桶清空,將六公升桶中剩下一公升水倒入五公升桶,將六公升桶裝滿,倒入五公升桶中,那麼六公升桶中剩下兩公升水,五公升桶清空,將六公升桶中的兩公升水倒入...
備戰阿里面試
成功通過阿里網上筆試,14號就要出發去廣州面試了 這不到半個月的時間要好好閉關修煉,鞏固基礎,準備面試 分析了幾篇 面經 得出一些小結論,僅供參考 1.考的東西大多數很基礎 2.和阿里的業務有關係 因為我看到很多關於搜尋,儲存方面的面試題,所以猜想面試應該是和阿里的業務是有關係的 3.多講自己的長處...
阿里面試 一
還在上課,突然接到阿里的 慌的一匹,做個總結,如果後面沒有阿里面試 二 寫出來,那就說明我涼了哈哈.開始叫你做個自我介紹 1.springboot和spring的區別 我回答的簡化配置,內嵌tomcat 2.資料的隔離級別 讀未提交 read uncommitted 讀提交 read committ...