• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦>創業指南>職場>面試題>

    關于經典JAVA面試題大全(2)

    時間: 朝瑩801 分享

      抽象類可以在不提供接口方法實現的情況下實現接口。

      Java接口中聲明的變量默認都是final的。抽象類可以包含非final的變量。

      Java接口中的成員函數默認是public的。抽象類的成員函數可以是private,protected或者是public。

      接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含main方法的話是可以被調用的。

      也可以參考JDK8中抽象類和接口的區別

      10.什么是值傳遞和引用傳遞?

      對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。

      對象被引用傳遞,意味著傳遞的并不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。

      Java線程

      11.進程和線程的區別是什么?

      進程是執行著的應用程序,而線程是進程內部的一個執行序列。一個進程可以有多個線程。線程又叫做輕量級進程。

      12.創建線程有幾種不同的方式?你喜歡哪一種?為什么?

      有三種方式可以用來創建線程:

      繼承Thread類

      實現Runnable接口

      應用程序可以使用Executor框架來創建線程池

      實現Runnable接口這種方式更受歡迎,因為這不需要繼承Thread類。在應用設計中已經繼承了別的對象的情況下,這需要多繼承(而Java不支持多繼承),只能實現接口。同時,線程池也是非常高效的,很容易實現和使用。

      13.概括的解釋下線程的幾種可用狀態。

      線程在執行過程中,可以處于下面幾種狀態:

      就緒(Runnable):線程準備運行,不一定立馬就能開始執行。

      運行中(Running):進程正在執行線程的代碼。

      等待中(Waiting):線程處于阻塞的狀態,等待外部的處理結束。

      睡眠中(Sleeping):線程被強制睡眠。

      I/O阻塞(Blocked on I/O):等待I/O操作完成。

      同步阻塞(Blocked on Synchronization):等待獲取鎖。

      死亡(Dead):線程完成了執行。

      14.同步方法和同步代碼塊的區別是什么?

      在Java語言中,每一個對象有一把鎖。線程可以使用synchronized關鍵字來獲取對象上的鎖。synchronized關鍵字可應用在方法級別(粗粒度鎖)或者是代碼塊級別(細粒度鎖)。

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

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

      16.什么是死鎖(deadlock)?

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

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

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

      Java集合類

      18.Java集合類框架的基本接口有哪些?

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

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

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

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

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

      19.為什么集合類沒有實現Cloneable和Serializable接口?

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

      20.什么是迭代器(Iterator)?

      Iterator接口提供了很多對集合元素進行迭代的方法。每一個集合類都包含了可以返回迭代器實例的

      迭代方法。迭代器可以在迭代的過程中刪除底層集合的元素。


      看過“關于經典JAVA面試題大全”的人還看了:

    1.JAVA面試題大全及答案

    2.面試問題及答案

    3.面試中常見的經典問題

    4.關于經典的FBI面試題

    5.java面試自我介紹范文

    941254 主站蜘蛛池模板: 91香蕉视频污污| 国产欧美亚洲精品第一页久久肉 | 男女xx00动态图120秒| 欧美色欧美亚洲另类二区| 日本一卡2卡3卡无卡免费| 国产午夜精品福利| 久久亚洲一区二区| 视频二区调教中字知名国产| 欧美重口另类在线播放二区| 在线观看亚洲一区| 亚洲欧美日韩中另类在线| 中文字幕丝袜制服| 综合人妻久久一区二区精品| 性xxxxfreexxxxx国产| 免费观看性欧美一级| av色综合网站| 欧美日本国产VA高清CABAL | 樱花草在线社区www韩国| 国产无套中出学生姝| 久久狠狠高潮亚洲精品| 337p西西人体大胆瓣开下部| 欧美成人观看视频在线| 国产熟女乱子视频正在播放| 久久精品中文字幕不卡一二区| 观看国产色欲色欲色欲www| 成人试看120秒体验区| 国产在线观看免费不卡| 亚洲情xo亚洲色xo无码| avtt天堂在线| 欧美性猛交ⅹxxx乱大交禽| 国产模特众筹精品视频| 久久久亚洲精品国产| 精品永久久福利一区二区| 大乳女人做受视频免费观看| 亚洲国产精品热久久| 4408私人影院| 日韩视频第一页| 双手扶在浴缸边迎合着h| 丰满少妇被猛烈进入无码| 精品乱码久久久久久久| 国内精品久久久久久久97牛牛|