随笔分类 - 源码学习
源码学习
摘要:泛型类 泛型T 比较固定 不支持继承类写入 泛型 ?支持继承 但是不可控 泛型 ? extends E 加上边界 泛型 ? super E 给泛型加下边界 泛型接口 interface a<T,N>{} public class b<T,N> implements a<T,N>{} public c
阅读全文
摘要:记录《Java 并发编程的艺术》部分知识点 第二章 并发机制的底层实现原理 volatile synchronized 第三章 java内存模型 JMM happen before 用来阐述内存之间的可见性 JMM中一个操作对另一个操作可见,必须遵循HappenBefore 有关原则有 对一个线程的
阅读全文
摘要:一:五种常用数据类型 简单动态字符串 redis做了一个用作字符串的SDS,除了一些不需要修改的场景,都是用SDS C字符串的底层实现总是一 个N+1个字符长的数组 sds.h: struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度
阅读全文
摘要:Syncronized的作用: 能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。(有一把锁,持有锁的线程才能执行该段代码) Syncronized的地位: Synchronized是java的关键字。 是最基本的互斥同步手段。 用法: 对象锁,包括方法锁和同步代码块锁。 类
阅读全文
摘要:反射定义 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法(包括私有的);对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 反射获取类的所有属性和方法 package a; import java.
阅读全文
摘要:扩容的容器: ArrayList 、HashSet、TreeSet、HashMap、WeakHashMap 、Hashtable 再加一个常用的StringBuilder LinkedList它的底层是用双向链表实现的,没有初始化大小,也没有扩容的机制; TreeMap由红黑树实现,容量方面没有限制
阅读全文