- 博客(21)
- 收藏
- 关注
原创 一个列表优化五版还是差怎么办 只能重构啊~~
即时页面重构列表一、背景:二、重构原因:1、即使事件列表查询慢。2、即时事件列表查询会导致OOM。三、详细描述:1、查询列表慢:2、查询列表语句会导致OOM:3、三表联查查询的数据用到的有限,可以通过和前端交互修改接口,将查询复杂度降级。四、优化方案总结:五、需代码兼容:六、性能对比测试文档:一、背景:当前业务中有一个列表及时性要求很高,前端会五秒定时请求一次列表,由于之前数据库设计的原因,导致查询语句复杂且难以优化(优化好几版之后发现性能还是不达标),痛定思痛决定重构他。二、重构原因:1、即使事件
2022-01-12 15:46:24
383
原创 开发的压测文档能有多小心谨慎~
压测文档一、测试内容二、测试方法三、测试目标四、测试环境五、性能测试结果与分析1、同时发送测试性能截图:2、分开发送请求测试:性能总览:第一组对比测试:线程组配置:旧列表压测性能:聚合报告:汇总报告:接口响应时间图:重构后列表接口:聚合报告:汇总报告:接口响应时间图:第二组性能测试:线程组配置:旧列表接口压测性能:聚合报告:汇总报告:接口响应时间图:重构后列表接口:聚合报告:汇总报告:接口响应时间图:第三组新接口性能测试:线程数30:线程数100:线程数300:六、接口优化项:参考文档:安装:官网:操作参考
2022-01-12 15:32:39
1013
原创 RPM开机自启+退出保活,再不担心java进程掉了~
RPM的全名是Red Hat Package Manager,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理。简单说,RPM就是将部署统一化,一键化。
2022-01-10 16:02:47
590
原创 Spring boot的监听这么简单?
Spring 的监听这么简单?需求技术选型实现需求当接收msg = 6667时,除了原有逻辑外,还需记录日志,且处理其他复杂业务事件。技术选型监听器,优势其一,该业务是一个复杂业务逻辑,耗时,若同步执行则会导致用户体验极差。其二:服务解耦。其实监听器最主要的就是为了服务解耦,类似一些日志、发邮件、发短信等等业务操作都可以运用监听器处理。Spring中AlpplicationContext 对象(上下文对象)中提供了publishEvent()方法,实现了观察者设计模式,可以通过Applicati
2021-08-05 20:13:41
261
原创 java 1分钟的数据实现以5分钟为粒度的折线图,什么数据还不连续 ~~
这里写目录标题需求对于需求的思考实现初始化横坐标:查询真实数据替换数据效果需求老规矩先说需求:(本次偏业务)监测某数据A、B,展现当前时间前24小时之内的折线图,5分钟粒度。对于需求的思考首先是数据长什么样。存储的数据是1分钟粒度存的。但并不是每分钟都有,所以如果直接用sql查出来5分钟粒度的会有时间段没有数据,导致时间不连贯。实现在网上找了很多资料,并且询问了大佬之后,有了思路。第一步:初始化横坐标数据第二步:将真实数据求出来第三步:将真实数据中的数据替换初始化的数据初始
2021-07-13 16:29:57
626
原创 枚举还可以简化查询???
这里写目录标题前世今生(一入枚举深似海)前世 第一次听枚举是在单例模式,心想着枚举是啥,双重锁不香嘛?但是在一次批量查询过程中,爱上了枚举。业务背景: 需要根据不同得mapper 批量查询和插入不同的数据。 想着写一个通用得接口去查询,所以每次访问得mapper都是不一样的,那怎么知道每次请求的是哪个mapper呢?没错switch,所以,第一版就长这样:List < ? > list = Lists.newArrayList();switch (tableN
2021-03-04 17:04:54
146
2
原创 Spring boot admin监控包括链路追踪失效解决方案~~~
Spring boot admin监控包括链路追踪失效解决方案!!调研了很多监控系统,发现Spring boot admin可以通过简单的配置实现对Spring boot 的监控。
2020-12-04 14:29:13
829
原创 Mysql安装
https://blog.youkuaiyun.com/weixin_41688619/article/details/79879003
2020-08-24 16:55:33
120
原创 我能理解的策略模式!!
策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。介绍意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。如何
2020-08-05 14:25:09
152
原创 Play框架最快上手!
Play框架是什么Play是一个web开发框架,类似于我们通常讲的SSH、SpringMVC等,就是一个框架。Play是一个全栈框架,它包含了Web应用和Rest服务所需要的所有组件,如:http服务器、表单处理、跨域请求保护、强大的路由机制、国际化等等。Play集成了很多ORM层。安装play1、下载play压缩包,官网使用的是play-1.4.22、解压play压缩包。自己建一个文件夹,将Play解压到这个文件夹,如D:\play-1.4.23、配置环境变量。右键计算机->属性-&.
2020-08-04 03:25:09
2015
原创 SpringMVC最清晰的流程图 ~~ 全是你想要的~~
SpringMVC说明:实现用户与后台服务器进行交互.底层封装了Servlet,实现了数据的传输.
2020-08-03 18:36:45
377
原创 Play中xxx cannot be resolved to a type 错误解决方法
Play中xxx cannot be resolved to a type 错误解决方法1、Controller 与 models 的类名相同。2、如果你是复制的java,检查一下是否导入包。个人是复制的java,由于没用idea编译,所以不会自动导入包,导致报错。...
2020-04-13 16:03:19
561
原创 AOP报错
idea报错Caused by: java.lang.IllegalArgumentException: error Type referred to is not an annotation type: SoutHello报错原因:写了俩个环绕通知解决方案:删掉一个即可
2020-01-13 16:31:13
219
原创 Maven常见报错(一)
idea报错Failure to find com.bangcle:bangcle-parent:pom:0.0.1-SNAPSHOT in http://192.168.138.182:8081/repository/maven-public/ was cached in the local repository, resolution will not be reattempted unti...
2020-01-13 16:28:11
480
原创 Spring boot中 RestFull风格
第一种:package com.rabbitmqdemo.demo;import lombok.Data;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springfr...
2020-01-09 18:23:36
143
原创 GC最初步的认识!!
1、JVM堆划分JVM将堆内划分为eden,survior和Tenured/old空间,年轻代都在前俩,年老代在old2、标题三种GC方式:(1)Minor GC:用于清理年轻代区域,eden区域满了之后会触发一次Minor GC ,清理无用的对象,将有用的对象复制到Survivor1或者Survivor2中(2)Major GC:用于清理老年代区域。(3)Full GC:用于清理年轻代...
2019-12-21 21:10:16
428
原创 六种单例模式
适合小对象的单例/** 1. 如何保证如下类的实例对象在内存中只有一份 2. (1)让外界从一个池中取对象(通过池保证类的实例对象只有一个) 3. (2)让外界直接通过类的静态方法获取类内部创建的一个实例 */class Singlenton01{//应用场景:适合小对象 static Singlenton01 instance = new Singlenton01(); pr...
2019-12-21 20:33:44
282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人