03 2020 档案

摘要:I/O的五种模式 阅读全文
posted @ 2020-03-29 12:36 chzhyang 阅读(349) 评论(0) 推荐(0)
摘要:索引的定义,不同数据库索引采用的数据结构。 阅读全文
posted @ 2020-03-21 18:40 chzhyang 阅读(971) 评论(0) 推荐(0)
摘要:以前对Tomcat和Servlet的应用像黑盒,今天通过分析简单理解下它们的工作原理。 阅读全文
posted @ 2020-03-20 10:04 chzhyang 阅读(469) 评论(0) 推荐(0)
摘要:ACID特性、并发事务带来的问题、事务隔离级别和锁 阅读全文
posted @ 2020-03-17 18:32 chzhyang 阅读(349) 评论(0) 推荐(0)
摘要:1.数据库的结构 Redis 中的每个数据库,都由一个 redis.h/redisDb 结构表示。 typedef struct redisDb { // 保存着数据库以整数表示的号码 int id; // 保存着数据库中的所有键值对数据 // 这个属性也被称为键空间(key space) dict 阅读全文
posted @ 2020-03-16 18:59 chzhyang 阅读(434) 评论(0) 推荐(0)
摘要:AQS是Java并发包的基础类,本文以ReentrantLock为例,着重分析如何利用AQS实现同步结构。 阅读全文
posted @ 2020-03-13 16:11 chzhyang 阅读(514) 评论(0) 推荐(0)
摘要:Java中的四种引用、引用队列、特殊情况下的强可达声明(Reachability Fence)。 阅读全文
posted @ 2020-03-10 10:59 chzhyang 阅读(3310) 评论(0) 推荐(0)
摘要:线程池,除了池的功能外,还提供了更全面的线程管理、任务提交等方法。 阅读全文
posted @ 2020-03-09 17:26 chzhyang 阅读(823) 评论(0) 推荐(0)
摘要:解决一致性问题,除了排队(加锁)、投票(拜占庭将军)、CAS+voilate外,ThreadLocal不失为一个更轻量级的优选方案。 阅读全文
posted @ 2020-03-09 15:43 chzhyang 阅读(2115) 评论(0) 推荐(0)
摘要:算法题解析汇总 阅读全文
posted @ 2020-03-05 20:59 chzhyang 阅读(351) 评论(0) 推荐(0)
摘要:语言处理系统 高级语言 汇编语言 机器码 硬件 预处理器:将源程序的存放在不同文件中的多个模块聚合起来,并替换宏。 汇编器:将编译器形成的汇编语言程序输出转换成可重定位的机器码。 编译器 是一个程序,它可以将 高级编程语言编写的程序 翻译成目标语言(如机器语言)编写的程序。 解释器 也是一个程序,但 阅读全文
posted @ 2020-03-03 15:55 chzhyang 阅读(641) 评论(0) 推荐(0)
摘要:以下分析基于HotSpot虚拟机 注意 jdk1.7以上 的两个变化: 1. 虚拟机内存中,常量池由方法区转移到堆。 2. String.intern() ,如果常量池存在等于此String对象的字符串,则返回该常量池中对象的引用;否则,在常量池中生成一个对原字符串的引用,并返回该引用,而不会再将字 阅读全文
posted @ 2020-03-03 15:47 chzhyang 阅读(558) 评论(0) 推荐(0)
摘要:[toc] 1. 自动创建maven项目 1. 打开网站 "https://start.spring.io/" 2. 点击generate,将下载的项目解压 2. 修改IDEA默认远程仓库,提高依赖包下载速度 将远程仓库改为阿里云的镜像 1. 打开IDEA的File settings ... Mav 阅读全文
posted @ 2020-03-03 15:45 chzhyang 阅读(916) 评论(0) 推荐(0)
摘要:InnoDB和MyISAM的区别/InnoDB的锁 阅读全文
posted @ 2020-03-03 15:37 chzhyang 阅读(361) 评论(0) 推荐(0)
摘要:[toc] 存储结构 JDK1.8前是数组+链表,JDK1.8之后是数组+链表+红黑树。本文分析基于JDK1.8源代码。 HashMap的基础结构是Node ,它存着hash、键值对,Node类型的指针next。 主干是桶数组,链表bin用于解决hash冲突,当链表的Node超过阈值(8),执行树化 阅读全文
posted @ 2020-03-03 15:35 chzhyang 阅读(555) 评论(0) 推荐(1)
摘要:[toc] 重要属性和类 sizeCtl 容量控制标识符,在不同的地方有不同用途,而且它的取值不同,也代表不同的含义。 负数代表正在进行初始化或扩容操作, 1代表正在初始化 N 表示有N 1个线程正在进行扩容操作 正数或0代表hash冲突链表还没有被初始化,这个数值表示初始化或下一次进行扩容的大小, 阅读全文
posted @ 2020-03-03 15:33 chzhyang 阅读(592) 评论(0) 推荐(0)
摘要:1.String特性 1.1 不可变 它是Immutable类,被声明为final class,所有属性也是final的, 其拼接、裁剪等操作都会产生新的String对象。不可变的主要作用在于当一个对象需要被多线程共享,并且访问频繁时,可以省略同步和锁等待的时间,从而大幅度提高系统性能。不可变模式是 阅读全文
posted @ 2020-03-03 15:30 chzhyang 阅读(472) 评论(0) 推荐(0)
摘要:设计层面: 抽象类是多个子类公共特征的抽象,可以想象成基因图谱。比如猴子的子类有金丝猴、长尾猴等。抽象类是子类的模板。这样做有助于代码复用。所以抽象类只支持单继承。 接口类是行为的抽象,这种行为可以跨物种。比如麻雀、蝴蝶、风筝都能实现“飞:这个行为。所以可以理解接口是支持多重继承的,也是实现多态的基 阅读全文
posted @ 2020-03-03 15:29 chzhyang 阅读(692) 评论(0) 推荐(0)
摘要:各种堆的比较。 二项堆的定义、性质和基本操作。 阅读全文
posted @ 2020-03-03 15:27 chzhyang 阅读(1321) 评论(0) 推荐(0)
摘要:分治法的思想、步骤和应用 阅读全文
posted @ 2020-03-03 15:23 chzhyang 阅读(1022) 评论(0) 推荐(0)
摘要:动态规划的定义、步骤和应用 阅读全文
posted @ 2020-03-03 15:21 chzhyang 阅读(740) 评论(0) 推荐(0)
摘要:斐波那契堆(Fibonacci Heap) 1. 定义 FibHeap是一个树的集合,且树满足最小堆性质。根表不要求树根的度有序,head指向根表中值最小 的结点。全部使用双向循环链表。 KEY :防止超出O(lgn)的操作出现,也即防止出现度超过O(lgn)的树出现,只要能保证D(n)min 2. 阅读全文
posted @ 2020-03-03 15:20 chzhyang 阅读(509) 评论(0) 推荐(0)
摘要:贪心算法的定义、步骤和应用 阅读全文
posted @ 2020-03-03 15:18 chzhyang 阅读(1105) 评论(0) 推荐(0)
摘要:@[toc] 定义 最大流(Maximum Flow) 流网络((flownetwork)) 在有向图 G 中,流是一实函数 f:V×VR,并满足以下三个条件: 容量限制 :对于所有的 u,v∈V,f(u,v)≤c(u,v) 反对称性 :对于所有的 u,v∈V,f(u,v)= f(v,u) 流守恒 阅读全文
posted @ 2020-03-03 15:16 chzhyang 阅读(1149) 评论(0) 推荐(0)
摘要:红黑树的定义、性质以及旋转、插入操作 阅读全文
posted @ 2020-03-03 15:14 chzhyang 阅读(486) 评论(0) 推荐(0)