大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java基礎(chǔ)知識(shí)題庫(kù)

Java基礎(chǔ)知識(shí)題庫(kù)

更新時(shí)間:2022-05-09 11:20:46 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1647次

1.列出Java 編程語(yǔ)言的特點(diǎn)。

Java 編程語(yǔ)言有以下特點(diǎn)。

簡(jiǎn)單: Java 很容易學(xué)習(xí)。Java 的語(yǔ)法基于 C++,這使得在其中編寫(xiě)程序更容易。

面向?qū)ο螅?Java 遵循面向?qū)ο蟮姆妒剑试S我們將代碼維護(hù)為包含數(shù)據(jù)和行為的不同類(lèi)型對(duì)象的組合。

可移植性: Java 支持隨處讀取一次寫(xiě)入的方法。我們可以在每臺(tái)機(jī)器上執(zhí)行 Java 程序。Java 程序 (.java) 被轉(zhuǎn)換為可以在每臺(tái)機(jī)器上輕松運(yùn)行的字節(jié)碼 (.class)。

平臺(tái)無(wú)關(guān): Java 是一種平臺(tái)無(wú)關(guān)的編程語(yǔ)言。它不同于需要平臺(tái)執(zhí)行的其他編程語(yǔ)言,如 C 和 C++。Java 帶有執(zhí)行其代碼的平臺(tái)。Java 不依賴(lài)于要執(zhí)行的操作系統(tǒng)。

安全: Java 是安全的,因?yàn)樗皇褂蔑@式指針。Java 還提供了字節(jié)碼和異常處理的概念,使其更加安全。

健壯: Java 是一種強(qiáng)大的編程語(yǔ)言,因?yàn)樗褂脧?qiáng)大的內(nèi)存管理。自動(dòng)垃圾收集、異常處理等概念使其更加健壯。

架構(gòu)中立: Java 是架構(gòu)中立的,因?yàn)樗灰蕾?lài)于架構(gòu)。在 C 中,數(shù)據(jù)類(lèi)型的大小可能會(huì)根據(jù) Java 中不存在的體系結(jié)構(gòu)(32 位或 64 位)而有所不同。

解釋?zhuān)?Java 使用即時(shí) (JIT) 解釋器和編譯器來(lái)執(zhí)行程序。

高性能: Java 比其他傳統(tǒng)的解釋型編程語(yǔ)言更快,因?yàn)?Java 字節(jié)碼“接近”本機(jī)代碼。它仍然比編譯語(yǔ)言(例如,C++)慢一點(diǎn)。

多線程:我們可以通過(guò)定義多個(gè)線程來(lái)編寫(xiě)一次處理多個(gè)任務(wù)的 Java 程序。多線程的主要優(yōu)點(diǎn)是它不會(huì)為每個(gè)線程占用內(nèi)存。它共享一個(gè)公共內(nèi)存區(qū)域。線程對(duì)于多媒體、Web 應(yīng)用程序等很重要。

分布式: Java是分布式的,因?yàn)樗奖阌脩?hù)用Java創(chuàng)建分布式應(yīng)用程序。RMI 和 EJB 用于創(chuàng)建分布式應(yīng)用程序。Java 的這一特性使我們能夠通過(guò)從 Internet 上的任何機(jī)器調(diào)用方法來(lái)訪問(wèn)文件。

動(dòng)態(tài): Java 是一種動(dòng)態(tài)語(yǔ)言。它支持類(lèi)的動(dòng)態(tài)加載。這意味著類(lèi)是按需加載的。它還支持來(lái)自其本地語(yǔ)言(即 C 和 C++)的函數(shù)。

2.你對(duì)Java虛擬機(jī)的理解是什么?

Java 虛擬機(jī)是使計(jì)算機(jī)能夠運(yùn)行Java程序的虛擬機(jī)。JVM 就像一個(gè)運(yùn)行時(shí)引擎,它調(diào)用 Java 代碼中的 main 方法。JVM是必須在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)的規(guī)范。Java 代碼由 JVM 編譯為與機(jī)器無(wú)關(guān)且接近本機(jī)代碼的字節(jié)碼。

3.JVM分配了多少種內(nèi)存區(qū)域?

多種類(lèi)型:

類(lèi)(方法)區(qū):類(lèi)區(qū)存儲(chǔ)每個(gè)類(lèi)的結(jié)構(gòu),例如運(yùn)行時(shí)常量池、字段、方法數(shù)據(jù)和方法代碼。

堆:它是運(yùn)行時(shí)數(shù)據(jù)區(qū),內(nèi)存被分配給對(duì)象

Stack: Java Stack 存儲(chǔ)幀。它保存局部變量和部分結(jié)果,并在方法調(diào)用和返回中發(fā)揮作用。每個(gè)線程都有一個(gè)私有 JVM 堆棧,與線程同時(shí)創(chuàng)建。每次調(diào)用方法時(shí)都會(huì)創(chuàng)建一個(gè)新框架。框架在其方法調(diào)用完成時(shí)被銷(xiāo)毀。

程序計(jì)數(shù)器寄存器: PC(程序計(jì)數(shù)器)寄存器包含當(dāng)前正在執(zhí)行的Java虛擬機(jī)指令的地址。

本機(jī)方法堆棧:它包含應(yīng)用程序中使用的所有本機(jī)方法。

4.Java 平臺(tái)與其他平臺(tái)的主要區(qū)別是什么?

Java平臺(tái)與其他平臺(tái)有以下區(qū)別。

Java 是基于軟件的平臺(tái),而其他平臺(tái)可能是硬件平臺(tái)或基于軟件的平臺(tái)。

Java 在其他硬件平臺(tái)之上執(zhí)行,而其他平臺(tái)只能有硬件組件。

5.什么是類(lèi)加載器?

Classloader 是 JVM 的一個(gè)子系統(tǒng),用于加載類(lèi)文件。每當(dāng)我們運(yùn)行 java 程序時(shí),它首先由類(lèi)加載器加載。Java中有三個(gè)內(nèi)置的類(lèi)加載器。

Bootstrap ClassLoader:這是第一個(gè)類(lèi)加載器,它是 Extension 類(lèi)加載器的超類(lèi)。它加載包含Java標(biāo)準(zhǔn)版所有類(lèi)文件的rt.jar文件,如java.lang包類(lèi)、java.net包類(lèi)、java.util包類(lèi)、java.io包類(lèi)、java.sql包類(lèi)等。

Extension ClassLoader:這是 Bootstrap 的子類(lèi)加載器和 System 類(lèi)加載器的父類(lèi)加載器。它加載位于$JAVA_HOME/jre/lib/ext目錄中的 jar 文件。

System/Application ClassLoader:這是擴(kuò)展類(lèi)加載器的子類(lèi)加載器。它從類(lèi)路徑加載類(lèi)文件。默認(rèn)情況下,類(lèi)路徑設(shè)置為當(dāng)前目錄。您可以使用“-cp”或“-classpath”開(kāi)關(guān)更改類(lèi)路徑。它也被稱(chēng)為應(yīng)用程序類(lèi)加載器。

6.Java中的各種訪問(wèn)說(shuō)明符是什么?

在 Java 中,訪問(wèn)說(shuō)明符是用于定義方法、類(lèi)或變量的訪問(wèn)范圍的關(guān)鍵字。在 Java 中,下面給出了四個(gè)訪問(wèn)說(shuō)明符。

公共定義為公共的類(lèi)、方法或變量可以被任何類(lèi)或方法訪問(wèn)。

Protected Protected 可以被同一個(gè)包的類(lèi)訪問(wèn),也可以被這個(gè)類(lèi)的子類(lèi)訪問(wèn),也可以在同一個(gè)類(lèi)內(nèi)訪問(wèn)。

Default Default 只能在包中訪問(wèn)。默認(rèn)情況下,所有類(lèi)、方法和變量都具有默認(rèn)范圍。

Private定義為私有的私有類(lèi)、方法或變量只能在該類(lèi)中訪問(wèn)。

7.靜態(tài)方法和變量的目的是什么?

定義為靜態(tài)的方法或變量在類(lèi)的所有對(duì)象之間共享。靜態(tài)是類(lèi)的一部分,而不是對(duì)象的一部分。靜態(tài)變量存儲(chǔ)在類(lèi)區(qū)域中,我們不需要?jiǎng)?chuàng)建對(duì)象來(lái)訪問(wèn)這些變量。因此,在需要定義類(lèi)的所有對(duì)象共有的變量或方法的情況下使用靜態(tài)。

例如,在模擬學(xué)院學(xué)生集合的類(lèi)中,學(xué)院名稱(chēng)是所有學(xué)生的共同屬性。因此,學(xué)院名稱(chēng)將被定義為static。

8.Java 中的包有什么優(yōu)點(diǎn)?

在 Java 中定義包有很多優(yōu)點(diǎn)。

包避免了名稱(chēng)沖突。

包提供更容易的訪問(wèn)控制。

我們還可以擁有在外部不可見(jiàn)并由包使用的隱藏類(lèi)。

更容易找到相關(guān)的類(lèi)。

9.什么是面向?qū)ο蠓妒?

它是一種基于對(duì)象的編程范式,對(duì)象具有在其所屬的類(lèi)中定義的數(shù)據(jù)和方法。面向?qū)ο蠓妒街荚诮Y(jié)合模塊化和可重用性的優(yōu)點(diǎn)。對(duì)象是類(lèi)的實(shí)例,它們相互交互以設(shè)計(jì)應(yīng)用程序和程序。面向?qū)ο蠓妒接幸韵绿攸c(diǎn)。

在程序設(shè)計(jì)中遵循自下而上的方法。

使用對(duì)對(duì)象數(shù)據(jù)進(jìn)行操作的方法來(lái)關(guān)注數(shù)據(jù)

包括像封裝和抽象這樣的概念,它向用戶(hù)隱藏復(fù)雜性并僅顯示功能。

實(shí)現(xiàn)實(shí)時(shí)方法,如繼承、抽象等。

面向?qū)ο蠓妒降氖纠?C++、Simula、Smalltalk、Python、C# 等。

10.什么是對(duì)象?

對(duì)象是具有某種狀態(tài)和行為的實(shí)時(shí)實(shí)體。在 Java 中,Object 是類(lèi)的實(shí)例,實(shí)例變量作為對(duì)象的狀態(tài),方法作為對(duì)象的行為。可以使用new關(guān)鍵字創(chuàng)建類(lèi)的對(duì)象。

11.什么是構(gòu)造函數(shù)?

構(gòu)造函數(shù)可以定義為用于初始化對(duì)象狀態(tài)的特殊類(lèi)型的方法。當(dāng)類(lèi)被實(shí)例化時(shí)調(diào)用它,并為對(duì)象分配內(nèi)存。每次使用new關(guān)鍵字創(chuàng)建對(duì)象時(shí),都會(huì)調(diào)用該類(lèi)的默認(rèn)構(gòu)造函數(shù)。構(gòu)造函數(shù)的名稱(chēng)必須與類(lèi)名相似。構(gòu)造函數(shù)不能有明確的返回類(lèi)型。

12.什么是靜態(tài)方法?

靜態(tài)方法屬于類(lèi)而不是對(duì)象。

無(wú)需創(chuàng)建對(duì)象即可調(diào)用靜態(tài)方法。

靜態(tài)方法可以訪問(wèn)和更改靜態(tài)變量的值。

13.應(yīng)用于 Java 靜態(tài)方法的限制是什么?

靜態(tài)方法有兩個(gè)主要限制。

靜態(tài)方法不能使用非靜態(tài)數(shù)據(jù)成員或直接調(diào)用非靜態(tài)方法。

this 和 super 不能在靜態(tài)上下文中使用,因?yàn)樗鼈兪欠庆o態(tài)的。

14.為什么 main 方法是靜態(tài)的?

因?yàn)閷?duì)象不需要調(diào)用靜態(tài)方法。如果我們將 main 方法設(shè)為非靜態(tài),JVM 將不得不先創(chuàng)建它的對(duì)象,然后調(diào)用 main() 方法,這將導(dǎo)致額外的內(nèi)存分配。

15.我們可以將構(gòu)造函數(shù)設(shè)為靜態(tài)嗎?

正如我們所知,靜態(tài)上下文(方法、塊或變量)屬于類(lèi),而不是對(duì)象。由于僅在創(chuàng)建對(duì)象時(shí)才調(diào)用構(gòu)造函數(shù),因此將構(gòu)造函數(shù)設(shè)為靜態(tài)是沒(méi)有意義的。但是,如果您嘗試這樣做,編譯器將顯示編譯器錯(cuò)誤。

16.我們可以在 Java 中使抽象方法成為靜態(tài)的嗎?

在Java中,如果我們將抽象方法設(shè)為靜態(tài),它將成為類(lèi)的一部分,我們可以直接調(diào)用它,這是不必要的。調(diào)用未定義的方法是完全沒(méi)有用的,因此是不允許的。

17.這個(gè)關(guān)鍵字的主要用途是什么?

此關(guān)鍵字有以下用途。

this可用于引用當(dāng)前類(lèi)實(shí)例變量。

this可用于調(diào)用當(dāng)前類(lèi)方法(隱式)

this()可用于調(diào)用當(dāng)前類(lèi)的構(gòu)造函數(shù)。

這可以作為方法調(diào)用中的參數(shù)傳遞。

this可以在構(gòu)造函數(shù)調(diào)用中作為參數(shù)傳遞。

this可用于從方法返回當(dāng)前類(lèi)實(shí)例。

18.為什么在 Java 中使用繼承?

下面給出了在 Java 中使用繼承的各種優(yōu)點(diǎn)。

繼承提供代碼可重用性。派生類(lèi)不需要重新定義基類(lèi)的方法,除非它需要提供方法的具體實(shí)現(xiàn)。

不使用繼承就無(wú)法實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性。

我們可以使用實(shí)時(shí)對(duì)象模擬類(lèi)的繼承,這使得 OOP 更加真實(shí)。

繼承提供數(shù)據(jù)隱藏。基類(lèi)可以通過(guò)將其設(shè)為私有來(lái)隱藏派生類(lèi)的一些數(shù)據(jù)。

沒(méi)有繼承就無(wú)法實(shí)現(xiàn)方法覆蓋。通過(guò)方法覆蓋,我們可以給出基類(lèi)包含的一些基本方法的具體實(shí)現(xiàn)。

19.super 關(guān)鍵字的主要用途是什么?

super關(guān)鍵字有以下用途。

super 可用于引用直接父類(lèi)實(shí)例變量。

super 可用于調(diào)用直接父類(lèi)方法。

super() 可用于調(diào)用直接父類(lèi)構(gòu)造函數(shù)。

20.this 和 super 關(guān)鍵字有什么區(qū)別?

this 和 super 關(guān)鍵字有以下區(qū)別。

super 關(guān)鍵字始終指向父類(lèi)上下文,而 this 關(guān)鍵字始終指向當(dāng)前類(lèi)上下文。

super 關(guān)鍵字主要用于在派生類(lèi)構(gòu)造函數(shù)中初始化基類(lèi)變量,而 this 關(guān)鍵字主要用于在傳入類(lèi)構(gòu)造函數(shù)時(shí)區(qū)分局部變量和實(shí)例變量。

super 和 this 必須是構(gòu)造函數(shù)中的第一條語(yǔ)句,否則編譯器會(huì)拋出錯(cuò)誤。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 4hu四虎永久网址 | 综合色久七七综合七七蜜芽 | 九九热综合 | 一区二区三区四区视频在线 | 麻豆亚洲一区 | 在线羞羞视频 | 午夜视频在线观看国产www | 久久免费看视频 | 特级中国aaa毛片 | 中国女人69xxxxx | 国产成人精品视频免费 | 欧美成人午夜做爰视频在线观看 | 大伊香蕉精品视频在线天堂 | 91资源视频 | 国产精品成人久久久 | 欧美日韩亚洲国产一区二区综合 | 久久精品国产999久久久 | 本日黄色 | 国产免费爱在线观看视频 | 亚洲国产视频一区 | 亚洲成人高清在线 | 欧美久久精品一级c片片 | 搡女人视频免费 | 久久网免费视频 | 伊人久久中文 | 韩国日本美国免费毛片 | 米奇精品一区二区三区在线观看 | 日本高中生一级乇片 | 乱子伦免费视频中文字幕 | 日日摸夜夜添夜夜添影院视频 | 亚洲国产激情在线一区 | 精品一区二区三区视频在线观看 | 日本一区二区成人教育 | 天堂va | 欧美日本中文字幕 | 久久机热一这里只精品 | 91中文字幕在线视频 | 久久人与动人物a级毛片 | 青青青青久久精品国产一百度 | 57pao一国产成视频永久免费 | 女人大毛片一级毛片一 |