HashMap在进行put操作时有很多细节设计的确值得我们去学习,下面是对put方法的一些接单的介绍,如果有什么不足之处还希望大佬能给与指出;既然说到集合的底层原理,首先要介绍一下HashMap的底层数据结构: JDK1.8以前底层的结构为数组+链表;JDK1.8及以后对HashMap进行了优化(不 ...
分类:
其他好文 时间:
2020-06-08 00:40:22
阅读次数:
67
我们先回想一下Kafka的日志结构是怎样的? Kafka 日志对象由多个日志段对象组成,而每个日志段对象会在磁盘上创建一组文件,包括消息日志文件(.log)、位移索引文件(.index)、时间戳索引文件(.timeindex)以及已中止(Aborted)事务的索引文件(.txnindex)。当然,如 ...
分类:
其他好文 时间:
2020-06-08 00:17:30
阅读次数:
63
前言 版本:RocketMQ4.4.0 RocketMQ架构 摘自《RocketMQ开发手册》 Name Server是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。 Broker部署相对复杂,Broker分为Master和Slave,一个Master可以对应多个Slave,但是一个Sla ...
分类:
其他好文 时间:
2020-06-07 21:32:55
阅读次数:
59
一、前言 作为一个小菜鸟对于mybatis的理解一致处于仅会用,典型的API程序员,今天正好有功夫,就稍微的解读一下源码,嘿嘿嘿~ 首先我们先创建maven,引入mybatis和MySQL链接包巴拉巴拉巴~~~ 不详说,太复杂,不是今天的核心。 我们从这里入手,查看实现。 第一个有趣点来了,我发现这 ...
分类:
其他好文 时间:
2020-06-07 16:31:13
阅读次数:
108
转自:详解k8s中的liveness和readiness的原理和区别 https://www.cnblogs.com/xuxinkun/p/11785521.html liveness与readiness的探针工作方式源码解析 liveness和readiness作为k8s的探针,可以对应用进行健康 ...
分类:
其他好文 时间:
2020-06-07 11:21:11
阅读次数:
68
IoC 和 AOP 被称为 Spring 两大基础模块,支撑着上层扩展的实现和运行。虽然 AOP 同样建立在 IoC 的实现基础之上,但是作为对 OOP(Object-Oriented Programing) 的补充,AOP(Aspect-Oriented Programming) 在程序设计领域拥 ...
分类:
编程语言 时间:
2020-06-07 01:01:18
阅读次数:
71
源码解析如下: 1 package java.util; 2 import java.io.*; 3 4 public class HashMap<K,V> 5 extends AbstractMap<K,V> 6 implements Map<K,V>, Cloneable, Serializab ...
分类:
其他好文 时间:
2020-06-04 21:41:21
阅读次数:
62
CopyOnWriteArrayList并发List容器源码解析 备注:下面的源码拷贝自JDK11 类结构 实现的接口 Serializable:支持对象的序列化 Cloneable:支持对象的复制 RandomAccess:支持通过索引的随机访问 List:支持List的所有操作 核心数据结构 由 ...
分类:
其他好文 时间:
2020-06-03 13:48:19
阅读次数:
47
一 什么是Semaphore、Semaphore用来做什么 semaphore是计数信号量,可用于多线程并发执行时,限制获取资源的线程数量。常用场景为:限流。 二 Semaphore用法 1 public class SemaphoreTest { 2 3 public static void ma ...
分类:
其他好文 时间:
2020-06-03 00:59:30
阅读次数:
72
一、JDBC执行过程 1.1预编译的三种执行器 简单执行器(Statement)存在sql注入问题,发送一条一条静态sql语句(包含参数),传输体量比较大。 预处理执行器(PreparedStatement)可以防止sql注入问题,发送一条sql语句包含若干组参数,传输体量比较小。 存储过程处理器( ...
分类:
数据库 时间:
2020-06-03 00:52:09
阅读次数:
114