MySQL Explain索引性能优化观察

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL
2021年09月07日 836次浏览

netty之FastThreadLocal

1 FastThreadLocal的引入背景和原理简介既然jdk已经有ThreadLocal,为何netty还要自己造个FastThreadLocal?FastThreadLocal快在哪里?这需要从jdk ThreadLocal的本身说起。如下图:![](https://pic2.zhimg.co
2021年09月06日 886次浏览

HashMap何时会链表转红黑树

链表转红黑树部分源码://用来衡量是否要转红黑树的重要参数 static final int TREEIFY_THRESHOLD = 8; //转红黑树需要的最小数组长度static final int MIN_TREEIFY_CAPACITY = 64; for (int binCount =
2021年09月06日 915次浏览

Hashmap的扰动函数

java的Hashmap里的hash方法里用到了扰动函数,我更喜欢称之为扰动计算。目的是为了减少hash冲突。思路是保留高位和低位特征Jdk7中的源码h =(h >>> 20)(h >>> 12);return h (h >>> 7)(h >
2021年09月06日 1,347次浏览

Dubbo之ProxyFactory

概述在分析服务暴露和服务引用的都提到ProxyFactory,它是Dubbo的代理工厂,只定义了两个方法。getInvoker,暴露服务时调用,将ref(真正的服务实现类)转化为InvokergetProxy,引用服务时调用,将Invoker对象转化为proxy代理对象InvokerInvoker
2021年09月05日 891次浏览

领域驱动架构(DDD)建模中的模型到底是什么?

要回答这个问题,需要三步走:为什么要建模;怎么建模才合理;“领域”模型具体指什么。为什么要建模客户在专卖店买了个手机,留下了自己的名字和电话,店员做了记录。客人来时,只要店员能在记录里查到客人名字和电话的订单,就说明客人曾经买过手机。什么人需要查看订单呢?店员 A 需要查看,店员 B 也需要查看。客
2021年09月05日 889次浏览

String.intern()详细分析(JDK1.8)

段落引用 前言   本文的测试环境是JDK1.8。段落引用String.intern()分析在文中偏后参考 https://blog.csdn.net/tyyking/article/details/82496901一.创建字符串分析1.直接使用双引号创建字符串判断这个常量是否存在于常量池,如果存在
2021年09月05日 876次浏览

Redis重大版本简介

Redis借鉴了Linux操作系统对于版本号的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2),当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本,所以我们在生产环境通常选取偶数
2021年08月31日 910次浏览

Netty 之IdleStateHandler心跳机制

基础心跳机制心跳是在TCP长连接中,客户端和服务端定时向对方发送数据包通知对方自己还在线,保证连接的有效性的一种机制在服务器和客户端之间一定时间内没有数据交互时, 即处于 idle 状态时, 客户端或服务器会发送一个特殊的数据包给对方, 当接收方收到这个数据报文后, 也立即发送一个特殊的数据报文,
2021年08月28日 953次浏览

NUMA架构的CPU

从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构(SMP:Symmetric Multi-Processor),非一致存储访问结构(NUMA:Non-Uniform Memory Access),以及海量并行处理结构(MPP:Massive Parallel Processing
2021年08月26日 1,386次浏览