Java課程 困擾Java程序員的編程問題有哪些?

  it行業的快速發展,使得很多技術都得到了一定的發展,其中Java的發展大讓大家格外關注,尤其近些年移動互聯網應用快速興起強勢進入人們視野。學習Java的程序員也不斷增加,不管是作爲本職工作還是輔助拓展,他們對Java都具備着極大的熱情。不過同時他們也會遇到一些問題,粵嵌整理了一些,希望對大家有所助益。

5.294.jpg

  1、同步方法和同步代碼塊的區別是什麼?

  同步方法默認用this或者當前類class對象作爲鎖; 同步代碼塊可以選擇以什麼來加鎖,比同步方法要更細顆粒度,我們可以選擇只同步會發生同步問題的部分代碼而不是整個方法;

  2、在監視器(Monitor)內部,是如何做線程同步的?程序應該做哪種級別的同步?

  監視器和鎖在Java虛擬機中是一塊使用的。監視器監視一塊同步代碼塊,確保一次只有一個線程執行同步代碼塊。每一個監視器都和一個對象引用相關聯。線程在獲取鎖之前不允許執行同步代碼。

  3、什麼是死鎖(deadlock)?

  兩個線程或兩個以上線程都在等待對方執行完畢才能繼續往下執行的時候就發生了死鎖。結果就是這些線程都陷入了無限的等待中。

  4、如何確保N個線程可以訪問N個資源同時又不導致死鎖?

  粵嵌Java培訓教導大家在使用多線程的時候,一種非常簡單的避免死鎖的方式就是:指定獲取鎖的順序,並強制線程按照指定的順序獲取鎖。因此,如果所有的線程都是以同樣的順序加鎖和釋放鎖,就不會出現死鎖了。

  5、Java集合類框架的基本接口有哪些?

  集合類接口指定了一組叫做元素的對象。集合類接口的每一種具體的實現類都可以選擇以它自己的方式對元素進行保存和排序。有的集合類允許重複的鍵,有些不允許。

  Java集合類提供了一套設計良好的支持對一組對象進行操作的接口和類。Java集合類裏面最基本的接口有:

  Collection:代表一組對象,每一個對象都是它的子元素。

  Set:不包含重複元素的Collection。

  List:有順序的collection,並且可以包含重複元素。

  Map:可以把鍵(key)映射到值(value)的對象,鍵不能重複。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章