java基礎問題鞏固(1)

來源:互聯網
上載者:User

標籤:物理   程式   ati   對象   節點   build   回收   載入   結合   

  1. 你對java記憶體回收瞭解嗎?什麼時候需要使用?

答: 記憶體回收行程的作用是尋找和回收(清理)無用的對象,從而讓jvm更 有效使用記憶體。但是運行因為記憶體回收本身會有開銷,過於頻繁的使用會導致效能下降。比如有些程式在短期內需要大量的記憶體,這時候有必要強制下達一條記憶體回收命令,以便於有更多可用的實體記憶體。記憶體回收的目的就是識別並且丟棄應用不再使用的對象來釋放和重用資源。

        2.static理解什嗎?什麼時候需要使用?

答:static是修飾詞,被static關鍵字修飾的方法/變數不需要依賴對象來進行訪問,也就是說只要類被載入了,就可以通過類名去進行訪問。當一個方法或變數需要初始化載入的時候,或是經常需要被調用的時候需要加上static。

        3.多線程問題,當多個線程需要訪問多個資源時,怎樣才能保證不死結。

答:多線程中避免死結的方式是:指定一個擷取鎖的順序,使得所有的線程都是以同樣的順序進行擷取鎖和釋放鎖,這樣就能避免死結的情況。

       4.字串之間(str1與str2)的拼接有幾種方式,並且區別是什嗎?

答:有兩種方式,str1+str2 直接使用+進行拼接,或是使用StringBuilder的方式

【StringBuilder sb= new StringBuilder();

 sb.append(str1);

sb.append(str2);】  如果通過迴圈1000次數拼接測試 發現StringBuilder在拼接繁雜的情況下,其中的耗時比+進行拼接的方式要少。如果拼接的字串比較多則可以優先考記憶體時。結合耗時我們可以得出這樣的結論,在使用大量字串拼接的時候優先使用StringBuilder。

       5.你對二叉樹瞭解嗎?

答:二叉樹的每個節點最多有兩個子樹,左右子樹是有順序的,即使只有一個子樹也要區分二叉樹。二叉樹的遍曆,從根節點出發,按照某種次序訪問二叉樹的所有節點。(前序 中序 後序遍曆)

       6.變數A和B,需要交換值,但是沒第三個變數,怎麼實現?

答: A=A+B; B=A-B; A=A-B; 最後輸出 A B

java基礎問題鞏固(1)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.