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 面试问题和答案