java 工具类
lixia0417mul2
避免成为那些从来没有接触过真正技术的所谓技术生涯
展开
-
mat工具的几个实用地方
三.查看从Root到这个类对象的路径,右击,点击merge shortest path,然后继续点击with all reference。二.查看某个对象实例的具体值,点击对象,点击List Objects,然后选择with outgoing reference。使用mat的过程中,有几个值得关注的注意点,可以帮助我们尽快查找到问题的答案。四.最直观的内存泄漏,查看最可疑对象的对象值,以及达到root的路径。五.最直观的内存泄漏查看,查看Root到达可疑对象的路径。原创 2024-09-20 22:46:18 · 389 阅读 · 0 评论 -
liteflow的组件编排
lifeflow原创 2024-08-25 12:23:40 · 264 阅读 · 0 评论 -
liteflow使用注意事项
liteflow使用注意事项原创 2024-06-11 00:26:12 · 587 阅读 · 0 评论 -
理解容器的cpu限流
cpu限流原创 2023-12-29 10:26:36 · 656 阅读 · 0 评论 -
StackOverflowError的JVM处理方式
Stack Overflow的处理原创 2023-12-27 23:18:07 · 712 阅读 · 0 评论 -
jdbc设置StatementTimeout后还需要设置socket timeout参数吗
java中socket的超时时间原创 2023-10-18 22:01:40 · 592 阅读 · 0 评论 -
Java的Socket Timeout和tcp的存活探测包是不是一个东西
Socket.setTimeout 和 Tcp keepAlive原创 2023-10-18 21:59:19 · 466 阅读 · 0 评论 -
数据库主从切换过程中Druid没法获取连接错误
druid无法创建db连接原创 2023-10-18 01:57:25 · 473 阅读 · 0 评论 -
为何RoaringBitmap能成为Java里面事实上的位操作的标准结构
RoaringBitmap作为位存储结构的优势原创 2023-10-10 23:15:24 · 225 阅读 · 0 评论 -
线程池优雅关闭
线程池优雅关闭 线程异常中止原创 2023-08-07 22:05:16 · 337 阅读 · 0 评论 -
java日常常见的几种安全问题
常见的几种安全问题 常见安全问题及解决措施原创 2023-07-11 22:25:24 · 428 阅读 · 0 评论 -
日志消息直接发送到kafka设计
日志消息直接推送kafka 日志消息不保存到本地磁盘原创 2023-07-10 21:33:26 · 684 阅读 · 0 评论 -
大数值使用BitSet存储导致的内存溢出
使用BitSet导致内存溢出 Redis的BitMap使用不当导致Redis内存溢出 BitSet存储大的整数的注意事项原创 2023-06-21 22:17:42 · 1031 阅读 · 0 评论 -
netty解析http协议异常Connection closed before received headers 分析
netty解析http协议 http协议解析错误 netty解析http协议错误 http协议不完整导致的解析异常原创 2023-06-15 22:26:59 · 656 阅读 · 0 评论 -
PowerMock 重要知识点(二)
PowerMock 私有静态方法 PowerMock 验证私有静态方法 PowerMock spy 类原创 2023-06-06 22:58:38 · 1271 阅读 · 0 评论 -
Powermock使用的知识点
powermock注意事项 powermock重要知识点原创 2023-05-29 23:18:57 · 705 阅读 · 0 评论 -
Spring Resource注解 支持泛型依赖注入
Resource是支持类型注入的 Spring依赖注入是包含泛型匹配的 Spring包含泛型的依赖注入源码解析原创 2023-05-26 23:43:37 · 479 阅读 · 0 评论 -
PowerMock 中如何使用mock类的构造函数
powermock 类的构造函数 powermock 模拟类实例的构造函数 powermock 模拟类实例的构造方法原创 2023-05-26 20:59:04 · 2171 阅读 · 0 评论 -
PowerMock 使用spy注解来解决类中方法之间调用的mock问题
A方法调用B方法时如何mock mockio.spy解决方法调用的mock问题原创 2023-05-24 22:06:56 · 1709 阅读 · 0 评论 -
PowerMock 私有/公共方法和静态方法对doReturn..when 和 when.thenReturn的不同表现
powermock mock 私有方法 mock共有方法 mock 静态方法 when..thenReturn实际调用方法导致空指针异常原创 2023-05-24 21:44:21 · 2460 阅读 · 0 评论 -
java.net.SocketTimeoutException: null 和 java.net.SocketTimeoutException: connect timed out的区别
SocketTimeoutException: null SocketTimeoutException: connect timed out 连接超时原创 2023-05-11 22:42:35 · 3920 阅读 · 0 评论 -
VisualVM 工具使用
VisualVM使用 内存泄漏排除工具 线程排除工具原创 2023-05-04 22:13:31 · 636 阅读 · 0 评论 -
源码解析logback日志输出异常堆栈
logback如何打印异常堆栈 打印错误日志的正确姿势 如何打印异常堆栈 logback中怎么样才能打印异常堆栈信息原创 2023-03-24 20:46:09 · 2681 阅读 · 0 评论 -
使用spring事务操作事务不能保证绝对的安全
应用程序中使用数据库事务是如何崩溃的 应用程序为何不能获知事务的执行结果 事务保证是如何失效的原创 2023-03-05 13:20:45 · 109 阅读 · 0 评论 -
使用antlr实现一个简单的表达式解析
antlr解析表达式 自定义公式的解析 解析计算表达式原创 2023-02-24 21:39:50 · 922 阅读 · 0 评论 -
ReflectionTestUtils在单元测试中的妙用
单元测试 ReflectionTestUtils用法 Mockito 用法原创 2023-02-14 21:10:54 · 2112 阅读 · 0 评论 -
spring容器中如何使用Mockito优雅的注入依赖的依赖
Mockito Spy Mock InjectMocks 正确注入依赖的依赖原创 2023-01-30 00:36:35 · 2953 阅读 · 0 评论 -
mysql 通过不同索引更新相同记录会导致死锁吗
mysql 死锁 mysql update死锁 mysql 锁原理原创 2023-01-28 00:56:48 · 1366 阅读 · 0 评论 -
JMH性能测试-要点记录
jmh注意点 jmh性能测试 Roaring64BitMap和Roaring32Bitmap性能对比原创 2022-11-13 02:06:22 · 342 阅读 · 0 评论 -
互联网中常见的随机数+分布式中常见的防止重复处理的方式
随机数 Random 幂等 重复提交 分布式重复处理原创 2022-09-02 01:51:06 · 640 阅读 · 0 评论 -
由排行榜实时更新想到的树状数组
排行榜常规实现1.单机:使用普通数值存储每个用户的分数,更新某个用户的分数的时间复杂度是O(1),查询用户分数排行榜的时间复杂度是O(NlogN),如果总共有100000个用户,有1000个用户在同时更新,那么时间复杂度是O(1000) + 1000 * O(100000 * log100000) = 1800000100=1800w次操作2.分布式: 分布式一般是基于redis的zset有序集合实现,每个用户的分数时每个有序集合元素的score的值,redis的zset集合的底层数据结构是跳表,更新分原创 2022-07-07 02:01:20 · 206 阅读 · 0 评论 -
Arthas vmtool命令小结
arthas 查看jvm内存对象的值原创 2022-06-22 22:06:31 · 1515 阅读 · 0 评论 -
http(s)正向代理和反向代理
正向代理:client --> forward proxy --> internet --> server反向代理client --> internet --> backward proxy --> server正向代理所处的位置和反向代理所处的位置是不一样的,正向代理代理的是客户端,反向代理代理的是服务端,网络抓包工具finder属于正向代理的一种,而nginx则是反向代理的最经典的代表正向代理的作用一般有IP代理(隐藏客户端真实ip),以及网络分析等用途,原创 2022-04-28 20:47:31 · 673 阅读 · 0 评论 -
apollo 配置中心小结
1.apollo的服务注册和发现是使用的eruka实现的,这里configservice服务和adminservice服务会注册到eruka中,其中: configservie供客户端client查询配置信息使用,而adminservice供protal后台管理界面调用。2.client客户端如何几乎实时的获取到配置的变更通知?答案是 htttp长轮询机制,原理如下: 对于客户端来说,他会一直向服务器发起请求,对于服务端来说,在收到客户端的http请求后,并没有立刻返回数据,而是等待数据满足条件或者超时原创 2022-02-26 02:21:17 · 291 阅读 · 0 评论 -
maven -父子项目和多模块项目
1.父子项目 关键点:a.父pom中子项目1b.子项目中父项目主要是继承的作用,即子项目的pom中可以使用父项目中已经定义好的dependency这里还有一个关于父子项目的展示结构问题:是父子缩进的目录结构还是父子并行的目录结构?首先这两者对于功能来说没有任何影响,其次这两者展示的不同是由于父pom中的模块定义不同引起的:一种是子项目另一种是./子项目</module2.多模块项目,关键点:子模块2如何应用子模块1的类和方法,一般子模块1都是一些比较基础的commmon方法类,子模块原创 2022-02-22 18:25:11 · 1144 阅读 · 0 评论 -
gc --JNI调用引发的长gc问题
[GC (GCLocker Initiated GC) 2022-02-16T12:14:20.890+0800: 494843.997: [ParNew: 482593K->398863K(6134208K), 33.2018739 secs] 2539521K->2610445K(12949952K), 33.2035558 secs] [Times: user=330.26 sys=1.53, real=33.20 secs]为何新生代才使用来的482M(总大小6G)就引发ygc的原因属原创 2022-02-21 17:55:22 · 930 阅读 · 0 评论 -
mat查找多线程并发下大对象导致的堆内存问题
场景代码大概如下: 多线程并发请求接口,接口中的代码首先从guavacache.getIfAbsent()查找对象A,假设本地内存没有,代码又调用fetchFromRedisList获取数据,获取到数据后把对象A放到本地内存中 ps:对象A极大,占用大概有几十M问题分析:首先这里有并发问题,多个线程会同时调用fetchFromRedisList方法并购造成对象A,而不是想象中的只有一个线程去获取,其他线程等待获取结果的guavacache.get(Loadable)模式,导致内存溢出这里最重要的是怎原创 2022-02-16 01:29:02 · 698 阅读 · 0 评论 -
MAT内存查找工具的注意事项
1.打开Mat 的keep unreachable object open选项,这样才能够查看到所有对象(包括即将被gc回收掉的对象),2.在打开了keep unreachable 选项的情况下如何查看不可达的object: 步骤如下:右键点击内存文件的图标–>选择gc root选项–>选择unreachable选项–>可以查看到所有不可达的对象列表–>点击某个不可达的对象–>Immediate Dominator查看直接应用了不可达对象的直接上级下面介绍下什么叫做:Dom原创 2022-02-16 00:52:39 · 1513 阅读 · 0 评论 -
雪花算法-小结
雪花算法生成的Id是长整数,64位组成结构如下:1bit 不用 + 41bit时间戳+10bit工作机器id+12bit序列号,在容器上面部署时最大的问题是怎么确定10bit的机器id编号,最简单的方法是容器重启的时候workerId的值从redis中自增,这样不同机器的workerId就会不一样,唯一的风险是机器数量超过1024个,这里如果重新循环复用机器id的话需要做一个告警,或者也可以把10bit的机器id增加到比如12位,相应的缩减序列号的位数到10位,但是这样每台容器每毫秒的最大并发只有2的1原创 2022-02-09 16:51:02 · 283 阅读 · 0 评论 -
spring-retry小结
spring-retry主要是为了规范化请求重试的逻辑,主要应用于调用外部服务的场景,使用例子如下: RetryTemplate template = new RetryTemplate(); // 重试策略:次数重试策略 SimpleRetryPolicy retryPolicy = new SimpleRetryPolicy(3, Collections.singletonMap(Exception.class, true)); templ原创 2022-01-28 19:54:17 · 891 阅读 · 0 评论
分享