自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven 打包时,无法将scope为system的jar文件打包进war和jar中

-- maven 编译插件 -->-- SpringBoot 的maven 编译插件 -->

2024-12-26 13:15:23 1432

原创 Function 接口告别冗余(屎山)代码

通过SFunction(基于Java 8的Lambda表达式封装)减少代码重复,从而提升代码的优雅性和可维护性。

2024-11-28 10:56:12 1099

原创 java开发-责任链模式

既然每个关卡中都有下一关的成员变量并且是不一样的,那么我们可以在关卡上抽象出一个父类或者接口,然后每个具体的关卡去继承或者实现。如何解决这个问题,我们可以通过链表将每一关连接起来,形成责任链的方式,第一关通过后是第二关,第二关通过后是第三关....这种代码不仅冗余,并且当我们要将某两关进行调整时会对代码非常大的改动,这种操作的风险是很高的,因此,该写法非常糟糕。实现抽象处理者的处理方法,判断能否处理本次请求,如果可以处理请求则处理,否则将该请求转给它的后继者。进入第二关需要第一关的游戏得分大于等于 80。

2024-11-27 09:37:49 519

原创 SpringBoot 启动时自动执行代码的几种方式整理

Spring应用启动过程中,肯定是要自动扫描有。

2024-11-21 13:54:58 692

原创 妙用Java 8中的 Function接口,替代if...else

定义一个抛出异常的形式的函数式接口, 这个接口只有参数没有返回值是个消费型接口。

2024-11-19 17:16:53 1199

原创 Spring是如何管理事务的之@Transactional注解详解

如果想要方法 1 和方法 2 均单独保持事务一致性怎么办呢,刚说过了,如果不是用代理调用 @Transactional 注解是不生效的,所以一定要使用代理调用实现,然后让方法 1 和方法 2 分别单独开启新的事务,便 OK 啦。第一点要注意的就是在 @Transactional 注解的方法中,再调用本类中的其他方法 method2 时,那么 method2 方法上的 @Transactional 注解是不!答案是结果和上面是一致的。通过代理对象在目标对象前后进行方法增强,也就是事务的开启提交和回滚。

2024-11-18 09:08:52 2147 3

原创 每天100w次登陆请求, 8G 内存如何设置JVM

对象进入老年代的动态年龄判断规则(动态晋升年龄计算阈值):Minor GC 时,Survivor 中年龄 1 到 N 的对象大小超过 Survivor 的 50% 时,则将大于等于年龄 N 的对象放入老年代。核心的优化策略是:是让短期存活的对象尽量都留在survivor里,不要进入老年代,这样在minor gc的时候这些对象都会被回收,不会进到老年代从而导致full gc。

2024-11-15 09:28:22 1159

原创 实现服务接口实现动态上传jar包热部署

开发系统过程中遇到的一个需求,系统给定一个接口,用户可以自定义开发该接口的实现,并将实现打成jar包,上传到系统中。系统完成热部署,并切换该接口的实现。

2024-11-13 08:52:44 568

原创 Spring Boot 创建定时任务数据库设置执行时间参数

创建定时任务非常简单,主要有两种创建方式:一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer). 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就大派用场了。

2024-11-12 17:13:14 2421

原创 「Elasticsearch」ES重建索引数据无缝迁移

假设之前我们已经存在一个blog索引,因为更换分词器需要对该索引中的数据进行重建索引,以便支持业务使用新的分词规则搜索数据,并且尽可能使这个变化对外服务没有感知,大概分为以下几个步骤:​。,已经执行的数据【例如更新写入的】仍然存在于目标索引,此时任务终止,还会有数据没有被执行,也就是漏数了。,任务在检测到数据冲突的情况下,不会终止,会跳过冲突数据继续执行,直到所有数据执行完成,此时不会漏掉正常的数据,只会漏掉有冲突的数据。如果这样设置了,也就不存在更新数据的场景了【冲突数据无法写入】,我们也可以把。

2024-11-11 10:23:51 2309

原创 clickhouse安装极其操作

3. 查询路由和负载均衡:当客户端发送查询请求时,ClickHouse集群会使用哈希算法将查询路由到正确的节点上,并通过负载均衡算法来均衡各个节点的查询负载。:进入bin目录,使用命令:zkServer.sh start 启动上面三台zookeeper服务,再用命令:zkServer.sh status查看当前服务的主从状态,如下图所示,从下面的实例中,也就是建立好集群模式后,开始创建分布式表之前,创建的本地表、分布式表只需要在一台机器上创建完成,别的机器便能自动完成表格的创建;

2024-11-05 16:32:19 1583

原创 curl 命令操作ES更新数据

curl -u 账号/密码 -H "Content-Type:application/json" -XPOST http://IP:端口/索引名称/_update_by_query?"query":{"terms":{"字段名":["字段值"]},"_source":["返回字段"]}}'

2024-10-29 14:28:56 727

原创 【无标题】Springboot设置多数据源,多个数据库同时操作

Spring的多数据源支持—AbstractRoutingDataSource,AbstractRoutingDataSource定义了抽象的determineCurrentLookupKey方法,子类实现此方法,来确定要使用的数据源,看下下面它的源码。所以我们只要写一个自定义类去继承上面这个AbstractRoutingDataSource类,并重写determineCurrentLookupKey 方法即可。spring框架本身支持多数据源,我们查看他的定义。(1)启动类中配置移除默认的数据库配置类。

2024-10-25 09:39:59 642 1

空空如也

空空如也

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

TA关注的人

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