0%

前言

类的关系,用来概括七,八两章的内容应该足以。从第七章的继承,组合到第八章的多态。Java中能够为类设计的关系结构初步展现出来。

阅读全文 »

前言

来到本书第五,六章,在介绍完Java操作符及一些关键字后,开始介绍一些机制。如:类的初始化,垃圾回收清理,访问权限等。这些都是有助于我们更好了解代码执行过程的知识点。

阅读全文 »

前言

《Thinking in Java(第四版)》的第三,四章主要介绍了Java中基本的操作符及控制执行流程的相关关键字。

阅读全文 »

前言

准备开始阅读《Thinking in Java(第四版)》,这是Java的经典书籍,看了下目录,基本涵盖了Java编程的所有知识点。
本章先从第一,二章开始记录。

阅读全文 »

前言

在了解分布式锁的过程中看到了MySql锁的相关知识,所以针对MySql-InnoDB锁的相关内容做一个梳理。

阅读全文 »

前言

在阅读HashMap的源码中,对许多位运算符都分不太清了。所以这里对位运算符做一个复习。

阅读全文 »

HashMap简介

  HashMap是java.util包下的实现Map接口的非线程安全集合,其基于数组+链表|红黑树的结构,以键值对的
形式存储数据
特点:
1. 基于key-value的数据结构可以通过key直接定位value值,查询较快,key值可为null
2. 使用hash值确定数组下标,所以遍历顺序不是输入顺序
3. 扩容操作涉及重新计算hash值,对性能影响较大,需尽量避免
阅读全文 »

ArrayList简介

   ArrayList是java.util包下实现List接口的非线程安全的动态数组类
   优点:基于数组结构,可通过下标快速定位,查询效率快;新增涉及扩容判断,在不扩容
         的前提下,效率也较快
   缺点:删除,扩容操作基于数组的复制,代价较高
阅读全文 »

索引结构-B+树

B+树

m阶B+树满足一下条件:

  1. 根结点的分支数量[k]范围为[2,m]
  2. 每个分支结点包含的分支数[x]范围为[ceil(m/2), m]
  3. 分支结点的关键字数量[y]等于[x-1],所以[y]的范围是[ceil(m/2)-1, m-1],关键字顺序递增
  4. 所有叶子结点都在同一层,且形成一个有序链表
    阅读全文 »

基本数据类型

  1. String:键值对形式,最简单的数据类型
    应用场景:计数(String有自增/递减令明令-incr/decr key),简单缓存
  2. List:双向链表,按照插入顺序排序,可从左/右插入/弹出数据
    应用场景:消息队列等
  3. Map:value值为map类型,可以处理更加复杂的数据结构
    应用场景:一些对象的存储等
  4. Set:无序集合,自动排重,有交集,并集,差集等操作
    应用场景:适合于对多个集合数据的处理
  5. ZSet:与set类似,相比set多了一个用来排序的属性score
    应用场景:排行榜,带有权重的数据集合等
    阅读全文 »