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
• 日蝕
• 藍傑
• JCreator
• 編輯 - 列舉一些Java的關鍵字:
Java的一些關鍵字如下:
• 抽象的
• 布爾值
• 休息
• 字節
• 班級
• 轉變
• 抓住 - 為類創建對象的三個步驟是什麼?
如果要為類創建對象,則需要執行以下步驟:
• 聲明對象
• 實例化
• 初始化 - 在 Java 中寫字節數據類型的默認值?
0 是 Java 編程語言中 byte 數據類型的默認值。
- 在 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 類 - 什麼是單例類?
單例類規範對象的創建,將數量限制為 1,但允許在任何條件發生變化時靈活地創建對象。
- 定義JDK?
JDK 的完整形式是 Java Development Kit。 JDK是打包、文檔化和編譯Java程序必不可少的工具。
- JRI 是什麼意思?
JRI 是 Java Runtime Environment 的簡稱。 它是指負責執行 Java 字節碼的運行時環境。
- 解釋JVM
JVM 的完整形式代表 Java 虛擬機。 JVM遵循三種表示法:Runtime Instance Specification and Implementation
- 寫出套餐的優點。
套餐的優點如下:
• 協助避免名稱衝突。
• 提供更簡單的代碼訪問控制
• 具有僅在包中使用且外部類無法觀察到的隱藏類
• 幫助創建合適的層次結構。 - 寫下Java支持的修飾符類型
java基本上支持4種類型的訪問修飾符:
• 默認
• 上市
• 私人的
• 受保護 - Java中有多少種構造函數?
有兩種類型的構造函數:
• 默認構造函數
• 參數化構造函數 - 定義默認構造函數
默認構造函數也稱為無參數構造函數,可以默認創建並且不接受任何參與。
- 定義參數化構造函數
在 Java 中,參數化構造函數是接受參數的構造函數,它們能夠使用提供的值初始化實例變量。
- 寫一些關於數組列表的要點
• 數組列表不協調。
• 速度很快
• 它不描述增量大小。
• 數組列表使用迭代器來遍歷數組列表。 - Java中的向量是什麼?
• 矢量協調。
• Vector 是線程安全的,所以速度很慢。
• 它默認最大化其數組的大小。
• 增量大小由向量定義 - Java中的對像是什麼?
一個對象具有下面列出的 3 個特徵:
• 狀態
• 行為
• 身份 - Java 對像是如何創建的?
我們使用“new”關鍵字創建一個對象。 例如:
類名 obj = new 類名(); - Java 中 OOP 的主要概念是什麼?
Java 中 OOP 的主要概念是:
• 繼承
• 封裝
• 抽象
• 多態性 - Java中的final關鍵字是什麼?
Final 是 Java 中的一個特殊關鍵字,它基本上充當非訪問修飾符。 我們可以在各種上下文中使用此變量,包括:
• 最終變量
• 最終方法
• 最後一堂課 - 構造函數鏈的實現方式有哪些?
我們可以通過兩種方式實現構造函數鏈接:
• 從基類使用 super()
• 在同一個類中使用 this() - 什麼是 Java 中的類加載器?
用於加載類文件的 Java 虛擬機 (JVM) 的一個子集稱為 Java ClassLoader。
- Java 提供了多少內置類加載器?
java提供了三個內置的classloader
• 擴展類加載器
• 引導類加載器
• 系統/應用類加載器 - Map接口的寫特性
Map接口的特點是:
• 地圖不包含重複鍵。
• 每個鍵最多可以映射一個值。 - Java 的集合框架包括什麼?
• 接口
• 課程
• 方法 - 命名繼承執行的類的類型
• 父類是超類或基類。
• 子類是子類或派生類。 - 定義單一繼承
當一個類獲得另一個類的特性時,這被稱為單繼承。
- 定義多級繼承
在多級繼承中,當一個類派生自另一個類並且另一個類也派生自另一個類時。
- 層次繼承是什麼意思?
層次繼承是指一個類有多個子類(子類)
- 什麼是混合繼承?
兩種或多種繼承的混合稱為混合繼承
- Java中如何實現封裝?
我們可以通過兩種簡單的方式實現封裝:
• 將類的變量聲明為私有的。
• 提供用於更改和查看變量值的getter 方法和公共setter。 - 什麼是 servlet 的生命週期?
下面列出了 servlet 生命週期的五個階段:
• Servlet 被銷毀
• Servlet 已初始化
• Servlet 已加載
• 服務請求
• Servlet 被實例化 - 編寫servlet中session管理的常用方式
• 會話管理API
• 餅乾
• 用戶認證
• URL 重寫
• HTML 隱藏字段 - 編寫 JDBC 驅動程序的類型
JDBC 驅動程序的類型有:
• 瘦驅動程序(完全 java 驅動程序)
• JDBC-ODBC 橋接驅動程序
• 本機 API 驅動程序(部分 java 驅動程序)
• 網絡協議驅動程序(完全java驅動程序) - 用java編寫連接數據庫的步驟?
java連接數據庫的方法有:
• 創建語句
• 執行查詢
• 註冊驅動類
• 創建連接
• 關閉連接 - JDBC支持的語句類型有哪些?
JDBC支持三種語句
• 陳述
• 可調用語句
• PreparedStatement - 編寫Spring框架的不同模塊
spring框架的不同模塊有:
• 彈簧道
• 春季 JDBC
• 春季 ORM
• 春季上下文
• Spring 網絡模塊
• 春季 AOP
• 春季 MVC - 提及基於註解的 Spring 配置中的一些重要註解
• @Autowired
• @資源
• @PreDestroy
• @Qualifier
• @必需的
• @PostConstruct - 列舉Spring bean中定義的5種Scopes
Spring bean中定義的5種Scopes如下:
• 單例:
• 原型
• 要求
• 會議
• 全球會議 - 寫一些重要的Spring註解
重要的 Spring 註釋是:
• @控制器
• @RequestMapping
• @ResponseBody
• @PathVariable
• @Autowired
• @Qualifier
• @服務
• @範圍
• @配置
• @ComponentScan
• @豆 - Spring支持的事務管理類型有哪些?
spring 支持兩種類型的事務管理:
• 程序化交易管理
• 聲明式事務管理 - 如何處理 Java 異常?
通過使用這 5 個關鍵字我們可以處理 Java 異常
• 抓住
• 最後
• 嘗試
• 投擲
• 扔 - Java異常類有哪些重要方法?
Java Exception Class的重要方法如下:
• 同步的 Throwable getCause()
• 字符串getMessage()
• void printStackTrace()
• 字符串getLocalizedMessage()
• 字符串 toString() - Java 提供了多少種垃圾?
Java提供了4種垃圾:
• CMS 垃圾收集器
• 串行垃圾收集器
• 並行垃圾收集器
• G1 垃圾收集器 - 創建線程的兩種方式是什麼?
創建線程的兩種方式是:
• 實現Runnable 接口。
• 擴展線程 - Java 中的 OutOfMemoryError 是什麼?
通常在我們的 Java 虛擬機內存不足時發生的 java.lang.Error 的子類在 Java 中稱為 OutOfMemoryError。
- JVM分配了多少種內存區域?
• 堆
• 堆
• 本機方法堆棧
• 程序計數器寄存器
• 類(方法)區 - 你能讓一個構造函數最終化嗎?
不,我們不能使構造函數最終化
- 在java中將一個對象的值複製到另一個對象的方法有哪些?
• 通過使用構造函數
• 將一個對象的值賦給另一個對象
• 通過使用 Object 類的 clone() 方法 - Java中有多少種繼承?
Java中有五種繼承類型:
• 多重繼承
• 混合繼承
• 單級繼承
• 分層繼承
• 多級繼承 - 哪個類是所有類的超類?
所有類的超類是 Object 類。
- Write 是 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