2022 年 Java 面試問答
已發表: 2021-12-15Tech Learn 正在分享 2022 年的基礎知識和高級 Java 面試問題和答案,這將幫助您在第一次嘗試時完成 Java 面試!
另請閱讀 – 免費在線學習 Java
前 71 個 Java 面試問題和答案
- 為什麼Java是平台無關的?
由於可以在任何操作系統上輕鬆運行的字節碼,Java 也被稱為平台無關。
- 為什麼 Java 不是 100% 面向對象的?
Java 使用了 8 種原始數據類型,包括 char、Boolean、int、float、byte 和 short,它們不屬於對像類別,這就是 java 不是 100% 面向對象的編程語言的原因。
- 什麼是JVM?
JVM 代表 Java 虛擬機。 JVM 是一個解釋器,它接受並執行“字節碼”
- 列出 Java 的任何五個特性?
Java的主要特性包括健壯、面向對象、多線程、平台無關和解釋。
- 為什麼Java被認為是動態的?
Java 旨在適應不斷變化的環境。 它的程序攜帶大量信息,這些信息對於在運行時解析和驗證對象的入口非常有用。
- 定義類?
在 java 中,類由用於定義對象性質的方法和字段組成。 它是負責創建對象的藍圖。
- 你對Java了解多少?
Java 於 1995 年由 Sun Microsystems 發布和開發。它是一種高級和麵向對象的編程語言,可以在多種平台上運行,包括 Mac OS、Windows 等。
- 定義 Java 架構中立?
Java Architectural Neutral 是一種編譯器,用於生成與架構無關的目標文件格式。 隨著 java 運行時系統的存在,其隱蔽的編譯代碼為可執行形式。
- Java支持哪些平台?
Java 可在 Mac OS、Windows 以及許多版本的 UNIX/Linux 上運行,例如 CentOS、Redhat Linux、Sun Solaris、HP-Unix、Ubuntu 等。
- 列出任何 5 個 Java IDE?
下面列出了 5 個 Java IDE:
• Netbeans
• 日食
• 藍色J
• JCreator
• j編輯 - 列出Java的一些關鍵字:
Java的一些關鍵字如下:
• 抽象的
• 布爾值
• 休息
• 字節
• 班級
• 轉變
• 抓住 - 為類創建對象的三個步驟是什麼?
如果要為類創建對象,則需要執行以下步驟:
• 聲明對象
• 實例化
• 初始化 - 用Java寫字節數據類型的默認值?
0 是 Java 編程語言中字節數據類型的默認值。
- 用Java寫出double和float數據類型的默認值?
Java 編程語言中 float 數據類型的默認值為 0.0f。
java編程語言中double數據類型的默認值為0.0d。 - Java如何實現高性能?
為了實現高性能,Java 使用時間編譯器將指令轉換為字節碼。
- Java 中的類是什麼?
一個類被稱為用戶定義的原型和藍圖,通過它形成對象。 它表示對所有對像都相同的一組方法或屬性。
- 我們什麼時候可以使用 parseInt() 方法?
我們應用 parseInt() 方法來獲取特定字符串的原始數據類型。
- java.util.regex 包含哪些類?
java.util.regex 有下面列出的三個類:
1.模式類
2. 匹配器類
3. PatternSyntaxException 類 - 什麼是例外?
嚴格執行程序時發生的問題稱為執行。 這些被放置在線程技術中的主管捕獲。
- 列出 Exception 類下的兩個子類:
異常類由兩個主要的子類組成,如下所示:
• IOException 類
• RuntimeException 類 - 什麼是單例類?
Singleton 類規範對象的創建,將數量限制為 1,但允許在任何條件發生變化時靈活地創建對象。
- 定義JDK?
JDK 的完整形式是 Java Development Kit。 JDK是打包、記錄和編譯Java程序必不可少的工具。
- JRI 是什麼意思?
JRI 是 Java 運行時環境的縮寫。 它指的是負責執行 Java 字節碼的運行時環境。
- 解釋JVM
JVM 的全稱是 Java Virtual Machine。 JVM 後面跟著三個符號:Runtime Instance Specification and Implementation
- 寫出Packages的優點。
包的優點如下:
• 幫助避免名稱衝突。
• 提供更簡單的代碼訪問控制
• 具有僅在包中使用且外部類無法觀察到的隱藏類
• 幫助創建合適的層次結構。 - 寫下 Java 支持的修飾符類型
java 基本上支持 4 種類型的訪問修飾符:
• 默認
• 民眾
• 私人的
• 受保護 - Java中有多少種構造函數?
有兩種類型的構造函數:
• 默認構造函數
• 參數化構造函數 - 定義默認構造函數
默認構造函數也稱為無參數構造函數,可以默認生成且不參與任何操作。
- 定義參數化構造函數
在 java 中,參數化構造函數是接受參數的構造函數,它們能夠使用提供的值初始化實例變量。
- 寫一些關於數組列表的點
• 陣列列表不協調。
• 速度很快
• 它沒有描述增量大小。
• 數組列表使用迭代器來遍歷數組列表。 - Java中的向量是什麼?
• 矢量是協調的。
• Vector 是線程安全的,因此速度很慢。
• 它默認最大化其數組的大小。
• 增量大小由向量定義 - Java中的對像是什麼?
一個對象具有下面列出的 3 個特徵:
• 狀態
• 行為
• 身份 - Java中如何創建對象?
我們使用“new”關鍵字創建一個對象。 例如:
類名 obj = 新類名(); - Java中OOP的主要概念是什麼?
Java中OOP的主要概念是:
• 繼承
• 封裝
• 抽象
• 多態性 - Java中的final關鍵字是什麼?
final 是 Java 中的一個特殊關鍵字,基本上充當非訪問修飾符。 我們可以在各種情況下使用這個變量,包括:
• 最終變量
• 最終方法
• 最後一堂課 - 構造函數鏈的實現方式有哪些?
我們可以通過兩種方式實現構造函數鏈接:
• 從基類使用 super()
• 在同一類中使用 this() - Java 中的類加載器是什麼?
用於加載類文件的 Java 虛擬機 (JVM) 的一個子集稱為 Java ClassLoader。
- Java 提供了多少個內置的類加載器?
java提供了三個內置的類加載器
• 擴展類加載器
• 引導類加載器
• 系統/應用類加載器 - Map接口的寫特性
Map接口的特點是:
• 地圖不包含重複鍵。
• 每個鍵最多可以映射一個值。 - Java 在其集合框架中包含什麼?
• 接口
• 課程
• 方法 - 命名繼承執行的類的類型
• 父類是超類或基類。
• 作為子類或派生類的子類。 - 定義單一繼承
當一個類獲得另一個類的特性時,這稱為單繼承。
- 定義多級繼承
在多級繼承中,當一個類派生自另一個類並且另一個類也派生自另一個類時。
- 分層繼承是什麼意思?
層次繼承是指一個類有多個子類(子類)
- 什麼是混合繼承?
兩種或多種繼承類型的混合稱為混合繼承
- Java中如何實現封裝?
我們可以通過兩種簡單的方式來實現封裝:
• 將類的變量聲明為私有變量。
• 提供用於更改和查看變量值的getter 方法和公共setter。 - servlet 的生命週期是什麼?
下面列出了 servlet 生命週期中的五個階段:
• Servlet 被銷毀
• Servlet 已初始化
• Servlet 已加載
• 服務請求
• Servlet 被實例化 - 編寫servlet中會話管理的常用方法
• 會話管理 API
• 餅乾
• 用戶認證
• URL 重寫
• HTML 隱藏字段 - 編寫 JDBC 驅動程序的類型
JDBC驅動的類型有:
• 瘦驅動程序(完全 java 驅動程序)
• JDBC-ODBC 橋驅動程序
• Native-API 驅動程序(部分是 java 驅動程序)
• 網絡協議驅動程序(完全 java 驅動程序) - 用java編寫連接數據庫的步驟?
java中連接數據庫的方法有:
• 創建語句
• 執行查詢
• 註冊驅動程序類
• 創建連接
• 關閉連接 - JDBC支持的語句類型有哪些?
JDBC支持三種語句
• 陳述
• 可調用語句
• PreparedStatement - 編寫Spring框架的不同模塊
spring框架的不同模塊有:
• Spring DAO
• 彈簧 JDBC
• 彈簧 ORM
• 彈簧上下文
• Spring Web 模塊
• 彈簧 AOP
• 彈簧MVC - 提及基於註解的 Spring 配置中的一些重要註解
• @Autowired
• @Resource
• @PreDestroy
• @Qualifier
• @必需的
• @PostConstruct - 列出 Spring beans 中定義的 5 種 Scopes
Spring bean 中定義的 5 種 Scope 類型如下:
• 單身人士:
• 原型
• 要求
• 會議
• 全球會話 - 寫一些重要的Spring註解
重要的 Spring 註釋是:
• @控制器
• @RequestMapping
• @ResponseBody
• @PathVariable
• @Autowired
• @Qualifier
• @服務
• @範圍
• @配置
• @ComponentScan
• @豆角,扁豆 - Spring 支持哪些類型的事務管理?
spring 支持兩種類型的事務管理:
• 程序化事務管理
• 聲明式事務管理 - 如何處理 Java 異常?
通過使用這 5 個關鍵字,我們可以處理 Java 異常
• 抓住
• 最後
• 嘗試
• 拋出
• 扔 - Java異常類的重要方法有哪些?
Java Exception Class的重要方法如下:
• 同步Throwable getCause()
• 字符串 getMessage()
• 無效 printStackTrace()
• 字符串 getLocalizedMessage()
• 字符串 toString() - Java提供了多少種垃圾?
Java 提供了 4 種類型的垃圾:
• CMS 垃圾收集器
• 串行垃圾收集器
• 並行垃圾收集器
• G1 垃圾收集器 - 創建線程的兩種方法是什麼?
創建線程的兩種方法是:
• 實現Runnable 接口。
• 擴展線程 - Java 中的 OutOfMemoryError 是什麼?
java.lang.Error 的子類,通常在我們的 Java 虛擬機內存不足時發生,在 Java 中稱為 OutOfMemoryError。
- JVM分配了多少種內存區域?
• 堆
• 堆
• 本機方法堆棧
• 程序計數器寄存器
• 類(方法)區 - 你能讓構造函數最終化嗎?
不,我們不能將構造函數設為 final
- java中有哪些方法可以將一個對象的值複製到另一個對像中?
• 通過使用構造函數
• 將一個對象的值分配給另一個對象
• 通過使用 Object 類的 clone() 方法 - Java中有多少種繼承?
Java中有五種繼承類型:
• 多重繼承
• 混合繼承
• 單級繼承
• 分層繼承
• 多級繼承 - 哪個類是所有類的超類?
所有類的超類是 Object 類。
- 寫出 super 關鍵字的主要用途是什麼?
super關鍵字的主要用途是:
• 調用直接父類方法。
• 調用直接父類構造函數。 - 我們如何實現方法重載?
方法重載可以通過兩種方式實現:
• 通過修改參數的數量
• 通過修改返回類型 - 是否可以覆蓋私有方法?
不,因為它僅限於類,所以我們不能覆蓋私有方法。
- java有虛函數嗎?
是的,所有函數在java中默認都是虛擬的
- 什麼是類型轉換?
類型轉換有兩種類型:
• 隱式
• 顯式
Tech Learn 會根據行業需求不斷分享 Java 的基礎知識和高級面試問題和答案,因此請繼續訪問我們以定期更新Java 面試問題。
參考鏈接:
- https://www.edureka.co/blog/interview-questions/java-interview-questions/
- https://www.javatpoint.com/corejava-interview-questions
相關帖子
2022 年 Java 面試問答
2021 年 20 大 DevOps 面試問題和答案
適用於 2021 年有經驗和應屆生的 AWS 面試問題和答案
VMware 2021 年面試問題和答案
常見的 Python 面試問題和答案