随笔分类 -  Java

摘要:前言 不管是netty还是sofa-jraft,使用对象池的目的就是避免重复创建对象,消耗内存,减少GC压力。 原理 https://www.jianshu.com/p/854b855bd198 Recyclers在Jraft中的使用测试案例 主要测试了在多线程模型下,能够获取和回收同一个对象。 以 阅读全文
posted @ 2021-09-05 23:36 gaojy 阅读(93) 评论(0) 推荐(0) 编辑
摘要:Metrics埋点监控 在应用程序中,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析。在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如一个系统后台服务,我们可能需要了解一些实时监控的数据例如 1、每秒钟的请求数是多少(TPS)? 阅读全文
posted @ 2021-09-05 20:40 gaojy 阅读(758) 评论(0) 推荐(0) 编辑
摘要:背景 博主最近在研究sofa-jraft的时候,看到jraft使用的protobuf,所以单独拎出来单独理解一下。 Protobuf语法 https://www.cnblogs.com/resentment/p/6539021.html 使用案例 1 添加proto文件 syntax="proto2 阅读全文
posted @ 2021-08-30 18:55 gaojy 阅读(626) 评论(0) 推荐(0) 编辑
摘要:Java8新特性CompletableFuture 详细API示例 参考:https://www.cnblogs.com/laomumu/p/12386971.html 示例: flushOKFuture3 是处理了flushOKFuture1 和 flushOKFuture2的结果,当 flush 阅读全文
posted @ 2021-08-02 16:32 gaojy 阅读(156) 评论(0) 推荐(0) 编辑
摘要:JMX简介 JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。这是官方文档上的定义,我看过很多次也无法很好的理解。我个人的理解是JMX让程序有被管理的功能 阅读全文
posted @ 2017-09-21 17:26 gaojy 阅读(293) 评论(0) 推荐(0) 编辑
摘要:GUAVA Cache Guava Cache与ConcurrentMap很相似基于分段锁及线程安全,但也不完全一样。最基本的区别是ConcurrentMap会一直保存所有添加的元素,直到显式地移除。相对地,Guava Cache为了限制内存占用,通常都设定为自动回收元素。在某些场景下,尽管Load 阅读全文
posted @ 2017-07-27 16:42 gaojy 阅读(1611) 评论(0) 推荐(0) 编辑
摘要:随着软件开发的不断进步,在实际的开发应用中,可能一次请求需要查询若干次数据库或者调用若干次第三方,按照传统的串行执行的话,会大大增加响应时间,无法满足业务需求,更无法满足用户迫切需要响应迅速的愿望。对此,我们需要针对网络请求或内部调用中包含的“多任务”进行异步处理,并行去执行这些“任务”,这样就就会 阅读全文
posted @ 2017-07-25 22:26 gaojy 阅读(1844) 评论(0) 推荐(0) 编辑
摘要:package com.callback; public interface CSCallBack { public void process(String status); } package com.callback; public class Client implements CSCallB 阅读全文
posted @ 2017-07-20 17:36 gaojy 阅读(227) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示