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
    • 日食
    • 藍色J
    • JCreator
    • j編輯

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

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

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

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

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

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

  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. 什麼是單例類?

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

  22. 定義JDK?

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

  23. JRI 是什麼意思?

    JRI 是 Java 運行時環境的縮寫。 它指的是負責執行 Java 字節碼的運行時環境。

  24. 解釋JVM

    JVM 的全稱是 Java Virtual Machine。 JVM 後面跟著三個符號:Runtime Instance Specification and Implementation

  25. 寫出Packages的優點。

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

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

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

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

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

  28. 定義默認構造函數

    默認構造函數也稱為無參數構造函數,可以默認生成且不參與任何操作。

  29. 定義參數化構造函數

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

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

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

  31. Java中的向量是什麼?

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

  32. Java中的對像是什麼?

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

  33. Java中如何創建對象?

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

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

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

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

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

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

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

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

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

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

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

  39. Map接口的寫特性

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

  40. Java 在其集合框架中包含什麼?

    • 接口
    • 課程
    • 方法

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

    • 父類是超類或基類。
    • 作為子類或派生類的子類。

  42. 定義單一繼承

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

  43. 定義多級繼承

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

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

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

  45. 什麼是混合繼承?

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

  46. Java中如何實現封裝?

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

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

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

  48. 編寫servlet中會話管理的常用方法

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

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

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

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

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

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

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

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

    spring框架的不同模塊有:
    • Spring DAO
    • 彈簧 JDBC
    • 彈簧 ORM
    • 彈簧上下文
    • Spring Web 模塊
    • 彈簧 AOP
    • 彈簧MVC

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

    • @Autowired
    • @Resource
    • @PreDestroy
    • @Qualifier
    • @必需的
    • @PostConstruct

  54. 列出 Spring beans 中定義的 5 種 Scopes

    Spring bean 中定義的 5 種 Scope 類型如下:
    • 單身人士:
    • 原型
    • 要求
    • 會議
    • 全球會話

  55. 寫一些重要的Spring註解

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

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

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

  57. 如何處理 Java 異常?

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

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

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

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

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

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

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

  61. Java 中的 OutOfMemoryError 是什麼?

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

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

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

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

    不,我們不能將構造函數設為 final

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

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

  65. Java中有多少種繼承?

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

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

    所有類的超類是 Object 類。

  67. 寫出 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

相關帖子

java interview questions and answers for experienced 2021

2022 年 Java 面試問答

閱讀更多
devops interview questions and answers 2020

2021 年 20 大 DevOps 面試問題和答案

閱讀更多
aws interview questions and answers

適用於 2021 年有經驗和應屆生的 AWS 面試問題和答案

閱讀更多
VMware Interview questions 2020

VMware 2021 年面試問題和答案

閱讀更多
PYTHON INTERVIEW QUESTIONS

常見的 Python 面試問題和答案

閱讀更多