摘要: 常用 spring start https://start.spring.io/ spring-boot配置 https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#common-application- 阅读全文
posted @ 2020-02-17 15:31 cdfive 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1.idea 最近打开的文件个数 File->Settings->Editor->General->Editor Tabs->Tab Closing Policy->Tab limit 参考:https://www.cnblogs.com/yzhch/archive/2017/04/19/67342 阅读全文
posted @ 2018-06-13 12:43 cdfive 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 场景 某天在钉钉阿里云运维群收到提示,部分节点阿里云网络异常告警。 检查组内项目微服务发现有1个节点出现了假死现象,进程运行服务没有挂,CPU、内存等资源正常, 但访问服务提供的RESTAPI接口均无法响应,通过网关调用接口一直等待直到超时。 分析 通过jstack导出线程堆栈信息到文件: jps 阅读全文
posted @ 2024-04-07 22:01 cdfive 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 场景 测试环境,采用k8s容器化部署,通过rancher在web界面对资源进行管理; 各项目组有独立的网关,多个微服务(根据业务功能、高内聚低耦合划分); 网关是基于spring-cloud-gateway,定制扩展了一些功能,如鉴权、限流等; 微服务是基于spring-cloud各组件,eurek 阅读全文
posted @ 2024-03-15 22:29 cdfive 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 启动本地Kibana连接测试环境ElasticSearch,启动报错: [warning][migrations] Another Kibana instance appears to be migrating the index. Waiting for that migration to com 阅读全文
posted @ 2024-02-19 21:30 cdfive 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 背景 项目开发中经常会用到多线程,比如批量数据处理任务。 通过多线程并行处理,能够有效提高处理的效率和缩短处理时长。 假设某项任务需要处理1分钟,有1000个任务要处理,如果单线程每个任务顺序执行,处理时长为1000分钟(约16.67小时)。 如果10个线程同时处理,则时间缩短10倍,即100分钟( 阅读全文
posted @ 2023-10-31 21:21 cdfive 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Java项目中有计算精度要求高的场景(如金额计算)会使用`BigDecimal`类型来代替`Double`、`Float`。 本文整理了一些日常开发中使用`BigDecimal`值得注意的问题和代码实例。 1. `BigDecimal`初始化时入参应使用`String`类型 例1: ```java 阅读全文
posted @ 2023-09-03 22:28 cdfive 阅读(182) 评论(0) 推荐(0) 编辑
摘要: ## 背景 在项目开发前的设计阶段,我们会根据需求分析、业务梳理的结果进行领域建模。 通常有2种方式: 1. 实体设计优先 2. 数据库设计优先 无论哪种方式,最终会创建数据库、数据表。 通常在每一张表,会设计2个时间自动,创建时间和修改时间,这样在查询数据时能够清晰的看到数据行 是什么时候创建、什 阅读全文
posted @ 2023-06-29 22:56 cdfive 阅读(1374) 评论(0) 推荐(0) 编辑
摘要: ## 问题 最近协助渠道组开发新需求,封装实现了一个公共模块供不同渠道项目使用。 以前各个渠道项目有很多相似的菜单和功能,各自项目里自己的代码实现,表设计和代码风格迥异。 本公共模块对新需求的功能点进行抽象,通过设计回调接口来实现差异性,减少重复代码,提高模块复用性和可维护性。 目前有2个渠道项目接 阅读全文
posted @ 2023-05-31 22:40 cdfive 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 问题 java8提供了Stream API,配合Lambda表达式,让开发者能对集合对象进行便利、高效的操作。 在日常业务开发中,有个经常用到的场景是将List类型对象转换为Map类型对象,进行后续处理。 在java8之前,这种转换需要先new一个Map对象,遍历list然后通过Map#put来初始 阅读全文
posted @ 2023-04-26 23:34 cdfive 阅读(930) 评论(0) 推荐(0) 编辑
摘要: ## 背景 项目中某配置类`XxxConfig`定义了很多配置参数,通过Spring的`@Value`注解与配置中心的项目yml里的配置项关联。 ``` @Slf4j @Getter @Setter @RefreshScope @Configuration public class XxxConfi 阅读全文
posted @ 2023-03-20 19:29 cdfive 阅读(329) 评论(2) 推荐(0) 编辑
摘要: 问题 以前使用老版本IDEA时,如果一个Project下有多个基于SpringBoot的module,本地启动时需要一个个点击Debug或者Run来启动,无法一键启动和停止多个应用。 解决 新版本的IDEA考虑到了这个问题,增加了Services模块界面,可以统一管理所有SpringBoot应用,对 阅读全文
posted @ 2023-01-07 20:48 cdfive 阅读(589) 评论(1) 推荐(1) 编辑