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