首頁 Java Java面試題 java實習生面試題(含答案)

java實習生面試題(含答案)

Nov 28, 2019 pm 01:39 PM
java

java實習生面試題(含答案)

1.Java容器框架有哪些?

#Java容器框架中有兩個名稱分別為Collection和Set的介面

2.list,map,set,array,它們有什麼差別                 (建議學習:java實習生面試題

#List介面主要有三個實作類別:LinkedList,ArrayList,Vector.

LinkedList:底層基於鍊錶實現,鍊錶記憶體是散亂的,每一個元素儲存本身記憶體位址的同時也儲存下一個元素的位址

ArrayList和Vector的差別:ArrayList是非線程安全的,效率高;Vector是基於線程安全的,效率低。

1)Set介面主要有兩個實作類別:HashSet(底層由HashMap實作)和LinkedHashSet

2)Map介面主要實作類別:HashMap,HashTable和LinkedHashMap

#HashMap非線程安全,高效,支援NULL;HashTable線程安全,低效,不支援NULL

Array:數組,可以儲存物件和基本資料類型,長度固定。

List:元素有序,可重複.

Set:元素無序,不重複,無索引。

Map:雙列集合,用來存放鍵值對。鍵值是唯一的,不可重複。

3.collection與collections有什麼不同

a.javutil.Collection是一個集合介面。它提供了對集合物件進行基本操作的通用介面方法。 Collection介面在Java類別庫中有很多具體的實作。 Collection介面的意義是為各種具體的集合提供了最大化的統一操作方式。

b.java.util.Collections是一個包裝類別。它包含有各種有關集合運算的靜態多型方法。此類別不能實例化,就像一個工具類,服務於Java的Collection框架。

4.string,stringbuilder,stringbuffer有什麼差別

程式中用到的字串可以分為兩大類別:一類別是建立之後不會再做修改和變動的字串變數;另一種是創建之後允許再做修改的字串變數。

對於前一種字串變量,由於程式中經常需要對它做比較、搜尋之類的操作,所以通常把它放在一個具有一定名稱的物件之中,由於程式完成對該物件的上述操作,在Java程式中存放這種字串變數是String類別變數;

對於後一種字串變量,由於程式中經常需要對它做添加、插入、修改之類的操作,所以這種字串變數一般都存放在StringBuilder類別的物件之中。

String 字串變數,

StringBuffer字串變數(線程安全),

StringBuilder字串變數(非線程安全)

5.==與equals有什麼區別

程式中比較兩個字元時,使用關係運算子」==”,而比較兩個字串時,則需使用equals()方法。

6.&和&&的區別

&&是簡潔運算符,&是非簡潔運算符。簡潔運算子(&&,||)與非簡潔運算子(&,|)的差別在於:非簡潔運算在必須計算完左右兩個表達式之後,才取結果值;而簡潔表達式可能只計算左邊的表達式而不計算右邊的表達式,即對於表達式&&,只要左邊表達式為false,就不計算右邊表達式,則整個表達式為false;對於||,只要左邊表達式為true,就不計算右邊表達式,則整個表達式為true.

7.程序,進程和線程的區別

1)程序是含有指令和資料的文件,被儲存在磁碟或其他的資料儲存設備中,也就是說程式是靜態的程式碼。

2)進程是程式的一次執行過程,是系統運行程序的基本單位,因此進程是動態的。系統運行一個程式即是一個程式從創建、運行到消亡的過程。簡單地說,一個行程就是一個執行中地程序,它在電腦中一個指令接著一個指令地執行,同時,每個行程還佔有某些系統資源,如CPU時間、記憶體空間、檔案、輸入輸出裝置地使用權等等。

3)執行緒:其實與行程相似,也是執行中地程序,但是執行緒是一個比行程更小地執行單位。一個行程在執行過程中可以產生多個執行緒,形成多條執行執行路徑。但與進程不同的是,同類的多個線程共享同一塊記憶體空間和一組系統資源,所以系統在產生一個線程,或是在各個線程之間作切換的工作時,負擔要比進程小得多,也因為如此,也因為如此,執行緒也被稱為輕量級進程。

8.執行緒有哪幾種狀態?

新狀態、就緒狀態、運作狀態、阻塞狀態、消亡狀態這五種狀態

#9.執行緒的互斥與同步的差異

互斥是指兩個或多個執行緒不能同時執行,而同步則是兩個或多個執行緒的運行有先後次序的約束。

10.線程的同步與共享數據的區別?

共享是指線程之間對內存數據的共享,因為線程共同擁有對內存空間中數據的處理權力,這會導致因為多個執行緒同時處理資料而使資料出現不一致,所以提出同步解決此問題,即同步是在共享的基礎上,是針對多個執行緒共享會導致資料不一致而提出來的。

同步指的是處理資料的執行緒不能處理其他執行緒目前還沒處理完的數據,但是可以處理其他資料。

11.執行緒同步與非同步差異

執行緒同步是多個執行緒同時存取相同資源,等待資源存取結束,浪費時間,效率低;執行緒同步:存取資源時在空閒等待時同時存取其他資源,實現多執行緒機制。

12.Java中四捨五入有哪些方法?

Math類別中提供了三個與取整有關的方法:ceil,floor,round,這些方法的作用於它們的英文名稱的含義相對應,例如:

ceil的英文意義是天花板,該方法就表示向上取整,Math.ceil(11.3)的結果為12,Math.ceil(- 11.6)的結果為-11;

floor的英文是地板,該方法就表示向下取整,Math.floor(11.6)的結果是11,Math.floor(-11.4)的結果- 12;

最難掌握的是round方法,他表示“四捨五入”,演算法為Math.floor(x 0.5),即將原來的數字加上0.5後再向下取整,所以,Math. round(11.5)的結果是12,Math.round(-11.5)的結果-11.

Math.round( )符合這樣的規律:小數點後大於5全部加,等於5正數加,小於5全不加。

13.MVC分別指的是什麼?

M - model 模型層,通常我們寫的類別放在模型層

V - View 是視圖層,一般就說jsp頁面

C - control 控制層,包括action,service,dao,處理相關業務邏輯

14.類別與物件的區別?

類別是對某一類事物的描述,是抽象的、概念上的定義;而物件是實際存在的屬該類事物的具體的個體,因而也稱是實例。

15.Final的用法?

a.將一個類別宣告為最終類別即非繼承類,表示它不能其他類別所繼承。

b.最終修飾符。指定此變數的值不能改變。

c.最終修飾符。指定該方法不能被重載。

Abstact的用法

a.將一個類別宣告為抽象類,沒有實現方法,需要子類別提供方法的實現,所以不能建立該類別的實例。

b.抽象修飾符。指定方法只宣告方法頭,而沒有方法體,抽象方法需在子類別中實現。

Static的用法

a.靜態修飾符。指定該變數被所有物件共用,即所有的實例都可使用該變數。

b.最終修飾符。指定不需要實例化一個物件就可以呼叫的方法。

16.成員變數和局部變數的差異

類別中定義的變數是成員變量,而方法中定義的變數是局部變數。

區別:

a.從語法形式來看,成員變數是屬於類別的,而局部變數是在方法中定義的變數或是方法的參數;成員變數可以被public、private、static等修飾符修飾,而局部變數則不能被存取控制修飾符及static修飾;成員變數和局部變數都可以被final所修飾。

b.從變數在記憶體中的儲存方式來看,成員變數是物件的一部分,而物件是存在於堆疊記憶體的,而局部變數是存在於堆疊記憶體的。

c.從變數在記憶體中的生存時間上看,成員變數是物件的一部分,它隨著物件的創建而存在,而局部變數隨著方法的呼叫而產生,隨著方法調用的結果而自動消失。

d.成員變數如果沒有被賦初值,則會自動以類型的預設值賦值(有一種情況例外,被final修飾但沒有被static修飾的成員變數必須明確地賦值);而局部變數則不會自動賦值,必須明確賦值後才能使用。

以上是java實習生面試題(含答案)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java 中的完美數 Java 中的完美數 Aug 30, 2024 pm 04:28 PM

Java 完美數指南。這裡我們討論定義,如何在 Java 中檢查完美數?

Java 中的隨機數產生器 Java 中的隨機數產生器 Aug 30, 2024 pm 04:27 PM

Java 隨機數產生器指南。在這裡,我們透過範例討論 Java 中的函數,並透過範例討論兩個不同的生成器。

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java 版 Weka 指南。這裡我們透過範例討論簡介、如何使用 weka java、平台類型和優點。

Java 中的史密斯數 Java 中的史密斯數 Aug 30, 2024 pm 04:28 PM

Java 史密斯數指南。這裡我們討論定義,如何在Java中檢查史密斯號?帶有程式碼實現的範例。

Java Spring 面試題 Java Spring 面試題 Aug 30, 2024 pm 04:29 PM

在本文中,我們保留了最常被問到的 Java Spring 面試問題及其詳細答案。這樣你就可以順利通過面試。

突破或從Java 8流返回? 突破或從Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

Java 中的時間戳至今 Java 中的時間戳至今 Aug 30, 2024 pm 04:28 PM

Java 中的時間戳記到日期指南。這裡我們也結合範例討論了介紹以及如何在java中將時間戳記轉換為日期。

創造未來:零基礎的 Java 編程 創造未來:零基礎的 Java 編程 Oct 13, 2024 pm 01:32 PM

Java是熱門程式語言,適合初學者和經驗豐富的開發者學習。本教學從基礎概念出發,逐步深入解說進階主題。安裝Java開發工具包後,可透過建立簡單的「Hello,World!」程式來實踐程式設計。理解程式碼後,使用命令提示字元編譯並執行程序,控制台上將輸出「Hello,World!」。學習Java開啟了程式設計之旅,隨著掌握程度加深,可創建更複雜的應用程式。

See all articles