2022年Java面試題及答案

已發表: 2021-12-15

Tech Learn 正在分享 2022 年的基礎知識和高級 Java 面試問題和答案,這將幫助您在第一次嘗試時通過 Java 面試!

另請閱讀 – 免費在線學習 Java

前 71 個 Java 面試問題和答案

  1. 為什麼 Java 是平台無關的?

    由於可以在任何操作系統上輕鬆運行的字節碼,Java 也被稱為平台無關。

  2. 為什麼 Java 不是 100% 面向對象的?

    Java 使用 8 種基本數據類型,包括 char、Boolean、int、float、byte 和 short,它們不屬於對像類別,這就是為什麼 java 不是 100% 面向對象的編程語言。

  3. 什麼是 JVM?

    JVM 代表 Java 虛擬機。 JVM 是一個解釋器,它接受並執行“字節碼”

  4. 列出 Java 的任意五個特性?

    Java 的主要特性包括健壯性、面向對象、多線程、平台獨立性和解釋性。

  5. 為什麼 Java 被認為是動態的?

    Java 旨在適應不斷變化的環境。 它的程序攜帶大量信息,這些信息對於在運行時解析和驗證對象的入口非常有用。

  6. 定義類?

    在 java 中,類由定義對象性質的方法和字段組成。 它是負責創建對象的藍圖。

  7. 你對 Java 了解多少?

    Java 於 1995 年由 Sun Microsystems 發布和開發。它是一種高級和麵向對象的編程語言,可以在包括 Mac OS、Windows 等多種平台上運行。

  8. 定義 Java 架構中立?

    Java Architectural Neutral 是一個編譯器,用於生成體系結構中立的對象文件格式。 隨著 java 運行時系統的存在,其隱蔽的編譯代碼為可執行形式。

  9. Java 支持哪些平台?

    Java 運行於 Mac OS、Windows 以及許多版本的 UNIX/Linux,例如 CentOS、Redhat Linux、Sun Solaris、HP-Unix、Ubuntu 等。

  10. 列出任何 5 個 Java IDE?

    下面列出了 5 個 Java IDE:
    • Netbeans
    • 日蝕
    • 藍傑
    • JCreator
    • 編輯

  11. 列舉一些Java的關鍵字:

    Java的一些關鍵字如下:
    • 抽象的
    • 布爾值
    • 休息
    • 字節
    • 班級
    • 轉變
    • 抓住

  12. 為類創建對象的三個步驟是什麼?

    如果要為類創建對象,則需要執行以下步驟:
    • 聲明對象
    • 實例化
    • 初始化

  13. 在 Java 中寫字節數據類型的默認值?

    0 是 Java 編程語言中 byte 數據類型的默認值。

  14. 在 Java 中編寫 double 和 float 數據類型的默認值?

    Java 編程語言中 float 數據類型的默認值為 0.0f。
    java編程語言中double數據類型的默認值為0.0d。

  15. Java如何實現高性能?

    為了實現高性能,Java 使用時間編譯器將指令轉換為字節碼。

  16. Java 中的類是什麼?

    類被稱為用戶定義的原型和形成對象的藍圖。 它表示所有對像都相同的一組方法或屬性。

  17. 我們什麼時候可以使用 parseInt() 方法?

    我們應用 parseInt() 方法來獲取特定字符串的原始數據類型。

  18. java.util.regex 包含哪些類?

    java.util.regex 有下面列出的三個類:
    1.圖案類
    2.匹配器類
    3.PatternSyntaxException類

  19. 什麼是異常?

    在執行程序時發生的問題稱為執行。 這些被放置在線程技術中的主管捕獲。

  20. 列出Exception類下的兩個子類:

    異常類由兩個主要的子類組成,如下所示:
    • IOException 類
    • RuntimeException 類

  21. 什麼是單例類?

    單例類規範對象的創建,將數量限制為 1,但允許在任何條件發生變化時靈活地創建對象。

  22. 定義JDK?

    JDK 的完整形式是 Java Development Kit。 JDK是打包、文檔化和編譯Java程序必不可少的工具。

  23. JRI 是什麼意思?

    JRI 是 Java Runtime Environment 的簡稱。 它是指負責執行 Java 字節碼的運行時環境。

  24. 解釋JVM

    JVM 的完整形式代表 Java 虛擬機。 JVM遵循三種表示法:Runtime Instance Specification and Implementation

  25. 寫出套餐的優點。

    套餐的優點如下:
    • 協助避免名稱衝突。
    • 提供更簡單的代碼訪問控制
    • 具有僅在包中使用且外部類無法觀察到的隱藏類
    • 幫助創建合適的層次結構。

  26. 寫下Java支持的修飾符類型

    java基本上支持4種類型的訪問修飾符:
    • 默認
    • 上市
    • 私人的
    • 受保護

  27. Java中有多少種構造函數?

    有兩種類型的構造函數:
    • 默認構造函數
    • 參數化構造函數

  28. 定義默認構造函數

    默認構造函數也稱為無參數構造函數,可以默認創建並且不接受任何參與。

  29. 定義參數化構造函數

    在 Java 中,參數化構造函數是接受參數的構造函數,它們能夠使用提供的值初始化實例變量。

  30. 寫一些關於數組列表的要點

    • 數組列表不協調。
    • 速度很快
    • 它不描述增量大小。
    • 數組列表使用迭代器來遍歷數組列表。

  31. Java中的向量是什麼?

    • 矢量協調。
    • Vector 是線程安全的,所以速度很慢。
    • 它默認最大化其數組的大小。
    • 增量大小由向量定義

  32. Java中的對像是什麼?

    一個對象具有下面列出的 3 個特徵:
    • 狀態
    • 行為
    • 身份

  33. Java 對像是如何創建的?

    我們使用“new”關鍵字創建一個對象。 例如:
    類名 obj = new 類名();

  34. Java 中 OOP 的主要概念是什麼?

    Java 中 OOP 的主要概念是:
    • 繼承
    • 封裝
    • 抽象
    • 多態性

  35. Java中的final關鍵字是什麼?

    Final 是 Java 中的一個特殊關鍵字,它基本上充當非訪問修飾符。 我們可以在各種上下文中使用此變量,包括:
    • 最終變量
    • 最終方法
    • 最後一堂課

  36. 構造函數鏈的實現方式有哪些?

    我們可以通過兩種方式實現構造函數鏈接:
    • 從基類使用 super()
    • 在同一個類中使用 this()

  37. 什麼是 Java 中的類加載器?

    用於加載類文件的 Java 虛擬機 (JVM) 的一個子集稱為 Java ClassLoader。

  38. Java 提供了多少內置類加載器?

    java提供了三個內置的classloader
    • 擴展類加載器
    • 引導類加載器
    • 系統/應用類加載器

  39. Map接口的寫特性

    Map接口的特點是:
    • 地圖不包含重複鍵。
    • 每個鍵最多可以映射一個值。

  40. Java 的集合框架包括什麼?

    • 接口
    • 課程
    • 方法

  41. 命名繼承執行的類的類型

    • 父類是超類或基類。
    • 子類是子類或派生類。

  42. 定義單一繼承

    當一個類獲得另一個類的特性時,這被稱為單繼承。

  43. 定義多級繼承

    在多級繼承中,當一個類派生自另一個類並且另一個類也派生自另一個類時。

  44. 層次繼承是什麼意思?

    層次繼承是指一個類有多個子類(子類)

  45. 什麼是混合繼承?

    兩種或多種繼承的混合稱為混合繼承

  46. Java中如何實現封裝?

    我們可以通過兩種簡單的方式實現封裝:
    • 將類的變量聲明為私有的。
    • 提供用於更改和查看變量值的getter 方法和公共setter。

  47. 什麼是 servlet 的生命週期?

    下面列出了 servlet 生命週期的五個階段:
    • Servlet 被銷毀
    • Servlet 已初始化
    • Servlet 已加載
    • 服務請求
    • Servlet 被實例化

  48. 編寫servlet中session管理的常用方式

    • 會話管理API
    • 餅乾
    • 用戶認證
    • URL 重寫
    • HTML 隱藏字段

  49. 編寫 JDBC 驅動程序的類型

    JDBC 驅動程序的類型有:
    • 瘦驅動程序(完全 java 驅動程序)
    • JDBC-ODBC 橋接驅動程序
    • 本機 API 驅動程序(部分 java 驅動程序)
    • 網絡協議驅動程序(完全java驅動程序)

  50. 用java編寫連接數據庫的步驟?

    java連接數據庫的方法有:
    • 創建語句
    • 執行查詢
    • 註冊驅動類
    • 創建連接
    • 關閉連接

  51. JDBC支持的語句類型有哪些?

    JDBC支持三種語句
    • 陳述
    • 可調用語句
    • PreparedStatement

  52. 編寫Spring框架的不同模塊

    spring框架的不同模塊有:
    • 彈簧道
    • 春季 JDBC
    • 春季 ORM
    • 春季上下文
    • Spring 網絡模塊
    • 春季 AOP
    • 春季 MVC

  53. 提及基於註解的 Spring 配置中的一些重要註解

    • @Autowired
    • @資源
    • @PreDestroy
    • @Qualifier
    • @必需的
    • @PostConstruct

  54. 列舉Spring bean中定義的5種Scopes

    Spring bean中定義的5種Scopes如下:
    • 單例:
    • 原型
    • 要求
    • 會議
    • 全球會議

  55. 寫一些重要的Spring註解

    重要的 Spring 註釋是:
    • @控制器
    • @RequestMapping
    • @ResponseBody
    • @PathVariable
    • @Autowired
    • @Qualifier
    • @服務
    • @範圍
    • @配置
    • @ComponentScan
    • @豆

  56. Spring支持的事務管理類型有哪些?

    spring 支持兩種類型的事務管理:
    • 程序化交易管理
    • 聲明式事務管理

  57. 如何處理 Java 異常?

    通過使用這 5 個關鍵字我們可以處理 Java 異常
    • 抓住
    • 最後
    • 嘗試
    • 投擲
    • 扔

  58. Java異常類有哪些重要方法?

    Java Exception Class的重要方法如下:
    • 同步的 Throwable getCause()
    • 字符串getMessage()
    • void printStackTrace()
    • 字符串getLocalizedMessage()
    • 字符串 toString()

  59. Java 提供了多少種垃圾?

    Java提供了4種垃圾:
    • CMS 垃圾收集器
    • 串行垃圾收集器
    • 並行垃圾收集器
    • G1 垃圾收集器

  60. 創建線程的兩種方式是什麼?

    創建線程的兩種方式是:
    • 實現Runnable 接口。
    • 擴展線程

  61. Java 中的 OutOfMemoryError 是什麼?

    通常在我們的 Java 虛擬機內存不足時發生的 java.lang.Error 的子類在 Java 中稱為 OutOfMemoryError。

  62. JVM分配了多少種內存區域?

    • 堆
    • 堆
    • 本機方法堆棧
    • 程序計數器寄存器
    • 類(方法)區

  63. 你能讓一個構造函數最終化嗎?

    不,我們不能使構造函數最終化

  64. 在java中將一個對象的值複製到另一個對象的方法有哪些?

    • 通過使用構造函數
    • 將一個對象的值賦給另一個對象
    • 通過使用 Object 類的 clone() 方法

  65. Java中有多少種繼承?

    Java中有五種繼承類型:
    • 多重繼承
    • 混合繼承
    • 單級繼承
    • 分層繼承
    • 多級繼承

  66. 哪個類是所有類的超類?

    所有類的超類是 Object 類。

  67. Write 是 super 關鍵字的主要用途嗎?

    super 關鍵字的主要用途是:
    • 調用直接父類方法。
    • 調用直接父類構造函數。

  68. 我們如何實現方法重載?

    方法重載可以通過兩種方式實現:
    • 通過修改參數的數量
    • 通過修改返回類型

  69. 是否可以覆蓋私有方法?

    不,因為它僅限於類,所以我們不能覆蓋私有方法。

  70. java有虛函數嗎?

    是的,java默認所有函數都是虛函數

  71. 什麼是類型轉換?

    類型轉換有兩種類型:
    • 隱式
    • 明確的

Tech Learn 根據行業需求不斷分享 java 的基礎知識和高級面試問題和答案,因此請繼續訪問我們以定期更新java 面試問題

參考鏈接:

  • https://www.edureka.co/blog/interview-questions/java-interview-questions/
  • https://www.javatpoint.com/corejava-interview-questions