摘要:
对象头 (markword,数组长度,类型指针) 实例数据 (字段1,字段2) 对齐填充 (对其字节) synchronized修饰方法 多了一个ACC_SYNCHRONIZED 标识符 synchronized修饰代码块 monitorenter和monitorexit ObjectMonitor 阅读全文
摘要:
String :SDS 不仅可以保存文本数据,还可以保存二进制数据 SDS 获取字符串长度的时间复杂度是 O(1) SDS拼接字符串不会造成缓冲区溢出 List 类型的底层数据结构是由双向链表或压缩列表 Hash 类型的底层数据结构是由压缩列表或哈希表实现的 Set 类型的底层数据结构是由哈希表或整 阅读全文
摘要:
1.从节点发送psync命令同步数据,发送命之前会和master建立socket长连接 2.1主节点收到pysnc命令执行bgsave生成最新的rdb快照数据 2.2 master开始做rdb之后新数据的缓存,就是一些写命令 3 主节点给从节点发送send rdb数据 4 从节点清空老数据并加载主节 阅读全文
摘要:
阿里中间件 一面:1 自我介绍 2 项目中做了什么,难点呢。 3 Java的线程池说一下,各个参数的作用,如何进行的。 4 Redis讲一下 5 分布式系统的全局id如何实现。用zookeeper如何实现的呢,机器号+时间戳即可。 6 分布式锁的方案,redis和zookeeper那个好,如果是集群 阅读全文
摘要:
连接器:建立连接,管理连接、校验用户身份 查询缓存:查询语句如果命中查询缓存则直接返回,否则继续往下执行 解析 SQL,通过解析器对 SQL 查询语句进行词法分析、语法分析,然后构建语法树 执行 SQL:执行 SQL 共有三个阶段: 预处理阶段:检查表或字段是否存在;将 select * 中的 * 阅读全文
摘要:
客户端发送更新命令到MySQL服务器,经过处理连接、解析优化等步骤; Server层向InnoDB存储引擎要id=1的这条记录; 存储引擎先从bufferpoll中查找这条记录,有的话直接返回,没有则从磁盘加载到bufferpoll中然后返回; Server层执行器修改这条记录的name字段值; 存 阅读全文
摘要:
第一级缓存:singletonObjects 第二级缓存:earlySingletonObjects 第三级缓存:singletonFactories 先从“第一级缓存”找对象,有就返回,没有就找“二级缓存”; 找“二级缓存”,有就返回,没有就找“三级缓存”; 找“三级缓存”,找到了,就获取对象,放 阅读全文
摘要:
1:Bean的建立: 容器寻找Bean的定义信息并将其实例化。 2:属性注入: 使用依赖注入,Spring按照Bean定义信息配置Bean所有属性 3:BeanNameAware的setBeanName(): 如果Bean类有实现org.springframework.beans.BeanNameA 阅读全文