- 博客(99)
- 收藏
- 关注
原创 【数据库】Elasticsearch的操作
本文全面比较了Elasticsearch与关系型数据库(如MySQL、PostgreSQL)在数据结构、查询能力、性能与扩展性、一致性与可用性、实时性以及管理和维护等方面的核心差异。通过具体的操作示例展示了两种系统的使用方式和语法差异,帮助用户深入理解每种技术的特点和适用场景。关系型数据库以其严格的数据结构和强大的事务处理能力适合需要高度数据一致性和复杂查询的应用。而Elasticsearch以其灵活的数据索引和强大的全文搜索能力,特别适合处理大规模数据集,进行实时搜索和数据分析。选择哪种技术取决于项目的具
2024-05-04 14:26:02 1155 2
原创 【高频】Redis相关面试题
候选人嗯~~,我想一下缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用布隆过滤器来解决它面试官候选人嗯,是这样~布隆过滤器主要是用于检索一个元素是否在一个集合中。我们当时使用的是redisson实现的布隆过滤器。它的底层主要是先去初始化一个比较大数组,里面存放的二进制0或1。
2024-04-30 14:46:20 631
原创 【面试题】谈谈你对SpringBoot的理解
SpringBoot遵循约定大于配置的原则,提供了默认的配置和规范,大部分情况下无需手动配置,开发者可以专注于业务逻辑而不是配置文件,举例来说,Spring Boot 提供了大量的 Starter 依赖,每个 Starter 依赖都预先配置了一组特定场景下所需的所有依赖项。另外,Spring Boot 还集成了 Actuator,提供了丰富的端点(endpoints),可以监控和管理应用程序的运行状态,包括健康检查、监控、度量等功能,为应用程序的运维提供了便利。
2024-04-27 21:10:25 272 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 297
原创 【面试题】HashMap为什么可以插入null而Hashtable就不可以(源码分析)
但是hashtable是线程安全的,在并发的环境之下,假设可以插入null值,但是在使用containsKey的时候就不清楚,这个值是不是其他线程刚刚插入的,所以即使containsKey返回值是true但是也无法判断是否存在null值在哈希表中,所以就会产生二义性,为了避免这种情况hashtable在源码中如果插入的值是null的时候就会直接抛出空指针异常。这是因为在 hashmap对插入key为null进行了特殊处理,当插入的值为null的时候会将哈希值设置为0。
2024-03-21 22:01:38 334
原创 synchronized和ReentrantLock区别和联系
可重入性指的是同一个线程在持有锁的情况下,可以再次获取这个锁,而不会被自己持有的锁所阻塞。这个特性在并发编程中是非常重要的,因为它允许线程在调用一个已经拥有锁的同步方法时,不会因为锁的重入而发生死锁。都是 Java 中用于实现线程同步的机制,它们都可以用于控制多个线程对共享资源的访问。而对于一些特殊的需求,例如需要更多的灵活性、更精细的控制、更好的性能等,可以选择使用。修饰,这意味着在同一时间只有一个线程可以执行这两个方法中的任意一个。方法已经持有锁的情况下,也能够再次获得这个锁,而不会被阻塞。
2024-03-20 11:52:38 450
原创 【初始MongoDB】MongoDB的使用(对比MySQL)
关于Mongodb的所有使用方法和优缺点,并且包括如何集成springboot和对比MySQL的所有用法看这一篇就对了,不要错过了!!!
2024-03-10 19:31:13 750
原创 项目中没有配置mongodb,但是显示Exception opening socket
启动spring boot 结果直接报mongodb错误,挺奇怪的工程还没有配置mongodb。猜想是不是工程有mongodb jar包。springboot自动配置了支持mongodb。在启动springboot时会自动实例化一个mongo实例。这个注解可以禁用springboot自带的配置。然后 boot 自然配置了。
2024-03-07 17:19:13 432
原创 @Resource和@Autowired区别
好的,让我们通过一个简单的Spring应用程序来说明这两个注解的使用情况。bean 的正确注入,假设在Spring容器中有一个名为。更多地与Java EE一起使用,并且更具有限制性和指定性。更加灵活,适用于Spring应用程序,而。是一个Spring bean,而。名称匹配的bean,则会引发异常。在Java Spring框架中,通过类型自动注入bean,而。通过名称匹配来注入bean。是一个非Spring组件。在这个示例中,我们通过指定。,它将根据名称匹配来注入。,它将根据类型自动注入。
2024-03-03 20:38:45 303
原创 SpringCloud整合Eureka模块出现“Error creating bean with name ‘configurationPropertiesBeans
SpringCloud和SpringBoot的版本不兼容。SpringBoot版本为:2.2.5.RELEASE。SpringCloud版本为:Hoxton.SR9。版本对应好后,即可启动服务。
2024-02-27 12:14:58 275
原创 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 514
原创 【初始RabbitMQ】高级发布确认的实现
全网最详细的高级发布确认,万字文章详细的介绍了RabbieMQ中延迟队列各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!
2024-02-23 18:06:57 1155 1
原创 【初始RabbitMQ】延迟队列的实现
全网最详细的延迟队列,万字文章详细的介绍了RabbieMQ中延迟队列各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!
2024-02-22 19:08:21 1942
原创 【初始RabbitMQ】死信队列的实现
文章详细的额介绍了RabbieMQ中死信队列各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!
2024-02-20 21:13:49 614
原创 【初始RabbitMQ】交换机的实现
万字文章详细的介绍了RabbieMQ中的交换机各种细节,以及实现方法,每一步代码均有详细的解析,看这一篇就对了!!!
2024-02-19 18:41:06 1072
原创 【初始RabbitMQ】发布订阅的实现
这是一篇关于RabbitMQ中发布订阅的含义以及实现的文章,内容很丰富,每一步代码都有解析快来看看吧!!!
2024-02-18 18:07:02 1787
原创 【初始RabbitMQ】工作队列的实现
这是一篇关于RabbitMQ工作队列的文章,详细的介绍了其工作原理以及如何实现每一个代码全部都有解析,保姆级教学快来看看吧!!!
2024-02-17 19:02:22 1688
原创 关于RabbitMQ常见的十道面试题
关于消息队列常见的十道面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!!
2024-02-05 14:39:19 1936
原创 关于Linux和消息队列常见的十道面试题
这是一篇关于linux和消息队列的常见面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!
2024-02-04 15:15:20 898
原创 关于网络和Linux常见的十道面试题汇总
这是一篇关于网络和Linux的面试题总结,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!
2024-02-03 19:13:10 1101
原创 什么是TCP粘包和半包问题?如何解决?
TCP粘包和半包是数据传输中比较常见的问题。所谓的粘包问题就是指在数据传输的时候,在一条消息中读取到了另一条消息的部分数据半包是指接收端只收到了部分的数据,而非完整的数据的情况,如下图:大部分情况下我们都把粘包问题和半包问题看成同一个问题,所以下文就用粘包问题来替代粘包和半包问题。
2024-02-03 18:09:23 818
原创 关于网络常见的十道面试题
关于网络常见的面试题,包括TCP/IP的五层模型、执行流程、重定向和转发的区别等等,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!
2024-02-02 18:12:59 1041
原创 关于JVM常见的十道面试题
这是一篇关于JVM常见十道面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!
2024-02-01 19:16:46 7128
原创 关于JVM常见的十道面试题
这是一篇关于JVM常见的面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!
2024-01-31 16:54:41 7302
原创 关于MyBatis和JVM的最常见的十道面试题
这是一篇关于MyBatis和JVM的常见的十道面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!!
2024-01-30 13:57:18 8819
原创 Bean的注入方法和区别
在Java中final修饰的对象要么直接赋值,要么在构造方法中赋值,所以当使用属性注入final对象时,不符合Java中的final使用规范,所以注入不成功。:构造注入和属性注入不同,构造方法注入可适用于任何环境,无论是IoC框架还是非IoC框架,构造方法注入的代码都是通用的。:构造方法不会像Setter注入那样,构造方法在对象创建只会执行依次,因此它不存在注入对象被随时(调用)修改的情况。:因为依赖对象是在构造方法中执行的,而构造方法是在对象创建之初执行的,因此被注入的对象在使用之前,会被完全初始化。
2024-01-29 18:35:14 8695
原创 关于Spring Boot和MyBatis常见的十道面试题
这是一个关于Spring Boot和MyBatis的常见面试题,都是比较容易疏忽并且面试的时候,经常会考到的面试题,文章中有详细的解释和底层原理来帮助你更好的来理解面试题!!!
2024-01-29 16:16:16 9521
原创 什么时跨域问题和如何解决跨域问题
跨域问题指的是不同站点之间,使用ajax无法互相调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站盗取数据。但是这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用的正常调用,也带来了阻碍,那么如何解决这三种问题呢?
2024-01-28 13:02:50 16812
原创 乐观锁的底层实现以及如何解决ABA问题
乐观锁是一种并发控制的策略。在操作数据的时候,线程读取数据的时候不会进行加锁,先去查询原值,操作的时候比较原来的值,看一下是都被其他线程修改,如果没有修改则写回,否则就重新执行读取流程悲观锁(底层是synchronized和ReentrantLock)就是考虑事情比较悲观,认为在访问共享资源的时候发生冲突的概率比较高,所以每次访问前线程都需要加锁乐观锁底层是通过CAS机制实现的,CAS机制包含三个组件:内存地址V、预期值A和新值B比较内存地址V中的值是否与预期值A相等。
2024-01-26 20:10:14 43826
原创 关于Spring的最常见的十道面试题
关于JDK和GCLib代理和Bean的注入方式,如何保证线程安全,spring boot的自动装配和自定义注解如何实现,还有拦截器过滤器的实现代码的十道面试题
2024-01-26 19:50:20 44311
原创 Bean的线程安全问题和解决方案
Bean的线程安全问题和如何解决线程安全问题以及应用场景代码示例,看这一篇文章就够了,保证你可以受益匪浅!!!
2024-01-26 18:49:03 29201
Java面试题-并发.docx
2024-02-18
Java面试题-哈希.docx
2024-02-18
Java面试题-基础和集合.docx
2024-02-18
面试day1-基础.docx
2024-02-18
RaabbitMQ文件
2024-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人