- 博客(18)
- 收藏
- 关注
原创 Java Spring使用hutool的HttpRequest发送请求的几种方式
hutool为我们封装了发送请求的工具,我们一起来看看常用的有哪些吧!
2024-11-21 13:14:11
483
1
原创 Java替换jar包中class文件(亲测有用)
在我们开发过程中,有一些场景只需要修改某个Java类中的很少的代码,然后又不希望重新打完整的jar包,这个时候,就可以只将修改后的某个Java类的class文件替换掉原来jar包中的class文件,重新启动服务即可。
2024-11-20 13:38:59
1249
1
原创 Apache NiFi 自定义Processor处理器编写
当我们在使用ApacheNiFi时,当已有的processor不支持我们现有需求时,需要我们自己编写自定义处理器并且发布,以至于更好的支持我们的需求;下面我写一个将JSON数据转化为Excel并且输出到本地文件的自定义Processor Demo
2024-06-19 15:40:54
1161
原创 Apache NiFi 安装和使用
点击工具栏处的Processor,拖拽到工作区,搜索处理器ConvertAvroToJSON,因为在第一步中,我们通过sql查询到的数据为Avro格式,所以在这里需要转化为json在进行输出。可视化编程:基于Web图形界面,用户可以通过拖拽、连接、配置等操作完成基于流程的编程,实现数据采集、处理等功能。数据处理与分发:NiFi是一个统一的、与数据源无关的大数据集成平台,能够自动化管理系统间的数据流。高度可配置:支持高度可配置的指示图,用于指示数据路由、转换和系统中流转关系。配置完之后点击这里,启用连接。
2024-05-30 15:46:59
1812
2
原创 MybatisPlus修改某个特定字段的值
其中updateWrapper中.in(DataLayoutModuleInfo::getModuleCode, moduleCodeList)为条件。其中Service层的写法和baseMapper写发稍有不同,底层Service也是调用的baseMapper。当我们想修改数据时,想根据id或者其他的条件只修改对象的某几个字段而不想修改所有字段,下面这种写法简单且高效。set为你想要修改的字段和修改后的值。
2024-05-30 15:22:08
1937
原创 Java Map转换为JSONObject乱序且保留值为null的key
在Java中,当讲HashMap转化为JSONObject,会有key乱序且值为null的key被自动过滤掉,如以下代码。可以看到,输出的顺序并不是我们put的顺序,并且key_5没有了。
2024-05-11 15:14:25
913
3
原创 获取spring resource目录下的文件
在Spring框架中,你可以使用Resource接口和ResourceLoader接口来获取位于classpath、文件系统或其他位置的文件。对于resource目录下的文件(这通常指的是类路径下的一个目录),你可以使用ClassPathResource或者直接注入一个Resource类型的bean。
2024-04-30 15:12:25
474
1
原创 spring validation 常用注解详解
背景:当前端调用后端接口时,接口参数校验是必不可少的,spring validation提供了一系列校验规则,直接使用注解即可,无需手动写校验逻辑。Java代码,添加@Valid注解。
2024-04-30 14:41:25
670
2
原创 Java策略模式Demo
当我们的业务逻辑根据不同的场景要做不同的处理时,需要大量的if判断加处理,这样导致代码臃肿且拓展性低;下面我用一个简单的业务,使用策略模式去处理不同的场景;业务场景为在IM聊天中,根据不同的消息类型,去处理不同的消息。4.创建自定义注解MessageTypeAnnotation。2.创建各业务实现handler。6.创建消息handler工厂。5.创建参数上下文对象。
2024-04-19 11:05:13
400
1
原创 Java责任链模式Demo
4.定义每个执行单元业务处理handler,(order从小到大执行)5.定义责任链配置(项目启动时初始化执行顺序,以及调用执行入口)2.定义全局上下文参数。3.定义处理器抽象类。
2024-04-19 10:29:26
460
1
原创 分布式事务的几种实现方案
可靠事件模式2.0(去哪网使用)(需要第三方协调服务的健壮性):每个参与方都在本地维护一个本地事务表,A调B、C,A调B失败,A调C成功,B失败有可能是真的失败,也有可能是超时失败实际成功,那么在B端就记录的是成功,这时候需要一个第三方服务,复制协调对比每一方的事务结果,如果想刚刚这种情况B实际是调用成功了,则不进行回滚或者补偿,把A端记录B的调用改为成功,如果B确实是失败了,根据业务补偿B,或者回滚A和C都行。TCC模式:将一个任务拆分三个操作:Try、Confirm、Cancel;
2024-04-18 16:53:24
244
1
原创 Elasticsearch 查询优化策略有哪些
建立冷热索引库(可用固态硬盘存放热库数据,普通硬盘存放冷库数据),热库数据可以提前预热加载至内存,提高检索效率。控制字段的数量,业务中不使用的字段,就不要索引。如果业务场景中的过滤查询比较多,建议将。避免大型文档存储,默认最大长度为。设置大一些,以提高查询速度。不要返回无用的字段,使用。
2024-04-18 16:48:47
190
原创 线上CPU高问题排查
当我们的应用上线之后,运行一段时间发现CPU居高不下,现在我来带领大家一起排查问题所在。首先,使用top命令查看cpu高的进程,发现进程号为3633的进程cpu占用99%进入该进程,查看线程的cpu占用情况。获取到线程id后,转化为16进制。上图中定位到了问题出现在类。线上CPU高问题排查。
2024-04-18 16:20:19
348
原创 DragonflyDB调研
简介:全世界内存最快的数据库,Dragonfly是一种针对现代应用程序负荷需求而构建的内存数据库,完全兼容Redis和Memcached的 API,迁移时无需修改任何代码。相比于这些传统的内存数据库,Dragonfly提供了其25倍的吞吐量,高缓存命中率和低尾延迟,并且对于相同大小的工作负载运行资源最多可减少80%。Dragonfly始于一项实验,旨在探索如果在2022年重新设计内存数据库,它会是什么样子。
2024-04-18 16:12:27
1468
1
原创 Java spring替换word模版数据
在使用spring开发时,将word文件中的变量替换成自己想要的数据,如下图中,要讲word中的变量{{name}} {{age}},替换成 ‘张三’‘18’第三步:执行之后的效果。第二步:Java代码。
2024-04-18 15:35:29
742
1
原创 Spring项目打包后将resource下的资源压缩导致文件破损,文件流不可用
您可以在项目运行时指定外部文件的路径,或者将文件放在服务器的文件系统中,并在应用中引用这些外部文件的路径。这样可以确保Word文件不会被压缩,避免文件损坏的问题。当我们使用spring开发时,经常会将一些资源放到resource目录下,方便我们获取和使用,但是,在打包项目时,资源文件会被压缩到JAR或WAR包中,这可能导致Word文件等二进制文件损坏。例如,在Maven中,你可以使用maven-resources-plugin来排除对特定文件的压缩,如下图中,将docx排除。
2024-04-18 15:22:37
659
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人