专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 10道高级Java面试题及答案

10道高级Java面试题及答案

更新时间:2022-03-22 09:26:14 来源:赢咖4 浏览1180次

1.什么是Spring?

Spring是用于企业 Java 的开源开发框架。Spring Framework 的核心功能可用于开发任何 Java 应用程序,但也有一些扩展可用于在 Java EE 平台之上构建 Web 应用程序。Spring 框架旨在通过启用基于 POJO(Plain Old Java Object)的编程模型,使 J2EE 开发更易于使用并促进良好的编程实践。

2.JDK和JRE有什么区别?

Java 运行时环境 (JRE)基本上是执行 Java 程序的 Java 虚拟机 ( JVM )。它还包括用于小程序执行的浏览器插件。

Java 开发工具包 (JDK)是功能齐全的 Java 软件开发工具包,包括 JRE、编译器和工具(如 JavaDoc 和 Java 调试器),以便用户开发、编译和执行 Java 应用程序。

3.使用 Spring 有什么好处?

以下是使用 Spring Framework 的几个巨大好处的列表:

轻量级- 在尺寸和透明度方面,弹簧是轻量级的。spring 框架的基本版本约为 2MB。

控制反转 (IOC) - 在弹簧中使用控制反转技术实现松散耦合。对象提供它们的依赖关系,而不是创建或寻找依赖对象。

面向方面 (AOP) - Spring 支持面向方面的编程,并通过将应用程序业务逻辑与系统服务分离来实现内聚开发。

Container - Spring 包含并管理应用程序对象的生命周期和配置。

MVC 框架- Spring 的 web 框架是一个精心设计的 web MVC 框架,它为诸如 Struts 或其他过度设计或不太流行的 web 框架之类的 web 框架提供了一个很好的替代方案。

事务管理- Spring 提供一致的事务管理接口,可以缩小到本地事务(例如,使用单个数据库)并扩展到全局事务(例如,使用 JTA)。

异常处理- Spring 提供了一个方便的 API 来将特定于技术的异常(例如,由 JDBC、Hibernate 或 JDO 抛出)转换为一致的、未经检查的异常。

4.什么是JDBC?

JDBC 是一个抽象层,允许用户在数据库之间进行选择。JDBC 使开发人员能够用 Java 编写数据库应用程序,而不必关心特定数据库的底层细节。

5.classa和a 之间有什么关系object?

类充当蓝图,定义了许多对象共有的属性、状态和行为。对象是类的一个实例。例如,您有一个名为Vehicle的类,而Car是该类的对象。您可以为名为Vehicle的类创建任意数量的对象,例如Van、Truck和Auto。

new运算符用于创建类的对象。当类的对象被实例化时,系统会为类中存在的每个数据成员分配内存。

6.比较Java中的sleep()和方法wait()

sleep()是一个阻塞操作,它将共享对象的监视器/锁保持指定的毫秒数。

wait()另一方面,只是暂停线程,直到(a)经过指定的毫秒数或(b)它从另一个线程(以先到者为准)接收到所需的通知,而不保持对监视器/锁定的保留共享对象。

sleep()最常用于定期轮询或检查某些结果。wait()通常在多线程应用程序中与 , 结合使用notify() / notifyAll(),以实现同步并避免竞争条件。

7.staticJava中有没有类似类的东西?

Java无法将顶级类设为静态,但您可以像这样模拟静态类:

Declare your class final - 防止扩展类,因为扩展静态类没有意义

将构造函数设为私有 - 防止客户端代码实例化,因为实例化静态类没有意义

将类的所有成员和函数设为静态 - 由于无法实例化类,因此无法调用实例方法或访问实例字段

请注意,编译器不会阻止您声明实例(非静态)成员。仅当您尝试调用实例成员时才会出现此问题

8.持续集成、持续交付和持续部署之间有什么区别?

实践持续集成的开发人员尽可能频繁地将他们的更改合并回主分支。通过这样做,您可以避免当人们等待发布日将他们的更改合并到发布分支时通常发生的集成地狱。

持续交付是持续集成的延伸,以确保您可以以可持续的方式快速向客户发布新的更改。这意味着除了自动化测试之外,您还自动化了发布过程,您可以通过单击按钮随时部署应用程序。

持续部署比持续交付更进一步。通过这种做法,通过生产管道所有阶段的每个更改都会发布给您的客户。没有人为干预,只有失败的测试才会阻止将新的更改部署到生产中。

9.Spring MVC 框架中的控制器是什么?

控制器提供对您通常通过服务接口定义的应用程序行为的访问。控制器解释用户输入并将其转换为由视图表示给用户的模型。Spring 以一种非常抽象的方式实现了一个控制器,这使您能够创建各种各样的控制器。

10.什么是 Spring IoC 容器?

Spring IoC 创建对象,将它们连接在一起,配置它们,并管理它们从创建到销毁的完整生命周期。Spring 容器使用依赖注入 (DI) 来管理组成应用程序的组件。

Spring 中有两种类型的 IoC 容器:

Bean Factory 容器- 这是为 DI 提供基本支持的最简单的容器。在资源有限的情况下,如移动设备或基于 applet 的应用程序,通常首选 BeanFactory

Spring ApplicationContext Container - 此容器添加了更多特定于企业的功能,例如从属性文件解析文本消息的能力以及将应用程序事件发布到感兴趣的事件侦听器的能力。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>