面试Java后端却问我时间轮算法,面试官没想到我看过Dubbo源码!(上)
1 定时任务Netty、Quartz、Kafka 以及 Linux 都有定时任务功能。常规的JDK 的 java.util.Timer 和 DelayedQueue 等工具类,可实现简单的定时任务,底层用的是堆数据结构,存取复杂度都是 O(nlog(n)),无法支撑海量定时任务。而在定时任务量大、性能要求高的场景,为将任务存取及取消操作时间复杂度降为 O(1),会使用时间轮方案。2 时间轮模型及....
和阿里面试官对线FutureTask源码面试(下)
6.2 构造方法6.2.1 Callable 参数6.2.2 Runnable 参数为协调 callable 属性,辅助 result 参数。Runnable 是没有返回值的,所以 result 一般没有用,置为 null 即可,正如 JDK 所推荐的写法Future<?> f = new FutureTask<Void>(runnable, null)}Execu...
和阿里面试官对线FutureTask源码面试
1 简介使用继承方式的好处是方便传参,可在子类里面添加成员变量,通过 set 方法设置参数者通过构造器进行传递使用 Runnable 方式,则只能使用主线程里面被声明为 final 变量不好的地方是 Java 不支持多继承,若继承了 Thread 类,则子类不能再继承其它类 ,而 Runable接口则无该限制 。Thread 类和 Runnable 接口都不允许声明检查型异常,也不能定义返回值。....
Netty源码面试实战+原理(一)-鸿蒙篇
全是干货的技术号:本文已收录在github,欢迎 star/fork:https://github.com/Wasabi1234/Java-Interview-Tutorial1 简介作者 Trustin Lee,这次真的是韩国大佬发明的了!在 2008 年提交第一个commit至今,转眼间已经走过了十二年。Netty 是封装了 JDK 的 NIO 接口而成的框架。所以 JDK NIO 是基础,....
在阿里面试官面前现场手撕DelayQueue源码!(上)
0 前言延迟元素的无边界阻塞队列,在该队列中,仅当元素的延迟到期时才可以使用它.队首是该 Delayed 元素,其延迟在过去最远过期.如果没有延迟已经过期,就没有head, poll将返回null.当元素的getDelay(TimeUnit.NANOSECONDS)方法返回的值小于或等于零时,就会发生过期.即使未到期的元素无法使用take或poll删除,它们也被视为普通的元素。 例如,size方....
字节面试官问我,HashMap 的源码看过吗?我???(1)
字节面试官问我,Java 的 HashMap 的源码看过吗?我???我花了十分钟给他解释的清清楚楚的。先看再点赞,给自己一点思考的时间,微信搜索【沉默王二】关注这个有颜值却假装靠才华苟且的程序员。本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章。List 系列差不多写完了, 单线程环境下最重要的就是 ArrayList 和 Lin....
Netty源码面试解析(八) - 解码上
0 什么是编解码器每个网络应用程序都必须定义如何解析在两个节点之间来回传输的原始字节如何将其和目标应用程序的数据格式做相互转换这种转换逻辑由编解码器处理,编解码器由编码器和解码器组成,它们每种都可以将字节流从一种格式转换为另一种格式那么它们的区别是什么呢?如果将消息看作是对于特定的应用程序具有具体含义的结构化的字节序列— 它的数据。那 么编码器是将消息转换为适合于传输的格式(最有可能的就是字节流....
【高并发】朋友去面试竟然栽在了Thread类的源码上
大家好,我是冰河~~前言最近和一个朋友聊天,他跟我说起了他去XXX公司面试的情况,面试官的一个问题把他打懵了!竟然问他:你经常使用Thread创建线程,那你看过Thread类的源码吗?我这个朋友自然是没看过Thread类的源码,然后,就没有然后了!!!所以,我们学习技术不仅需要知其然,更需要知其所以然,今天,我们就一起来简单看看Thread类的源码。注意:本文是基于JDK 1.8来进行分析的。T....
纯干货,面试重灾区--多线程源码解析,你该这样回答
ThreadPoolExecutor源码解析今天为了给一个朋友做一份文档,从源码层级解析一下ThreadPoolExecutor。然后就直接在源码上写备注的形式解析,看这篇文章的朋友,就和看源码一样,一步步的跟着向下执行的看就好 1、常用变量的解释// 1. ctl,可以看做一个int类型的数字,高3位表示线程池状态,低29位表示worker数量private final AtomicInteg....
面试官:谈谈类加载器吧,你有没有看过类加载器的源码?
一、类加载 1.1、在java代码中,类型的加载,连接,初始化过程都是在程序运行期间完成的。 图示: 1.2、类型的加载——这里的类型是指的什么? 答:类型就是指的我们Java源代码通过编译后的class文件。 1.3、类型的来源有哪些? (1)本地磁盘 (2)网络下载,class文件 (3)war,jar下加载,class文件 (4)从专门的数据库中读取,class文件(少见) (5)将ja.....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
面试更多源码相关
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注