首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JieMingLi
掘友等级
学生
|
桂林电子科技大学
不会打篮球的程序猿不是好学生
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
37
文章 32
沸点 5
赞
37
返回
|
搜索文章
最新
热门
[转载]B树和B+数的插入,删除操作的图文详解。
简介:本文主要介绍了B树和B+树的插入、删除操作。写这篇博客的目的是发现没有相关博客以举例的方式详细介绍B+树的相关操作,由于自身对某些细节也感到很迷惑,通过查阅相关资料,对B+树的操作有所顿悟,写下这篇博客以做记录。由于是自身对B+树的理解,肯定有考虑不周的情况,或者理解错误…
通俗易懂的HashMap(Java8)源码解读!
Java8对Java7的HashMap做了修改,最大的区别就是利用了红黑树。 Java7的结构中,查找数据的时候,我们会根据hash值快速定位到数组的具体下标。但是后面是需要通过链表去遍历数据,所以查询的速度就依赖于链表的长度,时间复杂度也自然是O(n) 为了减少2中出现的问题…
手动造一个线程池(Java)
本次自己实现一个简单的线程池,主要是为了后续看ThreadPool的源码做准备的,是从别人的代码中改进的,从看别人的源码中学到一些东西,所以特意把这篇文章写出来,方便以后自己去回顾自己是如何学习。当然也希望分享出来可以对别人产生良好的影响! 在自己实现一个线程池之前,首…
深入了解Synchronized原理
必须确保在某个线程的某个对象锁在释放之前,对某个共享变量所做的改变,对于下一个拥有在这个对象锁的线程是可见的,否则另外线程读取的是本地的副本从而进行操作,导致结果不一致。 从互斥锁的设计上来说,一个线程试图操作一个由其他线程持有的临界资源的时候,这个线程会处于堵塞状态。 如果一…
初步了解AQS是什么(三)
由表格我们知道,除了最后一个doReleased()是共享锁独有之外,其他的方法独占锁和共享锁基本都是一一对应的。 所以一般来说unparkSuccessor(h)和doReleaseShared()一般是互相对应的,但是doReleaseShare()要执行的逻辑比前者多。这…
初步了解AQS是什么(二)
非公平锁在 CAS 失败后,和公平锁一样都会进入到 tryAcquire 方法,在 tryAcquire 方法中,如果发现锁这个时候被释放了(state == 0),非公平锁会直接 CAS 抢锁,但是公平锁会判断等待队列是否有线程处于等待状态,如果有则不去抢锁,乖乖排到后面。 …
Integer和int的关系
Integer在Java中是一个类,所以上诉的f1 - f4都是引用变量,而引用变量存储的应该是地址,也就是一个对象的地址,而不是这些十进制的常量,难道这样就出错了吗?其实并没有,只是编译器帮我们做了一些事情而已。 Integer f1 = 100 实际上就是 Integer …
一篇文章读懂volatile
计算机在执行程序代码的时候,实际上执行的是一条条指令,而这些指令,肯定会涉及到数据的读取和写入操作。 在我们的程序中,所定义的变量等临时数据,计算机会放在内存中,也称为主存。 那么问题来了,CPU执行指令的速度是很快的,但是从内存中读取数据和写入数据的过程,相比CPU执行指令的…
初步了解AQS是什么(一)
AbstractQueueSynchronized的缩写,也叫抽象的队列式同步器。定义了一套多线程访问共享资源的同步器框架。 字如其名,他是一个抽象类,所以大部分同步类都是继承于它,然后重写部分方法即可。 phore/CountDownLatch都是AQS的具体实现类。 AQS…
个人成就
文章被点赞
69
文章被阅读
14,703
掘力值
537
关注了
14
关注者
40
收藏集
2
关注标签
21
加入于
2019-04-07