2020年10月12日
摘要: 1,ThreadLocal是什么: ThreadLocal也是解决多线程访问共享变量问题的,不同于加锁,他会在每一个线程内部创建副本, 每个线程独立访问自己内部的副本,不会产生冲突。 2,用法: 示例: public class ThreadLocalTest { static ThreadLoca 阅读全文
posted @ 2020-10-12 18:49 瞎鸡儿敲 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1,volatile用法:参考博客 上一篇主要介绍了基于AQS的独占锁和读写锁,其中state同步状态都是用volatile关键字修饰的。 作用:保持数据的可见性! 什么是不可见性的? ①了解java内存模型,JMM 线程通过将主存中共享变量副本保存在线程私有的本地内存,然后进行写操作。当一个线程修 阅读全文
posted @ 2020-10-12 11:39 瞎鸡儿敲 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 0,Sychronized与ReentrantLock区别(两种都是常见可重入排他锁) ①ReentrantLock是JDK实现的,Sychronized是JVM实现,通过底层指令控制。 ②Reentrant支持非公平锁和公平锁,sychronized只支持非公平锁。 ③ReentrantLock可 阅读全文
posted @ 2020-10-12 01:16 瞎鸡儿敲 阅读(178) 评论(0) 推荐(0) 编辑
  2020年10月9日
摘要: synchronized直接看这篇 1,synchronized关键字用法 ①修饰代码块,指定加锁对象,表示进入当前代码块要获得指定对象的锁。 ②修饰实例方法:对当前对象加锁,进入同步方法要获得当前对象的锁。 ③修饰静态方法,给当前类加锁,作用于类的所有对象,访问静态方法要获得class锁。 2,介 阅读全文
posted @ 2020-10-09 14:16 瞎鸡儿敲 阅读(300) 评论(0) 推荐(0) 编辑
  2020年10月8日
摘要: 学习资料: 深入浅出多线程 JavaGuide 《并发编程的艺术》 百度233 1,进程与线程 1.1,进程:运行一个程序,就会创建进程。应用程序在内存中分配的空间。让操作系统实现并发。 线程:一个程序(进程)的子任务。实现进程内部的并发。轻量级线程。 1.2,关系: has a 进程可以包含多个线 阅读全文
posted @ 2020-10-08 20:35 瞎鸡儿敲 阅读(93) 评论(0) 推荐(0) 编辑
  2020年10月3日
摘要: 源码分析:田小波个人技术网站:集合框架 http://www.tianxiaobo.com/categories/foundation-of-java/collection/ 其他参考:https://github.com/Snailclimb/JavaGuide#%E5%AE%B9%E5%99%A 阅读全文
posted @ 2020-10-03 23:02 瞎鸡儿敲 阅读(138) 评论(0) 推荐(0) 编辑
  2020年9月28日
摘要: 一,内部排序 有交换过程的都不稳定,选择--待排序区选一个最值的出来-交换(不稳定)--不受初始序列顺序影响 ①简单选择,②堆排序交换--不停交换,使最值浮现。(不稳定) ③冒泡,④快排插入--取一个待排序,在已排序序列不停比较,找到位置插入 ⑥直接插入(稳定),⑦折半插入(稳定),⑧希尔排序(不稳 阅读全文
posted @ 2020-09-28 16:28 瞎鸡儿敲 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 一,哈希表,将关键字与储存位置通过某种函数关联起来,拿到要查找的对象后,通过关键字得出对象的储存位置, 使得查询时间复杂度为O(1),而不用遍历集合去比较,哈希函数是函数, 存在输入不同key得到相同解的情况,即发生哈希碰撞。理论上只要储存空间有限,必定会发生哈希碰撞。 哈希表的关键:设计哈希函数, 阅读全文
posted @ 2020-09-28 00:36 瞎鸡儿敲 阅读(252) 评论(0) 推荐(0) 编辑
  2020年9月26日
摘要: 参考:https://www.cnblogs.com/jing99/p/11741685.html https://www.cnblogs.com/ll9507/p/11616417.html B+树 一种多路平衡查找树 ①与二叉树,红黑树等相比,最大的不同就是一个节点可以有多个子节点(有子节点列表 阅读全文
posted @ 2020-09-26 19:34 瞎鸡儿敲 阅读(1187) 评论(0) 推荐(0) 编辑
  2020年9月24日
摘要: 实现平衡二叉树后接着实现红黑树,红黑树接近平衡的二叉树,插入,删除函数跟平衡二叉树一样,只是平衡函数不同,平衡二叉树严格按照子树高度差,使最长路径-最短路径=0/1; 1,而红黑树的特性: (1) 每个节点或者是黑色,或者是红色。 (2) 根节点是黑色。 (3) 每个叶子节点是黑色。 [注意:这里叶 阅读全文
posted @ 2020-09-24 17:38 瞎鸡儿敲 阅读(646) 评论(0) 推荐(0) 编辑