2018年9月7日
摘要:
今天看到一篇博客:jdk1.8的HashMap和ConcurrentHashMap,我想起了前段时间面试的一个问题:ConcurrentHashMap(JDK1.8)为什么要使用synchronized而不是可重入锁? 我想从下面几个角度讨论这个问题: 下面是我对面试中的那个问题的一下看法: 为什么
阅读全文
posted @ 2018-09-07 18:26
爱养花的码农
阅读(2792)
推荐(0)
摘要:
这是一道面试题:简述AQS原理 AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队
阅读全文
posted @ 2018-09-07 18:11
爱养花的码农
阅读(1288)
推荐(0)
摘要:
redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大。 不过,因为一般的内存操作都是简单存取操作,线程占用时间相对较短,主要问题在io上,因此,redis这种模型是合适的,但是如果某一个线程出现问题导致线程占用很长时间,那么reids的单线程模型效率可想而知. 引
阅读全文
posted @ 2018-09-07 16:22
爱养花的码农
阅读(130)
推荐(0)
2018年9月6日
摘要:
一 物理内存和虚拟内存 我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就
阅读全文
posted @ 2018-09-06 11:40
爱养花的码农
阅读(143)
推荐(0)
摘要:
1. 二叉树的宽度 若某一层的节点数不少于其他层次的节点数,那么该节点数即为二叉树的宽度。在访问过程中,我们只需要将同一层中的节点同时入栈即可。为此,我们也只需要知道上一层队列中元素的多少,在将该queue中所有元素出队列的同时,将下一层的元素进队列,完成交接。这样,便可以清晰地知道每一层中节点的多
阅读全文
posted @ 2018-09-06 10:03
爱养花的码农
阅读(3947)
推荐(0)
2018年9月3日
摘要:
摘要: 本文对面试/笔试过程中经常会被问到的一些关于计算机网络的问题进行了梳理和总结,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。关于这块内容的初步了解和掌握,建议大家读一读《图解HTTP》一书。 版权声明: 本文原创作者:书呆子Rico 作者博客地址:http://bl
阅读全文
posted @ 2018-09-03 17:14
爱养花的码农
阅读(206)
推荐(0)
摘要:
注:一般TCP/IP的应用层或者OSI的会话、表示、应用层把数据称为数据或者信息,到了传输层把数据称为报文,到了最底层就是比特流了也就是字节流 DNS递归查询与迭代查询 基础知识 1.域名系统 2.域名服务器 域名解析过程 1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hos
阅读全文
posted @ 2018-09-03 16:35
爱养花的码农
阅读(2885)
推荐(0)
2018年9月1日
摘要:
代码版本 JDK每一版本都在改进。本文讨论的HashMap和HashTable基于JDK 1.7.0_67。源码见这里 1. 时间 HashTable产生于JDK 1.1,而HashMap产生于JDK 1.2。从时间的维度上来看,HashMap要比HashTable出现得晚一些。 2. 作者 以下是
阅读全文
posted @ 2018-09-01 16:21
爱养花的码农
阅读(250)
推荐(0)
摘要:
HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。 Iterator支持fail-fast机制,而Enumeration不支持。Enumeration 是JDK 1.0添加的接口。使用到它的函数包括Vect
阅读全文
posted @ 2018-09-01 15:19
爱养花的码农
阅读(335)
推荐(0)
摘要:
思考扩展成 立方根 4方根,5方根 ...... 即将二分法改为分段的多个区间。
阅读全文
posted @ 2018-09-01 13:23
爱养花的码农
阅读(126)
推荐(0)