做底层框架或技术产品的研发同学在代码调优过程中不可避免的会遇到序列化/反序列化的场景,除了面向前端的场景一般情况下我们会选取一些二进制序列化框架比如hessian2、Prot...
做底层框架或技术产品的研发同学在代码调优过程中不可避免的会遇到序列化/反序列化的场景,除了面向前端的场景一般情况下我们会选取一些二进制序列化框架比如hessian2、Prot...
今天的故事是从nacos的升级开始的,出于性能、服务治理等原因我司想把从dubbo2.7.x升级到3.2.x,但在这之前有个前提,那就是nacos首先要升级到2.x,于是乎就...
前言 接上文,好久没写文,一写就停不了。在上文讲解HashedWheelTimer的过程中,我看到了一个东西ResourceLeakDetector,这个东西由于当时没有影响...
应用层面 反射操作记得缓存method和field,最好能用方法句柄或者字节码增强替换掉 更多细节见 Java反射性能详解[https://www.notion.so/Jav...
线程安全,是Java并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要原因有两点:1,存在共享数据(也称临界资源)2,存在多条线程,共同操作共享数据。 本文由浅入...
💡 过早优化是万恶之源。 ...
故事是从一个问题开始的:为什么 Java 中 2 * ( i * i ) 比 2 * i * i 更快? 猛地一看,我还以为有人在钓鱼,这俩玩意不应该是一模一样吗?第二反应是...
以下论点均基于jdk8但大部分并不限于jdk8 首先让我们从两个问题出发1.使用field和get set方法访问修改字段值哪个的性能要更好(均已做了缓存)?2.怎么优化一个...
许多消息都会各种保证自己的产品不会丢消息或者消息丢失概率较小,但是靠谱的很少,而且消息队列丢消息排查起来是非常麻烦的,所以大多数在使用的过程中都会在上层或者下层建立一种消息核...
架构层面 1.利用Partition实现并行处理 Kafka中的每个Topic都包含一个或多个Partition,且它们位于不同节点。同时,Partition在物理上对...
前言 对于 ThreadLocal 的使用,并不难。但要深入理解 ThreadLocal 的实现方式,需要细细揣摩。写本文前,我在网上看了很多关于 ThreadLocal ...
原作地址:https://www.baeldung.com/jvm-tiered-compilation#overview[https://www.baeldung.com/...
前几节中有描述,mysql整体来看,其实就有两块:一块是server层,它主要做的是mysql功能层面的事情;还有一块是引擎层,负责存储相关的具体事宜。第八节中说到粉板red...
前言 现在微服务火的一塌糊涂,但凡出来面个试,好像你不会微服务就跟你什么都不会一样。但是像我们这种做外包的小公司,上微服务就不太现实,首先技术支撑不够,其次开发速度无法满...
最近在做的项目中有用到canal实时同步MySQL的数据,并且写入es的场景,总结了一些心得,以备后查。总体同步的流程图如下: 链路中的环节稍微解释下: binlog MyS...
开启 JFR 收集: 由于JFR是商用的,所以需要解锁Java程序的商业feature:-XX:+UnlockCommercialFeatures -XX:+FlightRe...
使用ES做搜索引擎拉取数据的时候,如果数据量太大,通过传统的from + size的方式并不能获取所有的数据(默认最大记录数10000),因为随着页数的增加,会消耗大量的内存...
需求:返回前端的JSON报文,对于null,String格式要返回"",Number格式需要返回0,array格式需要返回[],boolean类型需要返回false。 最终的...
导读 在java的世界里好像已经不再需要关注内存申请、内存回收这些直接内存操作了。更多的时候java程序员是在讨论垃圾回收器(内存分代、回收算法)等内存自动回收技术。操作系统...