0%

前言

《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
    应用场景:排行榜,带有权重的数据集合等
    阅读全文 »

视频url的处理

  1. 从url中读取流
  2. 将流转化为文件
  3. 使用MultimediaInfo中的方法获取视频文件的信息
    阅读全文 »