- 博客(235)
- 资源 (22)
- 收藏
- 关注
原创 @Slf4j idea标红Cannot resolve symbol ‘log‘
@Slf4j idea标红Cannot resolve symbol 'log'
2024-07-06 10:11:49
343
1
原创 java内存溢出堆栈分析
java应用系统内存溢出导致服务不可用,可手动生成dump文件或添加配置参数生成文件,进行dump文件分析定位具体内存OOM的原因,并优化修复。
2024-06-21 10:17:30
383
原创 NMT开启后,jcmd <PID> VM.native_memory报错:Unable to open socket file
NMT开启后,jcmd VM.native_memory报错:com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
2023-04-20 15:56:49
1160
1
原创 微服务sprigcloudAlibaba+dubbo+nacos注册配置rpc调用问题调试
微服务sprigcloudAlibaba+dubbo+nacos注册配置rpc调用问题调试
2022-05-05 18:40:26
1298
1
原创 Mysql死锁问题定位
Mysql死锁问题定位2021-05-14Mysql死锁问题定位背景数据库:Mysql5.6及以上引擎:InnoDB隔离级别:可重复读(Repeatable Read)批量更新死锁对账模块其中一个商户因为发生死锁导致该商户对账业务未完成。对账模块对商户进行多线程对账,并且存在批量变更状态的操作。并发的批量变更极容易造成死锁场景。问题查看查看对账日志,定位异常...
2021-11-12 16:29:25
938
原创 数据库连接池阻塞问题定位
北斗云数据库连接池阻塞问题定位二零二一年五月北斗云数据库连接池阻塞问题定位问题描述北斗云系统反应部分商户服务异常,登录不上去等。问题定位查看错误日志由于北斗云是基于Haproxy做的负载均衡部署,所以第一反应就是是否有一个节点出问题了,及时查看问题定位。查看服务进程都在,发现123上的日志刷新频率很快,但是39上的基本不动,从日志情况来看,应该是39上的服务出问...
2021-06-15 20:15:04
2139
1
原创 AOP日志切面
AOP日志切面AOP(Aspect-OrientedProgramming)其实是OOP(Object-OrientedPrograming)思想的补充和完善。我们知道,OOP引进"抽象"、"封装"、"继承"、"多态"等概念,对万事万物进行抽象和封装,来建立一种对象的层次结构,它强调了一种完整事物的自上而下的关系。但是具体细粒度到每个事物内部的情况,OOP就显得无能为力了。比如日志功能。日志代码往往水平地散布在所有对象层次当中,却与它所散布到的对象的核心功能毫无关系。对于其他很多类似功能,如事务管...
2021-04-29 19:10:02
1408
原创 应用安全漏洞及修复
应用安全漏洞及修复近期阿里云服务漏洞扫描,发现大量应用安全漏洞,做出安全漏洞修复方案,一般三方jar包漏洞,官方发布漏洞时,肯定已有新版本做了处理,所以我们只需要做jar版本升级即可。漏洞处理方案2021-02-20漏洞处理方案编写目的安全漏洞如果被恶意用户利用,会造成服务器及系统被攻击利用,造成严重损失。为保障服务及系统安全,发现的安全漏洞需要及时修复。适用范围研发人员,运维人员安全漏洞 阿里云业务层面漏洞整理文档XStream 漏洞...
2021-02-20 18:12:45
2360
1
原创 热加载及滚动发布对服务的影响测试报告
热加载及滚动发布对服务的影响测试报告编写目的随着场景应用服务的增多,及需求的快速迭代,升级上线比较频繁。为减少服务迭代升级对用户的影响,降低运维人员及开发测试人员的人力成本。对灰度发布做简单说明及现有的服务迭代滚动升级对服务的影响做以测试。该测试是基于新版本服务无异常的情况下,对nginx热加载和微服务滚动发布对服务的影响测试。适用范围运维人员,开发人员发布方式在项目迭代的过程中,不可避免的需要上线升级。上线对应着部署,或者重新部署,部署对应着修改,修改则意味着风险。现对常用布署方案做
2021-02-05 15:51:56
365
原创 百万级Excel导出方案
百万数据量excel导出方案编写目的在实际场景中excel报表导出业务比较常见,随着业务量及数据量递增,报表导出数据量大的情况下容易出现内存溢出,响应耗时太长等问题,现提供百万数据量内的报表导出方案,供大家参考。适用范围Java开发工程师方案说明问题说明大批量数据导出容易瞬间打满老年代导致Full GC频繁发生,容易系统卡死。 一次性把目标数据全部查询出来再写到流中的方式,大量被查询的对象驻留在堆内存中,直接打满整个堆,容易堆内存溢出。核心思路底层使用POI...
2021-02-05 15:44:13
1546
原创 压测临时端口不够用-Address already in use: connect
压测临时端口不够用-Address already in use: connect本地windows环境下压测接口,报错Response code: Non HTTP response code: java.net.BindExceptionResponse message: Non HTTP response message: Address already in use: connect解决方法一:修改操作系统注册表1、cmd输入:regedit2、找到HKEY_LOCAL_MACH
2021-02-01 20:35:53
1063
原创 HttpServletRequestWrapper报content-length different from byte array length!
HttpServletRequestWrapper报content-length different from byte array length!利用HttpServletRequestWrapper包装请求,其他好着,有一个通知接口报错Content-length different from byte array length! cl=597, array=594报文太长解决办法重写 getContentLength getContentLengthLong //报文
2021-01-22 14:52:16
1131
原创 运行shell脚本,出现了 $‘\\r‘: command not found
运行编写的shell脚本时,出现了$'\\r': command not found这样的错误提示。报错的原因是我们在windows系统操作时,编辑器里的换行符是\r\n ,而Linux上为\n,两个系统之间有差异导致的。处理办法有2种:1、vi 命令进入要编辑的文件,按ESC键进入命令模式,执行以下命令,按回车键,然后保存退出文件。: set ff=unix2、第二种yum -y install dos2unixdos2nuix install.sh上面的inst..
2021-01-21 14:27:05
707
原创 AOP/Filter+MDC实现traceId日志追踪
AOP/Filter+MDC实现traceId日志追踪在应用日志查询时,我们常常希望可以有个关键字可以查询某个业务的整生命周期,log4j 和 logback提供了MDC(Mapped Diagnostic Context,映射调试上下文)功能,可以在多线程条件下记录日志。在微服务、分布式中更是希望可以进行链路追踪。一、AOP+MDC简单实现/** * ************************************************************ * Cop
2021-01-14 16:29:58
1462
原创 OkHttp实现远程调用
客户端网络框架 - OkHttp实现远程调用目录客户端网络框架 - OkHttp实现远程调用一、OkHttp介绍二、工具类一、OkHttp介绍okhttp:OkHttp是一个高效的HTTP客户端,允许所有同一个主机地址的请求共享同一个socket连接;连接池减少请求延时;透明的GZIP压缩减少响应数据的大小;缓存响应内容,避免一些完全重复的请求当网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个I.
2020-12-24 19:14:01
900
1
原创 HttpClient实现远程调用
客户端网络框架-HttpClient实现远程调用apache common封装好的HttpClientorg.apache.commons.httpclientHttpClient:代码复杂,还得操心资源回收等。代码很复杂,冗余代码多。目录客户端网络框架-HttpClient实现远程调用一、HttpClient介绍一、HttpClient介绍 HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HT...
2020-12-24 19:05:14
1591
1
转载 互联网协议
客户端网络框架 - 互联网协议互联网的7层,5层协议原理参考地址网络请求原理浅析https://blog.csdn.net/lin962792501/article/details/86571832互联网协议入门http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html...
2020-12-24 18:30:47
112
1
原创 HttpURLConnnection实现远程调用
客户端网络框架 - HttpURLConnnection实现远程调用JDK网络类 java.net目录客户端网络框架 - HttpURLConnnection实现远程调用一、HttpURLConnnection介绍二、工具类一、HttpURLConnnection介绍 简单来说,HttpURLConnection就是Java提供的发起HTTP请求的基础类库,提供了HTTP请求的基本能力,不过封装比较少,使用时都要自己设置,也需要自己处理请求流和响应流。 ...
2020-12-24 17:54:36
438
1
原创 JMH基准测试
开发小工具-JMH基准测试我们在写代码的时候经常有这种怀疑:写法A快还是写法B快?哪个写法性能更好,效率更高。在开发过程中常常需要对方法性能做测定,JMH是一个轻量级压测框架,适合开发简单做方法性能的测试。JMH和jMeter的使用场景还是有很大的不同的,jMeter更多的是对rest api进行压测,而JMH关注的粒度更细,它更多的是发现某块性能槽点代码,然后对优化方案进行基准测试对比。注意:JMH适合细粒度的方法测试,并不适用于系统之间的链路测试!越复杂,结果越不可靠(more co
2020-12-21 19:18:40
249
原创 遍历iterator迭代器remove的问题
开发小问题-遍历iterator迭代器remove的问题在实际场景中使用迭代器遍历时,使用remove出现的问题,先作简单的记录,后续再深入研究。应用场景对一个ma作keyset()遍历,判断 value 为目标值时从map中剔除。我的错误代码示例 @Test public void errorFuction() { Map<String, String> settleMap = new HashMap<>(); set
2020-12-11 16:12:29
1116
原创 找不到或无法加载主类
开发小问题-找不到或无法加载主类在idea中创建好项目后,执行启动类启动,控制台报错-- 错误: 找不到或无法加载主类 com.cnzz.ams.security8jwt.Application处理方法 rebuild 项目 ctrl + shift +F9 快捷键 或项目右击再次启动运行后,成功,,,,,,...
2020-12-11 14:31:27
493
原创 线程池监控
线程池 - 线程池监控在使用线程池时出现问题,就需要定位处理,那么做个简单的线程池的监控还是必要的,起码可以在确认是线程池造成异常的时候查看下线程池的状态。我在实际环境中遇到过类似问题,通知阻塞,造成业务延时,甚至部分通知直接未发送成功。学习并作简单记录。目录线程池 - 线程池监控一、线程池的监控参数二、代码相关记录一、线程池的监控参数1、activeCount 线程池中正在执行任务的线程数量2、poolSize 线程池当前的线程数量3、queueSize...
2020-11-26 19:40:34
940
原创 自定义线程池实现
线程池 - 自定义线程池实现用线程池来管理线程,减少系统消耗,线程数可控。目录线程池 - 自定义线程池实现一、自定义线程池代码package com.yuantiaokj.commonmodule.threadpool;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.spring.
2020-11-26 09:37:21
562
原创 线程池参数及配置
线程池-线程池参数及配置在实际项目中线程的应用都会使用线程池来管理,线程池的常用参数及配置学习记录。目录线程池-线程池参数及配置一、线程池 在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在 Java 中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。 如果并发的线程数多,并且每个线程都是...
2020-11-25 17:40:30
12359
1
原创 velocity模板引擎-vm语法整理
velocity模板引擎-vm语法整理模板引擎我目前接触过两次,第一次是在前后端还未分离时,考虑到部分页面数据比较固定,一定时间内不会变动,这样每次从后台加载数据渲染页面明显会消耗性能以及资源浪费,所以使用模板引擎主动生成静态页面,当时使用的是FreeMarker实现的。第二次是在邮件发送时,想要直接展示制表符等等,使用velocity引擎,vm模板实现。目录velocity模板引擎-vm语法整理一、Velocity 模板引擎介绍二、入门HelloWord三、模板基本语法
2020-11-20 10:00:20
9727
原创 数组中找出n个数相加,最接近num的
数学问题 -数组中找出n个数相加,最接近num的有同事提过这个问题,现在有时间了实现下做个整理,主要当时排列组合的概念都不知道是啥了,更不用说实现功能了。已经不知道排列组合,二项式定理,集合的可以先复习下相关概念和公式算法。java实现排列组合https://blog.csdn.net/xinpz/article/details/109728624目录数学问题 -数组中找出n个数相加,最接近num的一、概述问题:数组中找出n个数相加,最接近num的实现思路:1...
2020-11-19 10:05:02
4850
原创 Integer的比较防坑
java基础 -Integer的比较防坑我们都知道Integer的存储结构,以及和int的自动拆装箱。所以我一般简单处理直接用equals完事,但是还是会踩坑,菜的没边了,,,做个记录。目录java基础 -Integer的比较防坑一、Integer与int1、int是java中的8大基本数据类型之一。2、Ingeter是int的包装类,是对象。3、int的初值为0,Ingeter的初值为null4、int是基本数据类型,存在常量池。Ingeter的情况比较多,用new的是..
2020-11-18 09:21:22
688
原创 java实现排列组合
数学问题 - java实现排列组合今天遇到一个组合问题,整理学习相关数学算法问题,并做记录。如果和我一样已经忘记数学集合,排列组合问题的,就需要先看下排列组合推导,及公式。排列公式:A(n,m)=n!/(n-m)!组合公式:C(n,m)=n!/m!(n-m)!二项式定理:非空子集=2^n -1目录数学问题 - java实现排列组合一、放回再取问题二、排列问题三、组合问题总结:一、放回再取问题问题1:假设袋子里有编号为1,2,...,m这m个球。现在每次
2020-11-16 20:34:28
4666
apache-maven-3.5.4-bin.zip,本地maven库压缩包
2018-07-31
site_1.8.22,Myeclipse的SVN插件包
2018-06-12
101到200之间有多少质数/素数
2018-02-07
兔子问题--斐波那契数列--递归--面向过程编程--面向对象编程--2种
2018-02-05
operation 简易四则运算器 java项目 简单工厂设计模式
2018-02-02
UMLET---UML建模工具
2018-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人