Java
文章平均质量分 60
Java常用api以及问题解决方案
Byron丶
大爷来玩呀
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RabbitMQ 面试核心精讲
RabbitMQ面试核心要点摘要(148字) RabbitMQ可靠性保障需全链路三级防护:生产者端通过Confirm+Return机制防止网络丢包,服务端启用交换机/队列/消息三重持久化,消费者采用手动ACK避免异常丢失。重复消费需业务幂等,推荐唯一ID+Redis或数据库唯一索引。消息有序性通过业务ID哈希路由到同队列实现。死信队列处理过期/拒收消息,延迟队列优先采用官方插件避免TTL方案的队首阻塞问题。面试要区分自动ACK与手动ACK适用场景,明确重试队列与死信队列的不同定位。生产环境需平衡可靠性与性能原创 2026-06-03 10:44:25 · 469 阅读 · 0 评论 -
Redis高可用面试知识:持久化+主从复制+哨兵机制
Redis高可用核心机制解析:本文系统介绍了Redis实现数据持久化和高可用的关键技术。在持久化方面,对比了RDB(全量快照)和AOF(增量日志)的优缺点,推荐生产环境采用混合持久化方案;在主从复制方面,详细解析了全量/增量同步流程和部分重同步机制;在哨兵机制方面,重点讲解了故障检测、Leader选举和自动故障转移流程。这些技术共同构成了Redis高可用架构的基础,其中"1主2从3哨兵"是经典部署模式,既能保证数据安全又能实现故障自动恢复,适合大多数业务场景。原创 2026-06-02 00:07:19 · 375 阅读 · 0 评论 -
Redis高频面试:数据结构+编码+分布式锁+缓存问题
本文系统梳理了Redis高频面试核心知识点,涵盖五大基础数据结构(String、List、Hash、Set、ZSet)及其底层编码实现、分布式锁实现原理与Redisson优化方案、缓存三大经典问题(穿透/击穿/雪崩)的解决方案。重点解析了数据结构底层编码自动切换机制、Redisson可重入锁与看门狗续期机制、多级缓存防护策略等生产环境关键技术,并对比了不同方案的优缺点。全文以面试考点为导向,深入技术细节,提供从理论到实践的完整知识框架,是Redis面试准备的系统性指南。原创 2026-06-02 00:00:18 · 869 阅读 · 0 评论 -
HashMap面试知识点
本文系统梳理了Java中HashMap的核心知识点,包括其数组+链表+红黑树的复合数据结构设计,重点分析了put方法的执行流程。通过扰动函数优化哈希值计算,利用(n-1)&hash高效定位桶下标,并详细阐述了链表和红黑树在解决哈希冲突时的协同机制。文章还对比了JDK 1.7与1.8版本的差异,如红黑树引入和头尾插法变更,帮助读者深入理解HashMap的高效实现原理及其线程不安全特性。原创 2026-03-15 18:47:16 · 478 阅读 · 0 评论 -
1、MQ_介绍、优缺点、类型等
AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。2006年,AMQP 规范发布。RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。官网地址:https://www.rabbitmq.com/原创 2024-03-06 22:15:45 · 1807 阅读 · 0 评论 -
Mybatis_plus-逻辑删除、通用枚举、自动填充、插件等
自定义实现类 MyMetaObjectHandler@Slf4j@Component@Override@Override。原创 2024-03-03 17:30:58 · 1181 阅读 · 0 评论 -
Mybatis_plus-基础
文档地址:https://baomidou.com/(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。原创 2024-03-03 17:12:53 · 1056 阅读 · 0 评论 -
Java_代码生成_crud代码生成器
前言对于单个表的增删改查都是很固定的,总是手写没有太多意义,而且浪费时间,研究了一下mybatis-plus的代码生成器,可以直接使用他的代码生成器去生成代码生成前置条件依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2原创 2024-01-10 17:09:40 · 1333 阅读 · 1 评论 -
发布_Windows系统服务器发布Java程序
Windowscmd。原创 2024-01-09 16:04:01 · 754 阅读 · 0 评论 -
Java_Mybatis_动态SQL
需求:按年龄19查找,如果id 不空按id 查找,名字不空按名字查找,否则按班级id 查找。动态 SQL 的另一个常见使用场景是对集合进行遍历(尤其是在构建 IN 条件语句的时候)suffixOverrides:去掉 trim 标签内容最后面的值。概述:不想使用所有条件时候,他们可以从多个条件中选择一个使用,prefix:可以在 trim 标签内容前面添加内容。suffix:在 trim 标签后面添加内容。需求:查询所有的学生信息,用注解方式实现。中使用动态 SQL,可以使用。原创 2023-12-13 17:25:44 · 1650 阅读 · 0 评论 -
Java_Mybatis_缓存
二级缓存:是 sqlSessionFactory 级别的,只要使用同一个 sqlSessionFactory 创建的 sqlSession 查询同一 sql 都可以使用缓存。sqlSession 级别的,也就是说,使用同一个 sqlSession 查询同一 sql 时,直接从缓存数据中取,不需要操作数据库。使用之前必须在mapper.xml 文件中添加。原创 2023-12-13 17:03:40 · 681 阅读 · 0 评论 -
Java_mybatis-结果集映射-ResultType&ResultMap
优点:可以实现延迟加载,前提是要配置sql 写起来变得简单了缺点:发起了多条 sql,正常查询只发起一条sql。原创 2023-12-13 17:01:53 · 1765 阅读 · 0 评论 -
Java_EasyExcel_导入_导出Java-js
【代码】Java_EasyExcel_导入_导出Java-js。原创 2023-12-12 21:48:12 · 693 阅读 · 0 评论 -
1、Spring_IOC
属性名称说明id给 bean 起名字(定义id 不能重复)name给 bean 起别名class类全限定类名。原创 2023-08-20 16:04:23 · 252 阅读 · 0 评论 -
@TableField(value = “create_time“, fill= FieldFill.INSERT)不起作用
这个原因是我们还需要实现一个 MetaObjectHandle接口,并重写其中的方法。原创 2023-11-02 10:14:56 · 2271 阅读 · 0 评论 -
mybatis_insert语句填充id值
【代码】mybatis_insert语句填充id值。原创 2023-11-30 10:21:41 · 1115 阅读 · 0 评论 -
springboot_项目重启问题
此时发现只要一上传文件,项目就进行自动重启,问了一些大佬,还以为是框架中有什么安全检查呢。我将上传的文件保存至。原创 2023-11-22 14:19:03 · 312 阅读 · 0 评论 -
8、SpringBoot_多环境开发
总结实际开发中,多环境开发很常用dev 开发环境test 测试环境prod 生产环境。原创 2023-09-27 13:41:38 · 191 阅读 · 0 评论 -
7、SpringBoot_高级配置
如果目标电脑上8080端口已经使用,再次使用该端口会出现端口占用问题解决方式。原创 2023-09-27 11:16:29 · 272 阅读 · 0 评论 -
10、SpringBoot_测试用例
添加依赖写mapper写接口写 domain提供配置文件。原创 2023-10-08 09:20:17 · 1685 阅读 · 0 评论 -
9、SpringBoot_日志使用
使用日志级别一般的使用设置日志的级别注意:打印的内容越多,级别也就越低设置组。原创 2023-09-27 15:17:58 · 195 阅读 · 0 评论 -
Springboot_文件下载功能(前端后端)
不会也只能靠这个方法去找问题了,就是有点笨,但总归找到了问题所在。刚开始一直在纠结,是不是后端没有写对,然后导致下载不能使用。后来搜索了一些资料,发现后端没什么问题。然后就开始找到其他项目对比下载功能。原创 2023-11-22 17:12:06 · 995 阅读 · 0 评论 -
String、StringBuffer、StringBuilder共同的父类接口
CharSequence 是一个描述字符串结构的接口,在这个接口里面一般发现有三种常用子类:String 类、StringBuffer 类、StringBuilder 类。字符串的公共的描述类型就是CharSequence,也就是说:字符串加入。三者的定义结构都与 CharSequence 接口有关。所以以后只要看见了 CharSequence。原创 2023-07-18 00:43:53 · 197 阅读 · 1 评论 -
StringBuffer进阶以及常用方法
为了解决此问题,专门提供有一个类可以实现字符串的内容修改并不像 String 类那样拥有两种对象实例化方式,必须像.普通类对象那样,首先进行对象的实例化,而后才可以调用方法执行处理,而这个时候可以考虑使用类中的如下方法:.会发现引用change方法并没有改变str的值大部分情况下不是会出现改变字符串的内容,这种改变指的并不是针对于静态常量池的改变。分析下列情况。原创 2023-07-15 11:17:10 · 203 阅读 · 1 评论 -
Runtime类常用方法
Runtime 描述的是运行时的状态,也就是说在整个的 JVM 之中,Runtime 类是唯一一个与 JVM 运行状态有关的类,并且都会默认提供有一一个该类的实例化对象。由于在最每一个 JVM 进程里面只允许提供有一个 Runtime 类的对象,所以这个类的构造方法被默认私有化了,那么就证明该类使用的是单例设计模式,并且单例设计模式一定会提供有一个 static 方法获取本类。以下是 Runtime 类的主要操作形式。原创 2023-07-18 00:47:34 · 412 阅读 · 1 评论 -
Random随机数
java.util.Random 类的主要功能是产生随机数,这个类主要是依靠内部提供的方法来完成。public int nextInt(int bouhd):产生一个不大于边界的随机正整数。随机生成36选7的彩票号(不能出现0,且不能重复)原创 2023-07-18 00:50:40 · 227 阅读 · 1 评论 -
多线程进阶学习管理
多线程中常用的方法,与多线程原生的生产者消费者问题原创 2023-07-13 20:04:09 · 301 阅读 · 1 评论 -
多线程练习之:竞争抢答
题目:实现一个竞拍抢答程序:要求设置三个抢答者美三个线程),而后同时发出抢答指令,抢答成功者给出成功提示,抢答者未成功者给出失败提示。原创 2023-07-14 18:06:08 · 215 阅读 · 1 评论 -
继承接口实现克隆
所谓的对象克隆指的就是对象的复制,而且属于全新的复制。所以如果要想实现对象克隆,那么对象所在的类需要实现-一个 Cloneable 接口,此接口并没有任何的方法提供,是因为它描述的是一种能力。所有的类都会继承 Object 父类,所以所有的类都一定会有 clone() 方法,但是并不是所有的类都希望被克隆。Object自带的克隆是属于浅拷贝,他们的。原创 2023-07-18 00:49:39 · 197 阅读 · 1 评论 -
资源自动关闭接口
在整个的过程中,只有结合了 AutoCloseable ,整个程序才能实现自动的Close 调用,这种操作形式是在 JDK1.7 之后新增的处理,在以后的章节之中会接触到资源的关闭问题,往往都会见到 AutoCloseable 接口的使用。在这样的要求下,推出了 AutoCloseable 访问接口,这个接口是在 JDK1.7 的时候提供的,并且该接口只提供有一个方法。此时实现了一个模拟代码的处理流程,但有个问题,既然所有的资源完成处理之后都必须进行关闭操作,那么能否实现一种自动关闭的功能呢?原创 2023-07-18 00:45:51 · 238 阅读 · 1 评论 -
多线程练习之:生产电脑
多线程生产者、消费者练习题之:生产电脑原创 2023-07-14 17:40:34 · 189 阅读 · 1 评论 -
多线程练习之数字加减
数字加减中有些坑,希望可以避免原创 2023-07-14 16:31:33 · 288 阅读 · 1 评论 -
java常用的大数字处理方法
大数字处理类可以实现海量数字的计算。原创 2023-07-18 00:53:00 · 374 阅读 · 1 评论 -
金额格式化之Java自带方法
之前写代码是真的蠢,还自己去写对金额分割逗号的方法。格式化NumbFormat。原创 2023-07-18 00:55:35 · 716 阅读 · 1 评论 -
Java实现二叉树结构的增删
在进行链表结构开发的过程之中会发现所有的数据按照收尾相连的状态进行保存,那么当要进行某一个数据查询的时候(判断该数据是否存在),这种情况下它所面对的时间复杂度是“O(n)"。如果说现在它的数据量小(不超过三十个)的情况下,那么性能上是不会有太大差别的,而一旦保存的数据量很大,这个时候时间复杂度就会严重损耗程序的运行性能,那么对于数据的存储结构就必须发生改变,应该可以尽可能的减少检索次数为出发点进行设计,对于现在的数据结构而言,最好的性能就是“O(logn),所以现在要想实现它就可以利用二叉树的结构来完成。原创 2023-07-21 16:21:47 · 357 阅读 · 1 评论 -
Java中Base64的简单使用
正常来讲加密基本上永远都要伴随着解密,所谓的加密或者是解密往往都要伴随着解密,所谓的加密或者是解密往往都需要有一些新的加密处理操作类,Base64 处理,在这个类里面有两个内部类:Base64.Encoder:进行加密才能处理;Base64.Decoder:进行解密处理;原创 2023-07-20 09:57:39 · 1071 阅读 · 1 评论 -
Java进阶之正则表达式
通过之前的一系列的分析可以发现,String 一个非常万能的类型,因为 String 不仅仅可以支持有各种字符串的处理操作,也支持有向各个数据类型的转换功能,所以在项目的开发之中,只要是用户输入的信息基本上都可以用 String 表示。于是再向其他类型转换的时候,为了保证转换的正确性,往往需要对其进行一些复杂的验证处理,这种情况下如果只是单纯的依靠 String 类中的方法是非常麻烦的。现在假设有一个字符串要求你判断字符串是否由数字组成,如果由数字所组成则将变为数字进行乘法计算。原创 2023-07-19 10:44:55 · 208 阅读 · 0 评论 -
Java中日期类的使用与格式化
从源码的构造方法上来看,其实Date上述为10天之后的日期long 之中可以保存毫秒的数据级,这样方便程序处理。原创 2023-07-18 00:54:20 · 352 阅读 · 1 评论 -
Java原生解决null问题的包装类Optional
在所有引用数据类型的操作处理之中,null 是一个重要的技术问题,JDK 1.8 后提供的新的类,对于 Null 的处理很有帮助,同时也是在日后进行项目开发之中使用次数很多的一个程序类。PS:以上内容总结于阿里云培训。原创 2023-07-19 18:08:15 · 371 阅读 · 0 评论 -
Java_原生api分页
【代码】Java_原生api分页。原创 2023-12-06 16:45:18 · 563 阅读 · 0 评论
分享