自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 gRPC与HTTP网络传输流量的测试及对比

HTTP在传输时,虽然也是将数据转换成二进制数据进行传输,但其中主流的做法都依赖于JSON或XML结构来进行序列化,因此产生许多额外的标识符,导致传输对象的体积增大,相应的产生更多流量传输。当改用逗号拼接的序列化方式,其传输产生的流量就和gRPC相差无几了,但这种方式需要自己维护一套序列化方式,其维护性和可靠性难以保障。gRPC协议主要通过proto文件字段编号来标识传输内容,直接将对象内容转换成二进制数据传输,即gRPC的二进制传输机制。gRPC传输所产生的流量远远小于JSON结构的HTTP。

2024-10-04 04:02:13 206 1

原创 Logback与Log4j2日志框架性能对比与调优

性能测试logback同步日志耗时未经过任何调优,采用Logback默认配置得出上图,一百万条日志打印耗时(ms),如图:单线程下性能最佳,耗时随线程数增加而下降。线程占用单线程无阻塞状态多线程多线程打印日志时,会产生大量线程阻塞,线程越多阻塞状态越多四线程八线程十六线程锁占用线程发生多次占用锁的情况。查看Logback源码可得知,检查容量、放入队列、取出队列都需要在取得锁后进行异步日志(队列扩容)样本数100万,队列长度110万耗时线程占用单线程多线

2021-03-26 19:32:03 8826 4

原创 Java日志框架对比分析及性能调优

文章目录前言一、Logback性能怎么样?1. 整体流程2. 性能解析异步输出锁争抢磁盘输出控制台输出总结前言本文针对Log4j2和Logback框架进行深入解析,通过性能压测、热点图及源码方式,分析两者优劣势及产生性能差距原理,在最后总结Log4j2性能调优的方式一、Logback性能怎么样?众所周知,Log4j21. 整体流程日志记录的流程如下:业务代码内调用Logger记录日志Logger把日志移交到Appender同步Appender继续完成输出(落盘、网络提交、控制台输

2021-03-22 17:18:38 950

原创 解决Mybatis-Plus抛出java.lang.NullPointerException异常

场景:调用Mybatis-plus接口的saveBatch时,抛出该异常可以看到形参是有元素的,并且元素内部数据没有缺失(公司数据不方便展示)很平常的空指针异常,我们简单地捕获到这个异常来自于TableInfoHelper,这是一个Mybatis-Plus的类原因我们来跟踪saveBatch方法 /** * 批量插入 * * @param enti...

2020-03-30 02:02:44 19474 1

原创 腾讯系持续集成(CI)方案

文章目录官方资料术语概念快速上手Jenkinsfile实战官方资料持续集成文档流水线语法术语概念构建计划( Job ):作为持续集成流程的基本单元,每个Job都代表一个步骤,可配置代码源、构建流程、触发规则、环境变量、通知提醒等信息。快速上手图形化配置:具体参考官方文档,易用性高Jenkinfile灵活配置:提前写好Jenkinsfile放到项目最外层(与.git同级),在Codi...

2020-03-24 19:12:41 736

原创 解决SpringBoot打包没有加入依赖包

解决方案需要打包的项目的pom.xml里加入一下代码 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId&...

2020-03-24 16:18:04 3800

原创 Map集合原理

HashMap数据结构:内部维护一个Node的数组(Node初始时为链表结构,当链接数量大于8后转为红黑树)定位:定位键值时,计算key的哈希值作为下标配合‘&’运算符,在Node数组获取元素//p(所获取Node),tab(Node数组),n(Node数组长度),hash(key计算出的hash值)p = tab[i = (n - 1) & hashput:流程如...

2020-03-23 20:28:35 179

原创 Mysql

事务事务的特性原子性:事务内的操作要么全部完成,要不全部不完成。执行事务过程中出现错误,将执行回滚将数据还原至事务开始前的状态一致性:隔离性:持久性:事务执行完成后,数据将保存在硬盘上视图视图是什么查询关联查询左连接:以左表数据去查询右表,如果右表没有关联数据,则该行右表的所有列为null表1 left join 表2 on 字段1 = 字段2右连接:以右表数据去查...

2019-09-04 00:32:18 85

原创 解决微信统一下单接口签名错误总结

签名失败由很多原因导致编码错误:有中文的要注意转utf-8格式商户账号APIKEY错误:签名加入的key可能和商户设置的key不一样,最好是重置一遍参数错误:在拼接签名时可能粗心大意打错了参数名或者其他格式问题,要对比文档确认每个参数名和文档一致签名装配错误:加密时出现错误,可以使用微信官方的签名校验工具商户号未绑定:进入商户号-产品中心-APPID授权管理,添加管理appid总结...

2019-08-20 11:22:26 3050

空空如也

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

TA关注的人

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