暂无搜索历史
众所周知 Spring 的 AOP 是基于动态代理实现的,谈到动态代理就不得不提下静态代理。实现如下:
package cn.mldn.demo; import java.lang.reflect.Method; class Person { private ...
ArrayList 实现于 List、RandomAccess 接口。可以插入空数据,也支持随机访问。
容量的默认大小是 16,负载因子是 0.75,当 HashMap 的 size > 16*0.75 时就会发生扩容(容量和负载因子都可以自由调整)。
一个唯一 ID 在一个分布式系统中是非常重要的一个业务属性,其中包括一些如订单 ID,消息 ID ,会话 ID,他们都有一些共有的特性:
现在互联网应用中对数据库的使用多数都是读较多,比例可以达到 10:1。并且数据库在做查询时 IO 消耗较大, 所以如果能把一次查询的 IO 次数控制在常量级那...
众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashcode 映射到 Entry 数组上,所以遍历出来的顺序并不是写入的顺序。
一般水平拆分是根据表中的某一字段(通常是主键 ID )取模处理,将一张表的数据拆分到多个表中。这样每张表的表结构是相同的但是数据不同。
HashSet 是一个不允许存储重复元素的集合,它的实现比较简单,只要理解了 HashMap,HashSet 就水到渠成了。
在写回 Redis 的时候如果是 Tomcat 集群,多个进程同时写那很有可能出现脏数据,这时就会出现更新原子性的问题。
如果给 user 表中的 username pwd 字段创建了复合索引那么使用以下SQL 都是可以命中索引:
如图所示 LinkedList 底层是基于双向链表实现的,也是实现了 List 接口,所以也拥有 List 的一些特点(JDK1.7/8 之后取消了循环,修改为...
我平时用的也挺频繁,这次就借助日常使用的 Cache 组件来看看 Google 大牛们是如何设计的。
之前谈到的限流方案只能针对于单个 JVM 有效,也就是单机应用。而对于现在普遍的分布式应用也得有一个分布式限流的方案。
分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三。
当一个类收到了类加载请求时: 自己不会首先加载,而是委派给父加载器进行加载,每个层次的加载器都是这样。
在上文 设计一个百万级的消息推送系统 中提到消息流转采用的是 Kafka 作为中间件。
Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。
之前写过一篇《从源码分析如何优雅的使用 Kafka 生产者》 ,有生产者自然也就有消费者。
<div align="center"> <img src="https://ws4.sinaimg.cn/large/006tNc79ly1fmjw06nz2...
暂未填写公司和职称
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市