自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【Java面试】第十一天

SpringBoot通过Spring 的条件配置决定哪些bean可以被配置,将这些条件定义成具体的Configuration,然后将这些Configuration配置到spring.factories文件中(这种方式Springboot 2.7.0版本已不建议使用,最新的方式是使用 /META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports )这允许你不仅按类型注入,还可以按名称引用具体的bean。

2024-09-13 21:41:45 1298

原创 【Java面试】第十天

3、约定大于配置:SpringBoot中有很多约定大于配置的思想的体现,通过一种约定的方式,来降低开发人员的配置工作。而且,每个 Prototype Bean 的实例都需要占用一定的内存,可能会导致内存资源的消耗较大。但是,很多人都会忽略一个关键的步骤(网上很多介绍SpringBoot启动流程的都没提到),那就是Web容器的启动,及Tomcat的启动其实也是在这个步骤。:这一步,是Spring启动的核心步骤了,这一步骤包括了实例化所有的 Bean、设置它们之间的依赖关系以及执行其他的初始化任务。

2024-09-12 19:49:12 1008

原创 【Java面试】第九天

有的时候,你排查了很久,发现都没问题,但是还是不生效,然后找别人来帮你看,他上来就看了一下你用的@Transactional,发现并不是Spring中的,而是其他什么地方的,比如 javax.transaction.Transactional ,这样也会导致事务失效。在之前的一个项目中,我就发现我们的Service层的事务全都失效了,一个SQL执行失败后并没有回滚,排查下来才发现,是因为一位同事新增了一个切面,这个切面里面做个异常的统一捕获,导致事务的切面没有捕获到异常,导致事务无法回滚。

2024-09-11 19:02:46 707

原创 【Java面试】第八天

除了Spring官方提供的这些作用域以外,我们还可以自定义我们自己的作用域,Spring提供了这方面的支持。要自定义一个 Spring 的作用域,需要实现接口。这个接口要求实现几个关键方法来管理 Bean 的生命周期。@Nullable@Nullable@Nullable接下来,我们需要实现接口的方法,例如 get(创建或检索 Bean 实例)、remove(销毁 Bean 实例)等。

2024-09-10 19:50:13 766

原创 【Java面试】第七天

这个类,而销毁主要依赖。

2024-09-09 17:15:07 1107

原创 【Java面试】第六天

死锁是指两个或两个以上的进程(或线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。比如:丈母娘要求先买房才能结婚,但是女婿说先结婚买房并发(Concurrent),在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。那么,操作系统是如何实现这种并发的呢?

2024-09-08 19:19:45 997

原创 Web身份验证详解:Cookie、Session、Base64与Token的应用与区别

Cookie,Session,JWT的使用

2024-09-07 17:32:18 1162 1

原创 【Java面试】第五天

🌟个人主页:时间会证明一切.目录如何将集合编程线程安全的创建线程有几种方式Runnable和Callable区别FutureFutureTask和Callable示例什么是ThreadLocal,如何实现的ThreadLocal的实现原理如何将集合编程线程安全的在调用集合前,使用synchronized或者ReentrantLock对代码加锁(读写都要加锁)public class SynchronizedCollectionExample { private List<I

2024-09-07 17:12:26 651

原创 【Java面试】第四天

顾名思义,BitSet是位集合,通常来说,位集合的底层的数据结构是一个bit数组,如果第n位为1,则表明数字n在该数组中。举个例子,如果调用BitSet#set(10),业务语意是把10放到BitSet中,内部的操作则是通过把二进制的第十位(低位)置为1。这样,就代表BitSet中包含了10这个数字。

2024-09-06 19:06:49 759

原创 【Java面试】第三天

说简单点,就是 定义其他注解的注解。比如Override这个注解,就不是一个元注解。而是通过元注解定义出来的。这里面的@Target,@Retention就是元注解。元注解有四个:@Target(表示该注解可以用于什么地方)、@Retention(表示在什么级别保存该注解信息)、@Documented(将此注解包含在javadoc中)、@Inherited(允许子类继承父类中的注解)。一般@Target是被用的最多的。

2024-09-05 19:21:39 669

原创 【Java面试】第二天

Java泛型(generics) 是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。方便:可以提高代码的复用性。以List接口为例,我们可以将String、Integer等类型放入List中,如不用泛型,存放String类型要写一个List接口,存放Integer要写另外一个List接口,泛型可以很好的解决这个问题。

2024-09-04 15:48:35 858

原创 【Java面试】第一天

一般在实际开发中,我们会先把接口暴露给外部,然后在业务代码中实现接口。如果多个实现类中有相同可复用的代码,则在接口和实现类中间加一层抽象类,将公用部分代码抽出到抽象类中。可以参考下模板方法模式,这是一个很好的理解接口、抽象类和实现类之间关系的设计模式。

2024-09-03 16:47:37 504

原创 RabbitMQ 学习笔记:分布式消息队列的基础与应用

本文记录了学习 RabbitMQ 过程中总结的核心概念与实践经验。RabbitMQ 作为一种高效、可靠的消息队列工具,广泛应用于分布式系统与微服务架构中。文章从 RabbitMQ 的基础架构、交换机类型、消息路由机制等方面展开,介绍了如何实现异步消息传递、消息确认、持久化等关键功能,并通过代码实例演示了其在实际项目中的应用场景。本文适合对消息队列技术感兴趣的开发者参考学习。

2023-08-10 09:46:20 107 1

原创 从零开始掌握 MyBatis-Plus:核心功能与最佳实践

本篇笔记详细介绍了 MyBatis-Plus 作为简化 MyBatis 操作的优秀 ORM 框架的核心功能与应用。通过实例演示,本文展示了如何使用 MyBatis-Plus 实现快速的 CRUD 操作、自动分页、条件构造器等功能,并探讨了其与原生 MyBatis 的对比。对于开发者来说,MyBatis-Plus 提供了更为便捷的数据库操作方式,大大减少了代码量,提高了开发效率。本文适合初学者以及希望提高开发效率的 Java 开发者阅读。

2023-08-08 10:58:31 140

原创 【MySQL】事务

事务是数据库中执行一组相关操作的单个逻辑单位。它具备原子性、一致性、隔离性和持久性,通常使用ACID缩写来表示。事务确保一组操作要么全部成功执行,要么全部回滚到起始状态,以保持数据的一致性。

2023-07-29 22:59:00 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除