
Java笔记
文章平均质量分 81
Java笔记
白豆五
凡是用行动证明的,不要轻易否定自己。
展开
-
SpringBoot事件驱动
spring事件驱动采用了观察者设计模式,主要作用就是实现对象之间的松耦合通信。它的核心思想是通过事件的发布和监听来实现不同组件之间的交互。(跟mq挺像)原创 2025-03-15 21:32:07 · 487 阅读 · 0 评论 -
javax替换到jakarta对照表
注:在迁移前添加 Jakarta EE库。原创 2025-03-14 10:20:22 · 173 阅读 · 0 评论 -
仿照Lombok的@Builder注解实现链式编程创建对象
【代码】仿照Lombok的@Builder注解创建对象。原创 2024-12-02 17:36:22 · 159 阅读 · 1 评论 -
MyBatis-Plus知识总结
MyBatis-Plus,简称MP,是一个MyBatis的增强工具,它在MyBatis的基础上只做增强不做改变,为简化开发、提供效率而生。原创 2024-07-30 20:42:23 · 1439 阅读 · 0 评论 -
Java网络编程
网络编程是指在不同进程之间、不同设备之间进行数据交互与通信的编程技术。原创 2024-07-08 00:13:16 · 1319 阅读 · 0 评论 -
SpringBoot实现多数据源切换
随着项目规模的扩大和业务需求的复杂化,单一数据源已经不能满足实际开发中的需求。在许多情况下,我们需要同时操作多个数据库,或者需要将不同类型的数据存储在不同的数据库中。这时,多数据源场景成为必不可少的解决方案。市面上常见的多数据源实现方案如下:方案1:基于Spring框架提供的AbstractRoutingDataSourc。优点: 简单易用,支持动态切换数据源;适用于少量数据源情况。场景:适用于需要动态切换数据源,且数据库较少的情况。原创 2024-07-04 07:46:41 · 3246 阅读 · 0 评论 -
Dubbo2.x快速入门
Apache Dubbo 是一款易用、高性能的 WEB 和 RPC 框架,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。原创 2024-06-23 14:14:18 · 964 阅读 · 0 评论 -
Git多用户之间的切换
解决问题:本地git设置了全局用户名和邮箱都是公司的,如果私人项目推送gitee上也会携带公司信息,如何解决呢。全局配置下面,添加个人配置规则。原创 2024-06-23 06:27:54 · 867 阅读 · 0 评论 -
MongoDB入门手册
MongoDB是一个开源分布式的文档型NoSQL数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。原创 2024-05-27 21:08:02 · 1110 阅读 · 0 评论 -
SpringAI应用开发
SpringAI是对AI领域的一套解决方案,并不是要构建一个自己的AI大模型,而是让你快速对接各种AI大模型;原创 2024-05-15 03:30:06 · 824 阅读 · 0 评论 -
整合Tess4J图文识别技术
Tess4J是一个Java库,它对谷歌的Tesseract-OCR进行了再封装,使用更简单。Tesseract OCR是一个开源的光学字符识别(OCR)引擎,它能够识别图像中的文本,并将其转换为可编辑的格式。Tess4J使得开发者可以在Java应用程序中轻松集成OCR功能。原创 2024-05-14 21:06:11 · 1829 阅读 · 0 评论 -
Redis知识总结
Redis(Remote Dictionary Server)是一种开源的内存数据库,通常用作缓存系统或键值存储数据库。原创 2024-05-14 14:42:49 · 1181 阅读 · 1 评论 -
百度云内容审核
百度智能云内容审核平台:是一款针对多媒体内容进行智能审核的服务平台。支持对图像、文本、音频、视频、直播等内容进行安全审核,具有精准的审核模型、丰富的审核维度、灵活的规则配置等特点。原创 2024-05-14 06:49:04 · 709 阅读 · 0 评论 -
Seata分布式事务
Seata 是蚂蚁金服和阿里共同开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。原创 2024-05-13 00:03:10 · 784 阅读 · 1 评论 -
SpringBoot整合POI实现Excel文件读写操作
Apache POI(全称:Poor Obfuscation Implementation),是Apache软件基金会的一个开源项目,它提供了一组API,可以让Java程序读写 Microsoft Office 格式的文件,包括 word、excel、ppt等。原创 2023-10-07 07:01:59 · 3080 阅读 · 0 评论 -
使用SDKMAN在Linux系统上安装JDK
SDKMAN是一个sdk包管理工具,通过自带的命令可以快速切换软件环境, 官网地址:https://sdkman.io/。本文使用的Linux发行版为Rocky Linux 9.2,可以当做CentOS的平替产品。3、使用sdkman安装openjdk21:https://sdkman.io/jdks。原创 2023-09-30 18:16:36 · 1413 阅读 · 0 评论 -
Java21 新特性
2023年9月19日 ,Oracle 发布了 [JDK21](https://www.oracle.com/news/announcement/ocw-oracle-releases-java-21-2023-09-19/),是自 JDK17 之后最新的 LTS 版本(long-term support,长期支持版)。LTS版本一般每两年发布一个,JDK目前的LTS版本有:JDK8 , JDK11 , JDK17 ,JDK21。原创 2023-09-30 14:47:29 · 7665 阅读 · 1 评论 -
SpringCloud Alibaba - Sentinel篇
Sentinel是阿里巴巴开源的一款微服务流量治理组件,主要以流量为切入点,从流量限流、熔断降级、系统负载保护等多个维度来帮助开发者保障微服务的稳定性。原创 2023-09-23 16:09:52 · 8728 阅读 · 2 评论 -
SpringBoot+MP操作DM8
基于springboot和mybatisplus与达梦数据库快速整合原创 2023-09-09 14:29:13 · 692 阅读 · 1 评论 -
Spring依赖注入
Spring两大特性:IOC控制反转、AOP面向切面编程。在项目中,注入spring容器中bean对象时,均可使用@Resource。目前IDEA不推荐使用@Autowried,原因:@Autowried是spring提供的,并非是Java标准,而@Resource是Java标准定义的,推荐使用。如果想使用@Autowried的话,建议通过构造器注入(成员字段上用final修饰不需要加注解,类上添加@RequiredArgsConstructor注解)。原创 2023-09-05 14:41:12 · 296 阅读 · 0 评论 -
接口参数校验
参数校验原创 2023-09-04 22:29:42 · 734 阅读 · 0 评论 -
枚举类的使用
枚举和Java类一样,也是一种引用数据类型,是jdk5.0中引入的一个新特性,其用于定义一组取值范围比较固定的数据。使用枚举的好处:可以提高代码的可读性,增加数据的安全性。原创 2023-08-20 23:22:52 · 176 阅读 · 0 评论 -
windows环境下安装elasticsearch、kibana
windows环境下安装elasticsearch和kibana。原创 2023-08-03 17:49:34 · 5633 阅读 · 3 评论 -
在windows上安装minio
在windows上安装minio原创 2023-07-30 00:57:51 · 2656 阅读 · 0 评论 -
配置IDEA在commit的时候自动格式化代码并清除无效引用
配置IDEA在commit的时候自动格式化代码并清除无效的import引用原创 2023-07-29 07:38:45 · 985 阅读 · 0 评论 -
使用阿里云OSS+PicGo搭建图床
需求:对于写博客来说,图片确实是一个重要的问题。手动上传图片一张两张还可以,如果图片过多就特别浪费时间啦。为此借助图床提高写博客时处理图片的效率。原创 2023-07-27 18:58:26 · 2937 阅读 · 2 评论 -
Easy-Es笔记
Easy-Es是一款ElasticSearch-ORM框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生。Easy-Es采用和MP一致的语法设计,能够显著降低ElasticSearch搜索引擎使用门槛,和额外学习成本,并大幅减少开发者工作量,帮助企业降本提效。在有些方面甚至比MP更简单,同时也融入了更多ElasticSearch独有的功能,助力您快速实现各种场景的开发。原创 2023-07-26 18:56:20 · 3890 阅读 · 2 评论 -
Elasticsearch笔记
ElasticSearch是一个分布式、RESTful 风格的搜索、数据分析引擎。原创 2023-07-26 01:28:13 · 1702 阅读 · 0 评论 -
解决使用@Field注解配置分词器失效问题(Spring Data Elasticsearch)
解决方案:在插入数据时,提前创建索引库和映射。原创 2023-07-25 22:34:02 · 1289 阅读 · 0 评论 -
SpringBoot读取配置的6种方式
通过了解springboot加载配置,可以更方便地封装自定义Starter。使用@Value注解:读取springboot全局配置文件单个配置。使用Environment接口:通过Environment接口动态获取配置。(将yml全部数据封装到Environment对象)使用@ConfigurationProperties注解:在配置类上使用@ConfigurationProperties注解并指定加载配置项的前缀,就可以批量读取配置注入自定义类的成员变量中。(自定义类需要提供setter方法)原创 2023-07-16 21:29:32 · 19947 阅读 · 0 评论 -
解决windows上端口占用问题
在开发中总会碰到端口占用问题,最后导致我们项目或服务无法正常启动。原创 2023-07-14 23:09:08 · 326 阅读 · 0 评论 -
Spring框架常见注解
Spring框架常见注解原创 2023-07-09 16:38:01 · 277 阅读 · 0 评论 -
RabbitMQ入门指南
RabbitMQ是基于Erlang语言开发的一款消息中间件,本文主要讲述RabbitMQ的安装与工作模型、以及SpringAMQP使用。原创 2023-07-03 12:29:43 · 841 阅读 · 0 评论 -
MyBatisPlus代码生成器插件
MyBatisPlus代码生成器插件。原创 2023-06-29 20:18:04 · 3460 阅读 · 9 评论 -
IDEA远程DeBug调试
当我们在开发过程中遇到一些复杂的问题或需要对代码进行调试时,远程调试是一种非常有用的工具。使用 IntelliJ IDEA 进行远程调试可以让你在远程服务器上的应用程序中设置断点、查看变量和执行调试操作。提供更方便的调试环境:通过远程调试,你可以在自己熟悉的 IntelliJ IDEA 开发环境中进行调试,而不需要在远程服务器上进行调试。快速定位问题:远程调试允许你逐行调试代码,一步一步地了解代码的执行过程。这有助于快速定位和解决问题,尤其是在复杂的代码逻辑或边界情况下。原创 2023-06-28 13:18:28 · 13051 阅读 · 1 评论 -
Gogs私服搭建
Gogs是一个轻量级的git服务(代码托管平台),基于Go语言开发,其设计和性能优化使得它适合于小型团队和个人开发者。它具有Web界面,可以让您方便地管理和浏览仓库、处理问题、进行代码审查和管理团队成员。原创 2023-06-27 22:39:11 · 6711 阅读 · 0 评论 -
【突发小技巧】手动将jar包安装到Maven本地仓库
如果开发工具刷新不到maven依赖,可以暂时使用这种方法解决。或者有的依赖jar包并没有开源,也可以用这种方法解决原创 2023-06-27 17:04:52 · 4324 阅读 · 0 评论 -
常见的SQL优化方案
SQL优化可以提高系统的性能、可扩展性和可维护性,降低成本和资源消耗,提供更好的用户体验。通过合理的SQL优化,可以充分发挥数据库的潜力,提高应用程序的效率和竞争力。原创 2023-06-26 12:25:47 · 1857 阅读 · 1 评论 -
JWT入门指南
JWT(全称:JSON Web Token),通过数字签名的方式,以JSON对象作为载体,在不同的服务终端之间安全的传输信息。JWT 是实现Token无状态会话认证技术的一种标准。JWT作用:通常用于web应用程序的 身份验证 和 鉴权 。JWT令牌由Header、Payload、Signature三部分组成,每部分字符串中间用`.` 拼接。JWT令牌的最终格式是这样的: Header.Payload.Signature。原创 2023-06-20 03:48:37 · 2294 阅读 · 0 评论 -
SpringAOP+自定义注解简单使用
使用SpringAOP 和自定义注解可以实现在特定方法上应用切面逻辑的功能。原创 2023-06-15 23:37:56 · 1166 阅读 · 0 评论