Java高频面试题合集
文章平均质量分 93
本专栏记录一些Java的高频面试题,与大家一起努力学习通过面试。
Java技术一点通
本人计算机软件工程专业在读,擅长于Java后端开发,有多个项目开发经验,业余丰富各种技术栈,大学期间参与软件研发中心研究。荣获2023年CSDN博客之星、CSDN城市之星、阿里云社区专家博主、华为云享专家,致力于新技术的推广与优秀作品的普及。
展开
-
【操作系统】经典面试题总结
死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。例如:如果此时有一个线程 A,已经持有了锁 A,但是试图获取锁 B,线程 B 持有锁 B,而试图获取锁 A,这种情况下就会产生死锁。缓冲区为暂时置放输出或输入资料的内存。缓冲区溢出是指当计算机向缓冲区填充数据时超出了缓冲区本身的容量,溢出的数据覆盖在合法数据上。造成缓冲区溢出的主要原因是程序中没有仔细检查用户输入是否合理。原创 2023-05-26 10:07:54 · 323 阅读 · 0 评论 -
Spring Boot 经典面试题总结
Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。YAML是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML文件就更加结构化,而且更少混淆。可以看出YAML具有分层配置数据。主要用来区分环境。Spring Profiles 允许用户根据配置文件(dev,test,prod 等)来注册 bean。原创 2023-05-24 08:12:45 · 717 阅读 · 0 评论 -
Spring 经典面试题总结
默认情况下,Bean在Spring容器中是单例的,我们可以通过@Scope注解修改Bean的作用域。类型说明singleton在Spring容器中仅存在一个实例,即Bean以单例的形式存在prototype每次调用getBean()时,都会执行new操作,返回一个新的实例request每次HTTP请求都会创建一个新的Beansession同一个HTTPSession共享一个Bean,不同的THHPSession使用不同的Bean。原创 2023-05-20 19:48:31 · 373 阅读 · 0 评论 -
Redis 经典面试题合合集详解
缓存穿透:缓存穿透是指客户端请求的数据在缓存和数据库中都不存在,这样缓存永远不会生效,这样请求都会打到数据库。解决方案:如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短,最长不超过五分钟。优点:实现简单,维护方便缺点:额外的内存消耗可能造成短期的不一致将所有可能存在的数据哈希存到一个足够大的 bitmap 中,一个一定不存在的数据会被这个 bitmap 拦截掉,从而避免了对底层存储系统的查询压力。原创 2023-05-17 10:09:13 · 706 阅读 · 0 评论 -
JavaWeb、SpringMVC 经典面试题总结
JDBC的全程是 Java Database connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。定义: 依赖于servlet容器,在实现上基于函数回调,可以对几乎所有请求进行过滤;缺点是一个过滤器实例只能在容器初始化时调用一次;作用: 用来做一些过滤操作,获取我们想要获取的数据: 在过滤器中修改字符编码;在过滤器中修改。原创 2023-05-08 18:21:39 · 498 阅读 · 0 评论 -
MyBatis 常见面试题总结(持续更新)
Mybatis是一个半ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接等繁杂的过程。程序员直接编写原生态 SQL,可以严格控制 SQL 执行性能,灵活度高。 MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 通过 XML 文件或注解的方式将要执行的各种 Statement 配置起来,并通过 Java 对原创 2023-05-05 14:44:45 · 277 阅读 · 0 评论 -
Redis 经典面试题合集详解
缓存穿透:缓存穿透是指客户端请求的数据在缓存和数据库中都不存在,这样缓存永远不会生效,这样请求都会打到数据库。解决方案:如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短,最长不超过五分钟。优点:实现简单,维护方便缺点:额外的内存消耗可能造成短期的不一致将所有可能存在的数据哈希存到一个足够大的 bitmap 中,一个一定不存在的数据会被这个 bitmap 拦截掉,从而避免了对底层存储系统的查询压力。原创 2023-04-29 09:33:43 · 1203 阅读 · 2 评论 -
MySQL 高频面试题合集详解
关系型数据库就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。关系型数据库中,我们的数据都被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)。大部分关系型数据库都使用 SQL 来操作数据库中的数据。并且,大部分关系型数据库都支持事务的四大特性(ACID)。SQL 是一种结构化查询语言。原创 2023-04-27 08:09:25 · 1686 阅读 · 0 评论 -
Java高频面试题合集——【Java基础、IO流、Java异常、Java集合、Java并发】高频面试题汇总
Java反射指的是在Java程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法;对于给定的一个对象,都能够调用它的任意一个属性和方法。这种动态获取类的内容以及动态调用对象的方法称为反射机制。Java的反射机制常见的应用场景有:使用JDBC时,如果要创建数据库的连接,则需要先通过反射机制加载数据库的驱动程序;多数框架都支持注解/XML配置,从配置中解析出来的类是字符串,需要利用反射机制实例化;面向切面编程(AOP)的实现方案,是在程序运行时创建目标对象的代理类,这必须由反射机制来实现。原创 2023-04-23 19:36:01 · 3595 阅读 · 0 评论 -
Java基础常见面试题总结(上)
在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为.class的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以, Java 程序运行时相对来说还是高效的,而且,由于字节码并不针对一种特定的机器,因此,Java 程序无须重新编译便可在多种不同操作系统的计算机上运行。方法的返回值是指我们获取到的某个方法体中的代码执行后产生的结果!(前提是该方法可能产生结果)。原创 2022-09-04 13:27:01 · 4936 阅读 · 12 评论