yanghongquan


  • Home

  • About

  • Tags

  • Categories

  • Archives

  • Search

HashMap

Posted on 2019-07-13 | In 源码学习
Words count in article: 2.9k
1、HashMap继承与AbstractMap类,实现了Map接口,允许键为null和值为null,是线程不安全的,内部元素是无序的,利用迭代器遍历元素的时候也会有fail-fast机制。 2、基本参数 123456789101112//必须是2的冥static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//最大容量,2 ...
Read more »

高性能MySQL

Posted on 2019-07-08 | In 读书笔记
Words count in article: 4.2k
1、MySQL架构1、逻辑架构1、最上层:连接管理、授权认证、安全等。每个客户端在服务器进程中都有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程轮流在某个CPU核心或者CPU运行。 2、第二层:MySQL核心功能,包括解析、分析、优化、缓存以及所有内置函数(日期、时间、数学和加密函数),跨存储引擎的功能包括存储过程、触发器、视图等。 3、第三层:存储引擎,负责数据存储和提取。 2、并发 ...
Read more »

Redis的设计与实现

Posted on 2019-06-15 | In 读书笔记
Words count in article: 9.2k
1、数据结构与对象1、SDS简单动态字符串(Redis的默认字符串表示)1、redis需要一个可以被修改的字符串值时就会使用SDS表示字符串值。比如在Redis数据库里,包含字符串值的键值对在底层都是由SDS实现的。 2、SDS还被用作缓冲区(buffer):AOF模块中的AOF缓冲区,以及客户端状态的输入缓冲区。 3、SDS遵循C字符串以空字符结尾的惯例,但是保存空字符的1字节空间不计算在SDS ...
Read more »

ArrayList和LinkedList

Posted on 2019-06-10 | In 源码学习
Words count in article: 895
1、ArrayList1、继承了AbstractList类,实现了List接口、RandomAccess接口。 RandomAccess接口是一个标识,实现这个接口的数据结构支持随机访问,因为ArrayList底层是数组实现,天然支持随机访问,所以标识。 2、1.8的注释提到:与Vector几乎相同,除了不是同步的,即ArrayList不是线程安全的,线程安全的情况需要用Vector或者Cop ...
Read more »

ThreadPoolExecutor

Posted on 2019-06-08 | In 源码学习
Words count in article: 1.2k
1、继承关系ThreadPoolExecutor继承于AbstractExecutorService-->ExecutorService-->Executor 2、线程池状态1、用一个int类型表示,共32位,前三位表示线程池状态,后29位表示线程数量,线程池的状态有: RUNNING:接受新任务并且处理阻塞队列里的任务 SHUTDOWN:拒绝新任务但是处理阻塞队列里的任务 STO ...
Read more »

TCP与UDP的比较

Posted on 2019-04-15 | In 计算机网络
Words count in article: 1.2k
1、UDP和TCP区别1、UDP(用户数据报协议)是无连接的,不可靠的,尽可能大量的发送数据包,没有流量控制、拥塞避免、丢包不重传,无序。 UDP因为无连接,随时可以向对端发送数据包,且本身处理简单高效,常用于:数据包总量较少的通信(DNS、SNMP);视频、音频等对实时性要求高的多媒体通信;广播通信、多播通信 2、TCP面向连接的,双方必须先创建连接才能发送数据,而且有一系列的方式保证传输可 ...
Read more »

浏览器上给定URL的具体访问过程

Posted on 2018-11-08 | In HTTP
Words count in article: 900
1、Http协议基于应用层的一个规范标准,通信双方都要遵守 2、一次Http请求的完整过程1、浏览器输入一个地址,首先要进行域名解析,浏览器先去系统的host文件查找有没有域名对应的IP,如果没有再去本地DNS服务器(由运营商提供)查询是否有对应的IP地址;2、本地DNS服务器如果没有,需要到根域服务器查询,查询方式有两种: 迭代查询 当遇到自己服务器不能回答的DNS查询请求时,把能解析该域 ...
Read more »

JVM知识点总结

Posted on 2018-10-12 | In 读书笔记
Words count in article: 4.6k
1、内存区域1、堆内存 所有的对象实例都存放在堆内存,所有线程共享的堆内存 Java堆自动化管理,通过垃圾回收机制自动清理垃圾对象 分为新生代(Eden、s0、s1)和老年代 2、栈 线程私有的内存空间(三部分:局部变量表、操作数栈、帧数据区) 随着线程的结束而结束 3、方法区 线程共享,保存已经被加载的类信息、方法、常量池、静态变量、即时编译器编译后的代码数据。 可以理解为永久区 这部分的内 ...
Read more »

Synchronized关键字

Posted on 2018-10-10 | In 读书笔记
Words count in article: 1.3k
1、作用保证同一时刻只有一个线程执行该段代码,以达到保证并发安全的效果 2、两种用法 对象锁 方法锁、同步代码块锁 类锁 synchronized修饰静态的方法 指定锁位Class对象 3、类锁不管Java对象有多少个实例对象,但是只有一个class对象,通过给class对象上锁达到同步的效果 4、访问同一个对象实例的两个不同的synchronized普通方法,由于默认获取的是this锁 ...
Read more »

泛型与容器

Posted on 2018-10-08 | In 读书笔记
Words count in article: 1.4k
1、泛型 好处:更好的安全性、更好的可读性 Java中因为类型参数会被替换为object,所以泛型中不能用基本数据类型Pair<int> minmax = new Pair<int>(1,100)不合法 2、列表和队列 迭代的陷阱:在迭代的中间调用容器的删除方法 12345678910public void remove(ArrayList<Integer> ...
Read more »
yanghongquan

yanghongquan

Keep Moving!

10 posts
4 categories
12 tags
GitHub E-Mail
© 2017 — 2019 yanghongquan | Site words total count: 27.8k
Powered by Hexo
|
Theme — NexT.Mist v5.1.4
本站总访问量 次 | 有人看过我的博客啦