首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
SHARK42815
掘友等级
后端开发
Find yourself.
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
PriorityQueue (大根堆/小根堆/TopK问题)
所谓TopK问题,即给定数据集,取最大或最小K条数据。通常来说都使用大根堆或小根堆解决,时间复杂度为nlog(k)。PriorityQueue 则是JDK提供的大根堆/小根堆实现 PriorityQueue 中使用数组作为载体,基于数组使用二叉树的"视图"实现了log(k)的时…
2020 阿里巴巴和字节跳动面试总结
截止到11-20号,字节跳动一共面了七轮(挂->捞->挂,一般来说技术在3-5面),现在还在流程中。 字节跳动最大的特点就是每一轮最后都有笔试题。很考验选手心态,很多上周的穿山甲三面就是因为笔试影响了心态导致后面连环爆炸。 最优页面算法。根据页面的使用频率来进行置换,但并无可行…
通过5had0w50ck5学习网络
内容敏感。已放在 github.io
Arthas 是如何实现的
早在去年便用过Arthas。近日无事,刚好来学习一下Arthas的实现。构建时遇到几个错误,这里简单纪录下 arthas分为多个module,包括agent, boot, core, client, bytekit, common, memorycompiler, packag…
AbstractQueuedSynchronizer (AQS) -- JDK的并发框架
等待队列:用于挂起当前线程,等待某个条件满足后唤醒或是被中断。 同步队列:多线程竞争锁时,如果存在竞态,则放入同步队列,等待唤醒重新竞争。 等待队列维护在 AQS.ConditionObject 中,而同步队列维护在AQS中。 等待队列中的元素被唤醒后,会被移至同步队列,待重新…
多线程下使用HashMap究竟会发生什么,你真的明白么?
在JDK7中,HashMap::transfer在多线程情况下会产生死循环。而在JDK8中,HashMap做了较大的改版。transfer中的死锁被解决。而且Table的存储结构由7中的数组+链表改为了数组+链表/红黑树。 在JDK8中,HashMap会优先使用数组+链表存储。…
源码 InheritableThreadLocal(作用域扩散)
继上篇文章《源码 ThreadLocal (线程私有变量)》后,我们明白了ThreadLocal是如何实现线程私有化变量。我们来看下 InheritableThreadLocal 是如何实现在父子线程内传递的。 父子线程这里是指当前线程以及在当前线程中创建的所有线程具有父子关系…
源码 ThreadLocal (线程私有变量)
ThreadLocal 是用来声明一个线程私有变量的容器。在被多个线程持有时,ThreadLocal 能保证每个线程都能拥有独一无二的实例。示例如下 在开始之前,先思考一个问题:这个需求如果甩在面前,自己会如何实现?简单的思路可以在 ThreadLocal 里维护一个 Map<…
FutureTask 略谈
在Java中,线程(或者任务?)分为两类。 Runnable 无返回值,执行特定的逻辑。包入Thread或者线程池使用 Callable 用户自定义返回值。与线程池结合使用。异步化的 java.util.function.Supplier FutureTask 其实与Calla…
源码 ThreadPoolExecutor(2. 任务的消费者-Worker)
简单来说Executor和Worker构成了生产者消费者的模型,临界资源使用BlockQueue存储而Worker作为消费者可以简化为以下伪代码而Executor作为生产者可以简化为以下伪代码
下一页
个人成就
文章被点赞
3
文章被阅读
15,014
掘力值
321
关注了
3
关注者
2
收藏集
1
关注标签
21
加入于
2018-03-31