自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Docker 容器详解及实操,从新手>入门>拿捏,巨详细

Docker是一种开源应用容器引擎,基于Go语言开发,允许开发者将应用及其依赖打包到可移植容器中。相比传统虚拟机,Docker更轻量级,启动更快(秒级),资源利用率更高,且通过容器隔离确保安全性。核心组件包括客户端/服务器架构、镜像(应用模板)、容器(运行实例)和Registry(镜像仓库)。Docker支持高效部署、环境一致性保证和跨平台迁移,显著提升开发运维效率。主要操作包括镜像管理(pull/push/save/load)和容器控制(create/start/exec/stop/rm)。通过分层存储和

2025-09-22 20:22:22 1369 4

原创 【ES】ElasticSearch 集成 SpringBoot 数据入库

本文介绍了Spring Boot集成Elasticsearch的实现方案,主要包括四部分内容:1)依赖配置,通过spring-boot-starter-data-elasticsearch实现ES集成;2)YAML配置,包含ES连接信息、集群节点等参数;3)核心编码实现,包括实体类映射、Repository接口定义及增删改查操作示例;4)数据库同步ES方案,通过多线程分页处理实现全量数据同步,并包含缓存状态管理机制。文中详细展示了从配置到业务实现的完整流程,重点解决了大数据量同步的性能问题,同时提供了操作状

2025-09-21 23:14:13 225

原创 【ES】ElasticSearch 数据库之查询操作 从入门>实践>精通 一篇文章包含ES的所有查询语法

本文从编码到实践的详细ElasticSearch的查询操作,包括主键查询、match全匹配、must和must_not布尔查询、should或查询以及过滤查询如_range、_exists、_ids和_term。示例代码展示了如何使用这些查询条件进行数据筛选,帮助读者理解ElasticSearch的查询语法。主要介绍ElasticSearch数据库之查询操作(match、must、must_not、should、_source、filter、range、exists、ids、term、terms)

2025-09-21 20:03:57 2190

原创 【ES】ElasticSearch 数据库详解&实例应用

文章摘要: ElasticSearch(ES)是一个分布式搜索和分析引擎,属于NoSQL数据库,具备高扩展性和实时搜索能力。其核心特点包括基于Lucene构建、支持分布式部署、百万级数据处理、多条件查询和高可用性。ES采用反向索引结构,与关系型数据库相比,其索引对应数据库,类型对应表,文档对应行。主要应用场景包括日志监控分析、电商搜索服务和JSON文档存储。ES的工作原理涉及数据写入、读取、检索和删除流程,通过协调节点和分片机制实现高效操作。典型应用包括ELK日志分析解决方案等。

2025-09-18 16:12:09 1183

原创 Spring IOC & AOP 原理详解以及实例应用

摘要:本文介绍了Java中两种重要的设计模式——AOP(面向切面编程)和IoC(控制反转),重点解析了它们在Spring框架中的应用。IoC通过依赖注入实现组件解耦,由容器管理对象生命周期;AOP则将横切关注点(如日志、事务)与业务逻辑分离。文章详细说明了二者的核心概念、特点及相互关系,并提供了完整的代码示例,包括IoC的依赖注入实现和AOP的切面编程应用。最后指出AOP和IoC的协同使用能够构建松耦合、易维护的应用程序,是Spring框架的核心优势所在。

2025-09-18 15:31:03 729

原创 “==”和equals的区别

摘要: "=="和equals的核心区别在于:"=="是运算符,比较基本数据类型的值或引用类型的地址;equals是Object类方法,默认比较地址,但常被重写为比较对象内容(如String类)。String类通过常量池优化存储,直接赋值与new创建对象地址不同。示例代码验证了不同场景下的比较结果,并展示了final变量在字符串拼接时的编译优化特性。重写equals需满足自反性、对称性等原则,而"=="始终严格比较值或地址。

2025-02-11 11:08:52 2143

原创 Git-2-:Cherry-Pick 的使用场景及使用流程

git cherry-pick 是用来从一个分支中选择一个或多个特定的提交,并将这些提交应用到当前分支。这样可以只选择需要的更改,而不是合并整个分支。

2025-01-10 14:06:23 1244

原创 Git-1-:merge合并、冲突解决、强行回退的终极解决方案

git合并、冲突、回退的解决方案

2025-01-10 12:01:50 972

原创 使用specification校验入参对象,优化代码质量

通过specification 校验入参对象的封装,可以大大拆解接口代码的复杂性,提高接口的可读性,便于提高后期接口维护工作的效率

2025-01-10 10:21:21 206

原创 MySql-4-查询字段类型是JSON的结果映射-直接上代码

MySql-4-查询字段类型是JSON的结果映射

2025-01-09 15:44:26 233

原创 MySql-3-递归查询父级下的最子节点集合-直接上代码

3、递归查询父级下的最子节点集合。

2025-01-09 15:30:14 155

原创 MySql-2-递归查询父级下所有的子节点集合-直接上代码

递归查询父级下的所以子节点集合。

2025-01-09 15:25:37 215

原创 MySql-1-递归查询Tree结构-直接上代码

MySql递归查询Tree结构-直接上代码

2025-01-08 17:25:05 169

原创 Jar包上传线上仓库流程

1 上使本地做載jar到线上仓摩、通过 cmd 命令 执行以下命令行 (执行时命令行不能有换行, -Dpomfile 到 -Dfile 用空格隔开即可)// 上fjar对应的 sources 源码文件、 绝度路径上传 (源码不影响依赖包的使用)// 上传jar对应的pom 文件。// 上使jar耐应的jar 文件、艳度路径上传。1、准备好本地已经下载好的jar相关文件。2、编写上传执行命令。// 有效的上传地址。

2024-01-23 16:21:21 691

原创 分布式TCC事务

分布式事务\n随着互联网技术的发展与数据体量的扩增,软件系统逐渐由单体应用演变为分布式系统/微服务应用。分布式系统把一个单体应用系统拆分成可独立部署的多个微服务,很多场景下需要服务之间远程协作才能完成事务操作,这种分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务。分布式系统中实现事务,其实是由多个本地事务组合而成。对于分布式事务而言几乎满足不了 ACID。\n\n场景介绍\n跨JVM进程产生分布式事务\n典型的场景就是微服务架构:微服务之间通过远程调用完成事务操作。比如:订单微服务和

2023-07-28 17:11:28 121

原创 《Java基础篇》JavaBean的生命周期·作用域·通俗易懂

首先是实例化、属性赋值、初始化、销毁这 4 个大阶段再是初始化的具体操作,有 Aware 接口的依赖注入、BeanPostProcessor 在初始化前后的处理以及 InitializingBean 和 init-method 的初始化操作;(或**@PostConstruct注解**)销毁的具体操作,有注册相关销毁回调接口,最后通过DisposableBean 和 destory-method 进行销毁。(@PreDestory注解也可实现)

2023-06-22 15:33:13 1233

原创 SnowFlake 雪花算法实现以及详解

SnowFlake 中文意思为雪花,故称为雪花算法。在2014年开源 scala 语言版本。对于每一个雪花算法服务,需要先指定 10 位的机器码,这个根据自身业务进行设定即可。例如机房号+机器号,机器号+服务号,或者是其他可区别标识的 10 位比特位的整数值都行。可以将雪花算法作为一个单独的服务进行部署,然后需要全局唯一 id 的系统,请求雪花算法服务获取 id 即可。雪花算法的原理就是生成一个的 64 位比特位的 long 类型的唯一 id。

2023-06-20 21:16:25 607

原创 PostgreSQL和mysql语法区别详解通俗易懂

设置自增序列:nextval('xiang_base.cloud_new_id_seq'::regclass)如果想对拼接的值做排序,可以在拼接符号后面加。在3000W数据的时候,建议使用第一种。

2023-06-20 18:05:08 4888 1

原创 ZooKeeper 总结最全面的面试题·没有之一

watcher event 异步发送 watcher 的通知事件从 server 发送到 client 是异步的,这就存在一个问题,不同的客户端和服务器之间通过 socket 进行通信,由于网络延迟或其他因素导致客户端在不通的时刻监听到事件,由于 Zookeeper 本身提供了 ordering guarantee,即客户端监听事件后,才会感知它所监视 znode发生了变化。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。

2023-06-11 22:41:53 558

原创 《Java 基础篇》之函数式接口

有且仅有一个抽象方法的接口。Java中的函数式编程体现就是Lambda表达式。所以函数式接口即可以适用于Lambda使用的接口。如何检测一个接口是不是函数式接口?放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败。");i.show();注意:自定义函数式接口时,@FunctionalInterface是可选的,就算不写这个注解,只要保证满足函数式接口定义的条件,也照样是函数式接口。

2023-06-11 18:50:03 8511 2

原创 《Java 基础篇》之终止线程的几种方式

一、正常运行结束所谓正常运行结束,就是程序正常运行结束,线程自动结束。

2023-06-11 14:01:25 597

原创 Mybatis 主流经典面试题·吊打面试官

延迟加载的基本原理是,使用CGLIB创建目标对象的代理对象,当调用目标方法时,进入拦截器方法,比如调用a.getB().getName(),拦截器invoke()方法发现a.getB()是null值,那么就会单独发送事先保存好的查询关联B对象的sql,把B查询上来,然后调用a.setB(b),于是a的对象b属性就有值了,接着完成a.getB().getName()方法的调用。有了namespace,自然id就可以重复,namespace不同,namespace+id自然也就不同。有联合查询和嵌套查询。

2023-06-11 11:20:05 347

原创 SpringCloud与Dubbo的区别(全面详解)深入浅出

Eureka集群中各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。Invoker是实体域,它是Dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。当我们通过一个服务器修改数据后,该服务器会向另一个服务器发送请求,将数据进行同步,但此时,该数据应处于锁定状态,不可再次修改,这样,如果此时我们想服务器发送请求,则得不到相应,这样就不能A,高可用。

2023-06-10 18:31:34 16967 3

原创 Gerrit Push 之后的如何回退操作,有图有真相,一目了然,轻松拿捏

(1)是通过 merge 拉取合并代码,这个时候如果你没有 push merge 的权限的话,通过这种方式提交不了,(2)通过 rebase 拉取合并代码,这时候没有merge 记录,不会受 push merge 权限的影响。// src/main/java/messagelog/ --add这个目录下的Java文件。勾选了Amend 就不会重新生成change-id,只是在上一次的提交版本上修复提交。git commit -m "提交备注信息"二、拉取代码,然后提交代码流程。输入 :wq 回车。

2023-02-06 09:26:20 460

原创 Springboot快速集成RocketMQ

零基础,Springboot快速集成RocketMQ

2023-01-17 16:51:58 6595

原创 WebSocket零基础极速上手开发指南

WebSocket零基础极速上手开发指南

2023-01-13 15:42:04 854

原创 极光推送零基础极速上手开发指南,快速搭建后台推送服务

极光推送零基础极速上手开发指南,配置、工具类封装、业务调用、应用创建等环节的操作。一目了然,

2023-01-13 11:28:27 1178

原创 Git 通过change push代码时,失败 提示没有找到change-id

首先通过git reset --mixed 71d4******************************(版本号),回退commit 操作。地址:D:\HaierWork\jsh-msg\.git\hooks下的 丢失了这个文件。从之前下载的工程中复制commit-msg文件到.git/hooks目录下即可解决该问题。src/main/java/messagelog/ --add这个目录下的Java文件。以上两个文件同时存在在可以在 执行 commit 命令时正常生成 change-id。

2022-12-28 10:33:59 2203

原创 MySQL 存储过程详解

目录1.存储过程简介2.存储过程的优点3.MySQL的存储过程3.1.MySQL存储过程的创建3.1.1创建语句格式3.1.2.声明分割符3.1.3.参数3.2.通过存储过程批量插入数据 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据

2022-12-04 14:40:30 805

原创 MySql事务隔离级别与实现原理

目录一、隔离级别二、隔离级别的底层实现2.1.读未提交隔离级别的实现2.2.读已提交隔离级别的实现 2.3.可重复读隔离级别的实现 2.4.串行化隔离级别的实现2.5.读的分类 众所周知,事务的隔离级别有四个等级,分别是读未提交(RU),读已提交(RC),可重复读(RR)与串行化(Serial),通过设置隔离级别,可以解决事务并发过程中导致的脏读,不可重复读与幻读。那么隔离级别解决这些问题的原理或逻辑是什么呢二级 读已提交快照读:读MVCC,写加排他锁当前读:读加行锁,写加排他锁读MVCC,写

2022-12-03 15:03:53 1079

原创 数据库引擎 Innodb

目录一、Innodb的行锁和表锁1.1.什么是Innodb?什么是行锁和表锁?1.2.行锁和表锁的特点1.3.分类1.4.注意事项1.5.深入理解锁行锁:表锁1.如果对某几行上行锁,但是没有索引,会变成表锁.行锁是针对索引来实现的其实这里不太恰当的,并不是对变成表锁,而是对整个所有的数据行加行锁,因为在不使用索引的情况下,mysql并不知道哪些符合条件。会全部加锁返回。 举例: 在一个事务中执行. SELECT * FROM account WHERE NAME IN(‘张三’,‘嗨

2022-12-03 12:02:14 262

原创 @Transactional注解

一、使用范围@Transactional注解 可以作用于接口、接口方法、类以及类方法上。当用作类上时,该类上的所有 public 方法将都具有该类型的属性。 当用作方法上是,该方法所在类上的注解将失效,该注解只能应用在 public 方法上。 不建议用在接口或接口方法上,因为这只有在使用基于接口的动态代理是才会生效!注意:只有来自外部的方法调用才会引起事务行为,类内部方法调用本类内部的其他方法并不会引起事务行为。二、注解属性value属性:当配置多个事务管理器时,可以使用该属性指定选择

2022-11-17 21:57:45 747

原创 Springboot工作原理详解

5、在解析@Import注解的时候,会有一个getImport()方法,从主类开始递归解析注解,把所有包含@Import的注解都解析到,然后在processImport()方法中对import的类进行分类,例如AutoConfigurationImportSelect归属于ImportSelect的子类,在后续的过程中会调用DeferredImportSelectorHandler类里面的process方法,来完成整个EnableAutoConfiguration的加载。

2022-11-15 16:30:00 18005 1

原创 Dubbo 与 SpringCloud 的关系

Dubbo:是基于java接口及Hession2序列化的来实现传输的,Provider对外暴露接口,Consumer根据接口的规则调用。也就是Provider向Zookeeper注册的是接口信息,Consumer从Zookeeper发现的是接口的信息,通过接口的name,group,version来匹配调用。Consumer只关注接口是否匹配,而对此接口属于什么应用不关心。当然接口的注册信息里会包含应用的ip,hostname等Spring Cloud:是一个微服务框架,相比Dubbo等RPC框架,。

2022-11-12 05:30:00 243

原创 CS架构和BS架构的区别(通俗易懂)

●安全性能能够非常容易确保,C/S通常面向相比固定的用户群,程序越发注重过程,它能够对权限实行多层次校验,提供了更安全的存取形式,对信息安全的控制才能非常强。●须要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不可以完成迅速部署安装与配置。●开发、维护费用较高,须要拥有肯定专业水准的技术人员才可以结束,发生一次升级,就全部客户端的程序全部须要更改。●可以足够表现客户端的处理能力,很多工作能够在客户端处置以后再提交给服务器,于是CS客户端响应速度快。●分布性强,客户端零维护。

2022-11-11 09:20:07 8840

原创 Redisson分布式锁实现原理

redisson

2022-11-10 18:00:46 538

原创 数据库优化详解分析

数据库优化

2022-11-10 15:30:30 1084

原创 Java 序列化和反序列化详解完整版

Java 序列化 反序列化

2022-11-09 18:08:35 2697

原创 Mybatis 工作原理详解

mybatis:缓存、防止注入、标签使用,结果集封装从底层实现

2022-11-09 16:05:13 6116

原创 多线程和线程池工作原理解析深入浅出

调用start方法方可启动线程,而run方法只是thread类中的一个普通方法调用,还是在主线程里执行。

2022-11-08 17:34:12 839

物流base.login.zip

物流base.login.zip

2025-03-21

物流financial.financial.zip

物流financial.financial.zip

2025-03-21

物流common.common.zip

物流common.common.zip

2025-03-21

物流business.zip

物流business.zip

2025-03-21

物流portal.portal.zip

物流portal.portal.zip

2025-03-21

物流base.base.zip

物流base.base.zip

2025-03-21

JpushUtil.java

JpushUtil.java

2023-01-11

mule esb mule esb 开发工具

mule esb mule esb 开发工具

2022-11-03

mule esb mule esb打包手册文档

mule esb mule esb打包手册文档

2022-11-03

Tomcat Tomcat Tomcat Tomcat

Tomcat Tomcat Tomcat Tomcat

2022-11-03

git git git 版本管理工具

git git git

2022-11-03

MySQL MySQL MySQL MySQL jar

MySQL MySQL MySQL jar

2022-11-03

Postman Postman Postman

Postman Postman Postman

2022-11-03

greenplum greenplum jar 文件

greenplum greenplum jar 文件

2022-11-03

java jdk.8.0-45.rar 安装包

java jdk.8.0-45.rar 安装包

2022-10-31

dbeaver 数据库连接工具

dbeaver 数据库连接工具

2022-10-31

Java JDK.rar资源下载连接

Java JDK.rar资源下载连接

2022-10-13

Linux run-jar.sh 下载连接

Linux run-jar.sh 下载连接

2022-10-13

xxl 金仓数据库适配项目

xxl 金仓数据库适配项目

2022-10-09

空空如也

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

TA关注的人

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