摘要: 一、背景 自己由于某种原因,需要找下份工作,经历了2周多时间面了20多家(按部门算),其中包括AT, TMDK等大厂,也拿到了一些offer。 整个过程特别紧凑,比较辛苦,加上裸面原因,前期表现的并不好,到后面才娴熟了一些。 因为这样连贯的面试车轮战,很容易就能感受到面试的高频知识点,对后面的面试就 阅读全文
posted @ 2020-06-12 15:49 nolan4954 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: 【背景】这个题目是当时远程面试时,手写的题目。自己比较惭愧,当时写的并不好,面试完就又好好的完善了下。 一、题意分析 3个线程要按顺序执行,就要通过线程通信去控制这3个线程的执行顺序。 而线程通信的方式就有wait/notify, condition#await, condition#signal等 阅读全文
posted @ 2020-06-09 17:13 nolan4954 阅读(376) 评论(0) 推荐(0) 编辑
摘要: HttpBasic: 是RFC中定义的一种控制HTTP协议访问资源的方式。具体当HTTP请求受限资源时,就需要在请求头中添加以"Authorization"为key的header,value的具体形式是"Basic <credentials>", 其中<credentials> 是以“${usern 阅读全文
posted @ 2019-05-23 13:00 nolan4954 阅读(329) 评论(0) 推荐(0) 编辑
摘要: ThreadPoolExecutor 它是线程池最核心的类, 这里对核心的方法做简要的剖析(会持续更新),以加深对线程池运行原理的理解。 1. 核心成员变量及相关方法 1 // ctl非常重要,用整型表示,共32位,其中**高3位代表线程池状态,低29位代表工作线程数**; 2 // 线程池状态初始 阅读全文
posted @ 2019-03-05 15:38 nolan4954 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 策略模式(strategy pattern) 定义 将一系列的算法封装到一些列的类里面,并且可以相互替换 作用 将算法的变化独立于客户端,将算法的指责和算法的行为分开,将算法的使用和具体的算法流程区分开 组成 策略类:封装了一个算法实现;一般只暴漏一个方法供其它地方调用,比如排序,查找,计算折扣等等 阅读全文
posted @ 2018-11-18 11:48 nolan4954 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1. ByteArrayInputStream 定义 继承了InputStream,数据源是内置的byte数组buf,那read ()方法的使命(读取一个个字节出来),在ByteArrayInputStream就是简单的通过定向的取buf元素实现的 核心源码理解 源码: 理解: 1. 构造ByteA 阅读全文
posted @ 2018-07-04 20:28 nolan4954 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 1. InputStream 定义 字节输入流,是一个抽象类,核心是通过read()方法,从数据源中读取一个个字节出来,另有skip,mark功能 核心源码理解 源码: 1 public abstract int read() throws IOException; 理解: 1. 抽象方法,必须由子 阅读全文
posted @ 2018-07-04 13:05 nolan4954 阅读(555) 评论(0) 推荐(0) 编辑