自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【面试题】谈谈你对SpringBoot的理解

SpringBoot遵循约定大于配置的原则,提供了默认的配置和规范,大部分情况下无需手动配置,开发者可以专注于业务逻辑而不是配置文件,举例来说,Spring Boot 提供了大量的 Starter 依赖,每个 Starter 依赖都预先配置了一组特定场景下所需的所有依赖项。另外,Spring Boot 还集成了 Actuator,提供了丰富的端点(endpoints),可以监控和管理应用程序的运行状态,包括健康检查、监控、度量等功能,为应用程序的运维提供了便利。

2024-04-27 21:10:25 161 1

原创 【全网最详细】如何保证缓存和数据库一致性

最全面最容易理解的关于数据库与缓存一致性问题的描述,以及解决方案的文章,看这一篇绝对够了!

2024-04-12 14:45:51 856 1

原创 【报错】nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘xxx‘ not found

对于基本类型或简单类型的参数,MyBatis 可以直接识别参数名,并将其与 SQL 查询中的参数名进行匹配,因此不需要 @Param 注解。如果方法参数的名称与 SQL 查询中的参数名完全一致,MyBatis 也可以通过推断来正确地进行参数绑定,无需额外的 @Param 注解。当方法只有一个参数时,MyBatis 可以通过推断参数名与 SQL 查询中的参数名进行匹配,因此不需要额外的 @Param 注解。注解来指定每个参数的名称,以确保 MyBatis 能够正确地识别它们并将其传递给 SQL 查询。

2024-03-30 16:42:24 281

原创 【面试题】HashMap为什么可以插入null而Hashtable就不可以(源码分析)

但是hashtable是线程安全的,在并发的环境之下,假设可以插入null值,但是在使用containsKey的时候就不清楚,这个值是不是其他线程刚刚插入的,所以即使containsKey返回值是true但是也无法判断是否存在null值在哈希表中,所以就会产生二义性,为了避免这种情况hashtable在源码中如果插入的值是null的时候就会直接抛出空指针异常。这是因为在 hashmap对插入key为null进行了特殊处理,当插入的值为null的时候会将哈希值设置为0。

2024-03-21 22:01:38 299

原创 synchronized和ReentrantLock区别和联系

可重入性指的是同一个线程在持有锁的情况下,可以再次获取这个锁,而不会被自己持有的锁所阻塞。这个特性在并发编程中是非常重要的,因为它允许线程在调用一个已经拥有锁的同步方法时,不会因为锁的重入而发生死锁。都是 Java 中用于实现线程同步的机制,它们都可以用于控制多个线程对共享资源的访问。而对于一些特殊的需求,例如需要更多的灵活性、更精细的控制、更好的性能等,可以选择使用。修饰,这意味着在同一时间只有一个线程可以执行这两个方法中的任意一个。方法已经持有锁的情况下,也能够再次获得这个锁,而不会被阻塞。

2024-03-20 11:52:38 441

原创 【初始MongoDB】MongoDB的使用(对比MySQL)

关于Mongodb的所有使用方法和优缺点,并且包括如何集成springboot和对比MySQL的所有用法看这一篇就对了,不要错过了!!!

2024-03-10 19:31:13 743

原创 项目中没有配置mongodb,但是显示Exception opening socket

启动spring boot 结果直接报mongodb错误,挺奇怪的工程还没有配置mongodb。猜想是不是工程有mongodb jar包。springboot自动配置了支持mongodb。在启动springboot时会自动实例化一个mongo实例。这个注解可以禁用springboot自带的配置。然后 boot 自然配置了。

2024-03-07 17:19:13 421

原创 @Resource和@Autowired区别

好的,让我们通过一个简单的Spring应用程序来说明这两个注解的使用情况。bean 的正确注入,假设在Spring容器中有一个名为。更多地与Java EE一起使用,并且更具有限制性和指定性。更加灵活,适用于Spring应用程序,而。是一个Spring bean,而。名称匹配的bean,则会引发异常。在Java Spring框架中,通过类型自动注入bean,而。通过名称匹配来注入bean。是一个非Spring组件。在这个示例中,我们通过指定。,它将根据名称匹配来注入。,它将根据类型自动注入。

2024-03-03 20:38:45 299

原创 SpringCloud整合Eureka模块出现“Error creating bean with name ‘configurationPropertiesBeans

SpringCloud和SpringBoot的版本不兼容。SpringBoot版本为:2.2.5.RELEASE。SpringCloud版本为:Hoxton.SR9。版本对应好后,即可启动服务。

2024-02-27 12:14:58 256

原创 Maven编译报processing instruction can not have PITarget with reserveld xml name

processing instruction can not have PITarget with reserveld xml name 这个错,网上也说法不一,但是绝大绝大部分是因为setting.xml文件多了一个空行导致的,删除即可。在java项目中,平时我们会执行mvn clean package命令来编译我们的java项目,可是博主今天执行编译时突然报了。

2024-02-27 10:02:12 433

原创 【初始RabbitMQ】高级发布确认的实现

全网最详细的高级发布确认,万字文章详细的介绍了RabbieMQ中延迟队列各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!

2024-02-23 18:06:57 1150 1

原创 【初始RabbitMQ】延迟队列的实现

全网最详细的延迟队列,万字文章详细的介绍了RabbieMQ中延迟队列各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!

2024-02-22 19:08:21 1934

原创 【初始RabbitMQ】死信队列的实现

文章详细的额介绍了RabbieMQ中死信队列各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!

2024-02-20 21:13:49 609

原创 【初始RabbitMQ】交换机的实现

万字文章详细的介绍了RabbieMQ中的交换机各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!

2024-02-19 18:41:06 1033

原创 【初始RabbitMQ】发布订阅的实现

这是一篇关于RabbitMQ中发布订阅的含义以及实现的文章,内容很丰富,每一步代码都有解析快来看看吧!!!

2024-02-18 18:07:02 1779

原创 【初始RabbitMQ】持久化的实现

这是一篇关于RabbitMQ中持久化的含义以及实现的文章,内容很丰富,每一步代码都有解析快来看看把!!!

2024-02-18 12:59:22 1471

原创 【初始RabbitMQ】工作队列的实现

这是一篇关于RabbitMQ工作队列的文章,详细的介绍了其工作原理以及如何实现每一个代码全部都有解析,保姆级教学快来看看吧!!!

2024-02-17 19:02:22 1669

原创 【初始RabbitMQ】了解和安装RabbitMQ

关于RabbitMQ的重要概念和安装RabbitMQ的保姆级教学,看这一篇就够了!!!

2024-02-17 15:13:41 1565 1

原创 【初始消息队列】消息队列的各种类型

这是一篇初始消息队列的文章简单的介绍消息队列的类型和优缺点以及使用场景

2024-02-17 13:59:27 1276

原创 关于RabbitMQ面试题汇总

RabbitMQ常见面试题汇总,看这一篇就够了!!!

2024-02-05 14:41:32 1948

原创 关于RabbitMQ常见的十道面试题

关于消息队列常见的十道面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!!

2024-02-05 14:39:19 1905

原创 Linux常见面试题汇总

Linux常见的面试题汇总,看这一篇就够了!!!

2024-02-04 15:17:33 1163

原创 关于Linux和消息队列常见的十道面试题

这是一篇关于linux和消息队列的常见面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!

2024-02-04 15:15:20 897

原创 关于网络面试题汇总

关于网络所有常见的面试题汇总,看这一篇足够了!!!

2024-02-03 19:21:45 1036

原创 关于网络和Linux常见的十道面试题汇总

这是一篇关于网络和Linux的面试题总结,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!

2024-02-03 19:13:10 1088

原创 什么是TCP粘包和半包问题?如何解决?

TCP粘包和半包是数据传输中比较常见的问题。所谓的粘包问题就是指在数据传输的时候,在一条消息中读取到了另一条消息的部分数据半包是指接收端只收到了部分的数据,而非完整的数据的情况,如下图:大部分情况下我们都把粘包问题和半包问题看成同一个问题,所以下文就用粘包问题来替代粘包和半包问题。

2024-02-03 18:09:23 806

原创 关于网络常见的十道面试题

关于网络常见的面试题,包括TCP/IP的五层模型、执行流程、重定向和转发的区别等等,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!

2024-02-02 18:12:59 1039

原创 关于JVM面试题汇总

这是一篇关于JVM绝大部分面试题汇总,包含所有面试中会出现的面试题万字汇总,看着一篇就完全足够!!!

2024-02-01 19:20:49 7826

原创 关于JVM常见的十道面试题

这是一篇关于JVM常见十道面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!

2024-02-01 19:16:46 7121

原创 关于JVM常见的十道面试题

这是一篇关于JVM常见的面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!

2024-01-31 16:54:41 7299

原创 MyBatis常见面试题汇总

关于MyBatis常见面试题汇总

2024-01-30 21:35:47 8908

原创 关于MyBatis和JVM的最常见的十道面试题

这是一篇关于MyBatis和JVM的常见的十道面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!!

2024-01-30 13:57:18 8816

原创 Bean的注入方法和区别

在Java中final修饰的对象要么直接赋值,要么在构造方法中赋值,所以当使用属性注入final对象时,不符合Java中的final使用规范,所以注入不成功。:构造注入和属性注入不同,构造方法注入可适用于任何环境,无论是IoC框架还是非IoC框架,构造方法注入的代码都是通用的。:构造方法不会像Setter注入那样,构造方法在对象创建只会执行依次,因此它不存在注入对象被随时(调用)修改的情况。:因为依赖对象是在构造方法中执行的,而构造方法是在对象创建之初执行的,因此被注入的对象在使用之前,会被完全初始化。

2024-01-29 18:35:14 8688

原创 关于Spring Boot和MyBatis常见的十道面试题

这是一个关于Spring Boot和MyBatis的常见面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!!

2024-01-29 16:16:16 9488

原创 什么时跨域问题和如何解决跨域问题

跨域问题指的是不同站点之间,使用ajax无法互相调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站盗取数据。但是这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用的正常调用,也带来了阻碍,那么如何解决这三种问题呢?

2024-01-28 13:02:50 16795

原创 乐观锁的底层实现以及如何解决ABA问题

乐观锁是一种并发控制的策略。在操作数据的时候,线程读取数据的时候不会进行加锁,先去查询原值,操作的时候比较原来的值,看一下是都被其他线程修改,如果没有修改则写回,否则就重新执行读取流程悲观锁(底层是synchronized和ReentrantLock)就是考虑事情比较悲观,认为在访问共享资源的时候发生冲突的概率比较高,所以每次访问前线程都需要加锁乐观锁底层是通过CAS机制实现的,CAS机制包含三个组件:内存地址V、预期值A和新值B比较内存地址V中的值是否与预期值A相等。

2024-01-26 20:10:14 43794

原创 关于Spring的最常见的十道面试题

关于JDK和GCLib代理和Bean的注入方式,如何保证线程安全,spring boot的自动装配和自定义注解如何实现,还有拦截器过滤器的实现代码的十道面试题

2024-01-26 19:50:20 44273

原创 Bean的线程安全问题和解决方案

Bean的线程安全问题和如何解决线程安全问题以及应用场景代码示例,看这一篇文章就够了,保证你可以受益匪浅!!!

2024-01-26 18:49:03 29172

原创 面试常问的Spring AOP底层原理

AOP底层原理可以划分成四个阶段:创建代理对象阶段、拦截目标对象阶段、调用代理对象阶段、调用目标对象阶段。

2024-01-25 18:09:07 29042

原创 关于Spring和缓存雪崩、穿透、击穿、预热的最常见的十道面试题

这是一篇关于Redis缓存雪崩、穿透、击穿、预热和Spring IoC和Spring AOP的面试题,包括AOP底层实现原理等

2024-01-25 18:05:32 29594

Java面试题-并发.docx

这份文档详细讨论了Java中HashMap的各个方面,包括其内部机制、线程安全性、性能优化以及与其他类的比较等。通过对HashMap的不同问题进行深入分析,读者可以全面了解该数据结构的工作原理和使用注意事项。 首先,文档解释了为什么HashMap选择红黑树作为数据结构,而不是其他结构,主要是因为红黑树在处理哈希冲突时具有更快的搜索和插入速度,以及更稳定的性能。 接着,文档讨论了负载因子的概念及其取值为0.75的原因,以及HashMap在多线程环境下的线程安全性问题,指出了可能导致CPU利用率达到100%的并发扩容问题,并提出了解决方案。 此外,文档介绍了哈希冲突的概念和解决方法,以及HashMap的查询流程和与Hashtable的区别。特别强调了Hashtable不允许插入null的原因,以及ConcurrentHashMap在线程安全实现和锁优化方面的策略。 总的来说,这份文档对HashMap的各个方面进行了全面而详细的阐述,既适合作为面试准备的参考资料,也适用于希望深入了解HashMap内部机制的Java开发者。

2024-02-18

Java面试题-哈希.docx

这份文件详细探讨了Java中HashMap的各个方面,包括其内部机制、线程安全性、性能优化以及与其他类的比较等。通过对HashMap的不同问题进行深入分析,读者可以全面了解该数据结构的工作原理和使用注意事项。 首先,文件解释了为什么HashMap选择红黑树作为数据结构,而不是其他结构,主要是因为红黑树在处理哈希冲突时具有更快的搜索和插入速度,以及更稳定的性能。 接着,文件讨论了负载因子的概念及其取值为0.75的原因,以及HashMap在多线程环境下的线程安全性问题,指出了可能导致CPU利用率达到100%的并发扩容问题,并提出了解决方案。 此外,文件介绍了哈希冲突的概念和解决方法,以及HashMap的查询流程和与Hashtable的区别。特别强调了Hashtable不允许插入null的原因,以及ConcurrentHashMap在线程安全实现和锁优化方面的策略。 总的来说,这份文件对HashMap的各个方面进行了全面而详细的阐述,既适合作为面试准备的参考资料,也适用于希望深入了解HashMap内部机制的Java开发者。

2024-02-18

Java面试题-基础和集合.docx

文件内容简介: 该文件涵盖了Java编程语言面试中常见的一系列问题和概念解释。从面试题一开始,就对Java语言的特性、限制以及解决方案进行了深入讨论。其中,讨论了Java为什么不支持多继承、==和equals的区别、方法重载的条件、String为何设计成不可变、包装类的应用场景、Integer的高速缓存机制等多个方面。 通过面试题的逐一解答,读者可以了解到Java语言的一些核心概念,如面向对象的特性、线程安全、性能优化、泛型、自动装箱与拆箱等。此外,文件还详细解释了类型擦除的概念及其优势,以及深浅克隆的区别和实现方式。这些内容不仅有助于面试者在面试中展现自己的深厚技术功底,还可以帮助读者更深入地理解Java编程语言的内部机制和设计原理。 总的来说,该文件提供了一份全面的Java面试准备指南,涵盖了从基础知识到高级概念的各个方面,适用于准备Java编程语言相关岗位的求职者,以及希望加深对Java语言理解的开发者和学习者。

2024-02-18

面试day1-基础.docx

这份面试题集涵盖了Java面试中常见的一些问题,从多继承的原因到equals方法的区别,再到包装类的应用场景和类型擦除的概念,覆盖了Java语言中的多个重要方面。这些问题不仅考察了基本的语法知识,还涉及到Java的特性、性能优化以及泛型机制等方面。准备这些问题的回答可以帮助面试者加深对Java语言的理解,展现出对于语言细节和原理的把握能力。 简介: 这份面试题集系统地探讨了Java语言的多个关键问题,从语法特性到性能优化,涵盖了Java程序员需要掌握的广泛知识。通过解答这些问题,面试者能够展现对Java语言的深入理解和丰富经验,从而在面试中脱颖而出。

2024-02-18

RaabbitMQ文件

这个是RabbitMQ的安装包,其中包括erlang-21.3-1.el7.x86_64.rpm、rabbitmq_delayed_message_exchange-3.8.0.ez和rabbitmq-server-3.8.8-1.el7.noarch.rpm都是安装RabbitMQ必备的软件。使用Linux命令scp 目录名称 root@服务器所用IP:云服务器的存储地址,例如:scp D:\Java学习课件\MQ\软件\rabbitmq-server-3.8.8-1.el7.noarch.rpm [email protected]:/root

2024-02-17

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

TA关注的人

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