自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

~单人舞~的博客

一点小心得和整理的java小视角...

  • 博客(83)
  • 资源 (25)
  • 问答 (4)
  • 收藏
  • 关注

原创 工作纪实47-关于线程使用的几点思考

在某些个人认为不是瓶颈的中间件使用比如redis的mget或者pipelineGet都偶尔超过10ms甚至30ms;最近线上存在一些cpu的锯齿情况,类似于推荐项目就一个核心接口,业务逻辑和计算链路很长;

2024-03-29 15:55:41 243

原创 工作纪实46-关于微服务的上线发布姿势

微服务,发布上线,升级

2024-03-07 15:39:09 384

原创 工作纪实45-记一段多线程批处理的代码

多线程、批处理

2024-02-29 13:49:38 100

原创 工作纪实42-内存泄漏(线上问题大乱斗)

还没找到原因,监控里面发现实例的内存使用率每天增加5%,这两天排查一下,哈哈哈。

2024-01-02 14:20:06 342

原创 工作纪实41-多线程写了一段还不错的代码

最近换的部门,对接口性能要求非常高,单台机器的qps高峰大概在300左右,导致我非常谨慎,各种catch和兜底。遇见个场景,2个线程处理任务,必须都在10ms内返回(一共10ms),如果返回不了,就不处理;

2023-12-29 17:50:56 367

原创 工作纪实40-内存飙高(线上问题大乱斗)

内存飙高

2023-12-28 17:53:07 370

原创 工作纪实40-使用redis的几种姿势

线上查问题看某个redis的key值,记录一下。1.直接使用telnet进行连接(贼拉方便)2.使用redis-cli连接。网上一大堆,不做说明。

2023-12-28 14:50:49 657

原创 工作纪实39-排查CPU飙高(业务慢查询)

cpu飙高场景

2023-12-27 10:21:33 519

原创 工作纪实38-排查cpu彪高(死循环)

昨天晚上上线了一个服务,第二天发现CPU持续飙高到70~90%,触发平台的自动扩容,后定位出问题后降低到3%此处由于没有保留现场信息,实际查询的线程栈,可以观察到业务类的X行定位信息,定位死循环。0x926: 线程id,0x是16进制,926是第3步得到的线程id。2125是服务进程的pid,jps可以查看。4.查看对应线程栈信息。

2023-12-19 15:28:36 374

原创 工作纪实38-ES分页数据问题

之前分页查询有接ES,随着系统使用时间数据量不断增加,会有如下报错。关键信息就是 Result window is too large, from + size must be less than or equal to: [10000] but was [100001]方案一、接口层面限制查询到10000条,业务端给提示让使用方继续筛选数据。方案二、使用其他的深分页策略:scroll 或者scroll after。方案三:创建索引时设置【不推荐】

2023-09-13 00:23:51 351

原创 工作纪实37-mybatis-plus关闭结果集输出log

1.springboot+mybatis-plus+logback.xml组合,运行mapper会把sql查询会把结果也打印出来),但是就是不想让它输出到控制台,今天就来记录一下如何操作才能不把sql结果集打印出来,当然sql语句还是会打印的。:注释掉yml中mybatis-plus configuration log-impl输出到控制台的配置;修改后再次查看sql打印情况,发现只有sql语句、参数、结果集中数据的数量被打印出了,效果达到。:在yml中增加log4j日志的配置。

2023-08-22 01:25:01 1669

原创 工作纪实36-ES跨集群迁移

logstash效率最高,elastcidump受限于node环境。

2023-08-14 16:10:33 1187

原创 工作纪实36-ES查询条件过长

1.设置es配置文件elasticsearch.yml。错误信息提示:最大子句数量限制为1024。

2023-07-28 18:34:05 738

原创 工作纪实35-API做数据清洗限流

接口调用三方服务做异步数据清洗,但是怕把别人的服务调崩了,对接口加入Guava的限流策略。并发情况下,可以保证流速。

2023-07-28 10:45:37 95

原创 工作纪实34-emoji表情包存储异常,修改db的字段类型

线上问题,发现emojo表情写入数据库出现异常。修改mysql字段的字符集。

2023-07-27 22:38:55 198

原创 工作纪实33-给定数据区间对应的指标类型,根据当前值命中数据区间

背景: 给定一个数值value和数据连续区间[0,10,100],判断对应值是否达标。思路:左侧右侧各加入一个值,循环判断数据区间。

2023-06-30 11:20:02 115

原创 工作纪实-32-lambda多字段排序

参考文献:https://www.cnblogs.com/east7/p/17180704.html。

2023-06-15 19:24:38 66

原创 工作纪实-33-日期函数大乱斗

公司最近要做数据指标的统计,周同比和月同比一些时间换算分析,日期函数大乱斗。

2023-05-23 09:53:27 56

原创 工作纪实_32-倒排期需求python实用性上场

为了更好的将精力放在业务实现上,因此写了一个python来处理这种数据导入的问题,java写实在是太麻烦了,不管是POI还是easyExcel,而且最主要是这个后面完全会调三方接口来做,只是一个过渡期,大pyhton上场。产品提了一个倒排期需求,业务完成度和时间都有一定要求;必须完成,且有一部分数据是通过excel进行导入,且数据不算太大,但是列很多,一个月导一次。写个插入接口,齐活!

2023-05-12 14:27:15 117

原创 工作纪实-31-Excel之VLookUp函数关联查找合并两批数据

背景:有两批数据,第一批:任务总个数,第二批:任务完成数,需要统计出每个门店的任务完成率。

2023-05-05 23:33:23 302

原创 工作纪实_30-MQ消费redis延时处理合并消息

公司的上游数据,通过MQ给我们做数据同步,但是消息存在各个业务节点,且短时间内可能发送多次,并且我们收到消息反查上游服务时,他们的业务数据存在一定延时,这就导致收到的消息,并不一定是他们最新的。

2023-04-04 15:43:05 214 1

原创 工作纪实_29-SpringBoot启动配置使用jvm参数

【代码】工作纪实_29-SpringBoot启动配置使用jvm参数。

2023-03-28 20:07:43 784

原创 git-常用代码

git操作

2023-02-01 17:41:09 261

原创 工作纪实_28-lambda复杂表达式

lambda复杂处理

2022-10-08 00:00:26 131

转载 工作纪实_27-ES处理text字段对应的List<String>存储以及精准/模糊搜索

最近在工作中需要对ES新增一个在java中属于List的es字段,搜索这块需要去处理精准和模糊匹配的问题。

2022-08-25 14:14:29 1857

原创 公司图片111111

[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上https://传(imblog.csngg.cn/9477bba53e584159bb4d1167229b4a6d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5beu5LiN5aSa56iL5bqP5ZGY,size_20,color_FFFFFF,...

2022-04-02 14:19:53 123

原创 存储图片11111

在这里插入图片描述

2022-02-03 18:00:59 375

原创 SpringCloud源码解读【01】-OpenFeign

一、Open Feign声明式 RESTful客户端;类似于 RestTemplate,OpenFeign是对 JDK的 HttpURLConnection(以及第三方库 HttpClient 和 OkHttp)的包装和简化,并且还自动整合了 Ribbon。OpenFeign会完全代理 HTTP 的请求,在使用过程中我们只需要依赖注入 Bean,然后调用对应的方法传递参数即可。Feign的第一个目标是减少HTTP API的复杂性,希望能将HTTP调用做到像RPC一样易用;这对程序员而言屏蔽了 HTT

2022-01-19 18:24:17 1063

原创 Gitlab代码回滚

在当前branch上多次commit代码并且push后,发现不符合要求,需要回滚到特定的版本。步骤如下:1.git log 找到要回滚的提交版本2. git reset --hard {commitId}$ git reset --hard d580ea7dab097d8ea6d658adbc7e9d57ef22669a EAD is now at d580ea7da add a constellation test casegit push -f本地回滚之后,需要将改变推送到服务器,执

2021-07-02 17:09:00 753

原创 IDEA找不到或无法加载主类

场景:启动springboot main方法找不到主类前提:保证包配置没问题,pom文件父子依赖关系没问题可以尝试使用下面的组合套餐1.清除idea缓存2.mvn clean install

2021-03-27 10:28:54 198

原创 工作纪实_26-SpringCloud网关代理服务配置负载出现gateway IllegalStateException: Invalid host lb://xxxxx

SpringCloudGateway网关配置:spring: cloud: gateway: #开启基于注册中心的路由表且支持实例名小写 discovery: ## 是否可以通过其他服务的serviceId来转发到具体的服务实例。默认为false locator: enabled: false # 是否支持serviceId小写模式 lower-case-service-id:

2021-03-26 18:57:53 1077

原创 windows环境杀死占用某个端口的进程

netstat -ano |findstr 8002tasklill /f /t /im 进程号

2021-03-24 18:26:33 96

转载 OAuth2.0第一篇-概念

目录OAuth2.0解读一、含义二、四种授权流程2.1 授权码第一步第二步第三步第四步2.2 隐藏式第一步第二步2.3 密码式第一步第二步2.4 凭证式第一步第二步token令牌的使用1. 请求授权资源时携带令牌2. 更新令牌OAuth2.0解读前言:参照的是阮一峰老师的博客,基本上是照搬过来的,看别的资料找不到全乎的,OAuth2.0的英文官网文档看不下去,只能是先搬过来了,自己吃透以后再去做实战!阮一峰老师博客的OAuth2.0地址: http://www.ruanyifeng.com/blog/

2021-03-12 10:59:13 615 1

原创 工作纪实_25-SpringCloud整合sentinel问题汇总

sentinel官方文档1.纠结于sentinel 包的引入很多文章、资料都贴着下面的包<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-annotation-aspectj</artifactId> <version>1.6.3</version></dependency><depen

2021-02-23 16:22:10 738 2

原创 工作纪实_24-使用@Sl4j注解但是确无法使用log.info打印日志

如果出现这种情况,第一时间先执行打包命令,这么做是为了检查log日志包是否齐全,此次我打包报错是找不到org.slf4j包,很明显,我们检查一下相关的依赖即可:<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.0-alpha1</version></dependency

2021-02-22 16:44:49 1786 1

转载 工作纪实_23-git忽略文件commit不生效的问题

当我们将 .gitignore 文件配置好后,却往往不能失效。这是因为 .gitignore 只能忽略那些没有被追踪(track)的文件,因为 git 存在本地缓存,如果文件已经纳入了版本管理,那么修改 .gitignore 是不能失效的。那么解决方案就是要将 git 的本地缓存删除,然后重新提交。git rm -r --cached .git add .git commit -m "update .gitignore"...

2021-02-07 17:12:02 264

原创 工作纪实_22-搭建分布式项目时使用spring-session替代token

分布式微服务`解决方案分布式环境下,用户登录后的状态信息,一般有两种解决方案:1.Token步骤:使用公钥、私钥对token进行相应的解密和加密操作,再通过网关层将用户信息通过header传递到各个服务,客户端服务接收到请求时候,解析header即可2.服务之间的feign远程调用,通过网关层传递的请求中的header信息,解析出用户信息的同时,利用fein将用户信息透传到其他服务2.分布式Session单体服务下,session可以很好的帮助我们解决用户身份的会话状态问题,因为此刻我们只

2021-01-21 17:26:02 676

原创 CAS全面解读

CAS自旋锁悲观者与乐观者的做事方式完全不一样,悲观者的人生观是一件事情我必须要百分之百完全控制才会去做,否则就认为这件事情一定会出问题;而乐观者的人生观则相反,凡事不管最终结果如何,它会先尝试去做,大不了最后不成功。这就是悲观锁与乐观锁的区别,悲观锁会把整个对象加锁占为自有后才去做操作,乐观锁不获取锁直接做操作,然后通过一定检测手段决定是否更新数据。底层原理乐观锁的核心算法便是CAS[Compare And Swap],它是借助C来调用CPU底层指令实现的,基于硬件实现,不需要进入内核,不需要

2020-12-29 11:20:26 220

原创 CAS无锁自旋解读

目录Volatile全面解读一、相关概念JMM同步规则1. 线程解锁前,必须把共享变量的值刷新回主内存2. 线程加锁前,必须读取主内存的最新值到自己的工作内存3. 加锁解锁是同一把锁二、`volatile`作用2.1 保证可见性2.2 不保证原子性2.3 禁止指令重排示例1示例2三、演示代码Volatile全面解读volatile是Java虚拟机提供的轻量级的同步机制,可以理解是是乞丐版的synchorized一、相关概念JMMjava memory model本身是一种抽象的概念并不真实存在,它

2020-12-27 22:26:24 220

原创 工作纪实_21-搭建脚手架对spring注解bean顺序管理引发的思考

最近在给公司搭建一套脚手架,其中有对一些通用功能,比如shiro授权模块的代码,以及网关解析token的代码做一些封装,发现对于spring的bean关系管理,存在一些值得记录的问题场景 1.A类代码中,依赖于B类中注入的一个bean如果搭建过项目的工具包,封装过一些功能的同仁肯定会遇见这个问题,举个小列子:@Configurationpublic class A{ @Bean public B b() { return new B(); }}@Configurationp.

2020-12-18 16:34:35 112 2

es-head,谷歌浏览器插件,解压可用

es-head,谷歌浏览器插件,解压可用

2023-08-01

Sentinel.rar

sentnel-dashboard生产改造版: 【push模式】实例化监控数据[mysql],持久化流控rule规则配置到redis,

2021-03-02

eureka注册中心jar包【本地测试专用】

eureka注册中心jar包【本地测试专用】

2020-12-23

consul.rar

超级轻便的consul,适用windows-64位系统和开发工程师在本地拿来做中心

2020-03-31

nosqlbooster4mongo-5.1.8.exe

mongo客户端 mongo客户端 mongo客户端 mongo客户端 mongo客户端 mongo客户端

2020-02-03

testng官方文档翻译.md

TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦

2020-01-10

kafka2.11.tar.gz

kafka2.11.tar.gz

2019-03-06

canal.deployer-1.1.3.tar

canal.deployer-1.1.3.tar

2019-03-06

zookeeper-3.4.11安装包

zookeeper-3.4.11安装包 支持window和centos稳定版

2019-03-06

阿里云验证码、短信模板

即插即用,lib库记得引入,只需要更改阿里云提供的accesskey和手机号码,即可

2018-12-03

MongoDb集群

关于MongoDb的技术调研文档,详细的Replica Set集群安装手册!

2018-11-29

SpringBoot集成Quartz分布式定时任务

SpringBoot集成Quartz完全分布式定时任务,即插即用,不好用直接捶我! SpringBoot集成Quartz分布式定时任务 SpringBoot集成Quartz分布式定时任务

2018-11-01

超好看的登录页

找了大半天找到的很好看的登录页,简约时尚!还在等什么,不好看不要分!!!!

2018-10-24

Gradle生成mybatis相关单表接口以及实体类

mybatis代码生成工具,可根据package配置,灵活配置!

2018-10-24

GIT最新中文教程

Git的中文教程,小伙伴们赶紧下载,高清带目录! Git的中文教程,小伙伴们赶紧下载,高清带目录!

2018-08-10

Netty权威指南第二版 MessagePack部分源码

Netty权威指南第二版 MessagePack部分源码 Netty权威指南第二版 MessagePack部分源码 Netty权威指南第二版 MessagePack部分源码 Netty权威指南第二版 MessagePack部分源码

2018-04-12

msgpack-0.6.7jar包

messagepack jar包,netty教程专用 messagepack jar包,netty教程专用 messagepack jar包,netty教程专用 messagepack jar包,netty教程专用

2018-04-11

kafka安装教程

kafka安装教程 kafka安装教程 kafka安装教程 kafka安装教程 kafka安装教程

2018-03-16

hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程

hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程

2018-03-16

quarzt定时任务(包含动态切换数据源)

quarzt定时任务(包含动态切换数据源) quarzt定时任务(包含动态切换数据源)

2017-12-28

SSM整合KindEditor-4.11编辑器

将kindeditor与ssm完美整合,如果你不是ssm框架,也没关系,核心的代码都已做了修改。 完美显示文件、图片、视频的上传 4.11 kindeditor版本: 新增: 俄语语言包,感谢Valery Votintsev (http://codersclub.org/)。 改善: 语言包文件名标准化,zh_CN -> zh-CN, zh_TW -> zh-TW。 Bugfix: [IE6] 当前页面设置了document.domain,销毁编辑器会报错。 Bugfix: 行首全角空格被过滤。 Bugfix: 修复多语言包的一些小错误。 Bugfix: [IE11] 有些设备报错不能显示,对象不支持attachEvent属性或方法。 Bugfix: retina屏幕上按钮裂开。 Bugfix: 编辑图片后点击插入图片,弹出两个dialog。

2017-12-26

slf4j-1.7.25jar包+logback-1.2.3jar包

slf4j-1.7.25jar包+logback-1.2.3jar包 slf4j-1.7.25jar包+logback-1.2.3jar包

2017-12-05

CXF协议WebService+Spring客户端和服务端程序,实现了多数据源动态切换

WebService+Spring客户端和服务端程序,实现了多数据源动态切换 测试的麻油们,依次打开客户端和服务端的main方法就可以测试了

2017-12-05

纯Socket编写的client和server端2个程序,多线程文件异步上传,通信

纯Socket编写的client和server端多线程文件异步上传,通信 步骤和注解还要打印清晰,通信方式为VO实体对象,传统的socket文件上传,只能是接收IO流,无法接收其他的信息,此程序将其改为vo的方式进行的多线程异步上传,客户端和服务端采用的都是多线程异步的方式进行处理

2017-12-05

Sigar java

java利用Sigar去获取服务器的cpu,内存等信息,demo页!有涉及到监控项目的小伙伴可以看看!linux和windows环境的相关文件都有!

2017-09-01

jdk1.8api文档

最新版 JDK 8.0 CHM帮助文档, 带完整的索引和目录,方便查询。 需要了解最新方法和源码的小伙伴赶紧来下载吧。(之前上传的东西有误,所以更新了)

2017-09-01

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

TA关注的人

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