
数据结构
文章平均质量分 82
Yotwei
这个作者很懒,什么都没留下…
展开
-
ArrayBlockingQueue源码解读
ArrayBlockingQueue主要由以下几个重要方法方法返回或超时返回阻塞 插入offer(E e) / offer(e, long timeout, TimeUnit unit)put(E e)移除poll() / poll()poll(long timeout, TimeUnit unit)take()插入元素1、offer(E e) / offer(e, long timeou...原创 2018-06-30 10:07:44 · 270 阅读 · 0 评论 -
自己动手实现BlockingQueue
Java的java.util.concurrent.*包下有许多在并发场景下使用的集合,ArrayBlockingQueue是其中之一,它是一个循环队列,这个队列的特别之处在于take方法与put方法,分别对应队列的元素出列和元素入列操作,当队列为空时,take会使得线程进入等待状态,直到队列不为空,有元素能够出列才会继续执行;同理,当队列满时,put方法也会使得线程进入等待状态。 ...原创 2018-07-01 21:23:18 · 1390 阅读 · 0 评论 -
ThreadLocal源码解读
ThreadLocal的作用用于实现线程内的数据共享,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据。 ThreadLocal的主要方法主要方法有 get(),set(),remove()分别对应获取值,设置值,删除值对于同一个线程,在没有set或remove之后,get会得到null值 Thread,T...原创 2018-08-27 20:24:24 · 283 阅读 · 0 评论 -
模糊匹配之——BK树与拼写纠正
介绍拼写纠错功能常常出现在比较高级的文本编辑应用中,例如大家熟知的word,高级一点的IDE例如Jet Brains系列,在一些在线翻译上,也有自动校正拼写的功能,例如谷歌翻译。原理拼写纠正的实现方式有多种,这里使用的是一种名为BK树的数据结构,也叫作Burkhard-Keller树,是由Burkhard,Keller这两人提出来的,不过网上能找到的相关资料并不多,参见ACM文档htt...原创 2018-09-09 11:18:18 · 1732 阅读 · 1 评论 -
网易游戏(互娱)游戏研发一面&二面(已收到offer)
简单来讲下上周面网易互娱的心得(因为我不是走内推而是直接怼笔试的,所以上周才有了笔试结果然后被告知面试),我面的岗位是游戏研发工程师(初级) 一面(40分钟左右)开始是简单的自我介绍C++:关于C++问的比较简单,因为我跟面试官说我主要学的是Java(其实这点我也比较担心会有影响),问得有针对C++问得有virtual关键字和静态库与动态库但是两种语言的共性——面向对象...原创 2018-09-28 11:04:00 · 35058 阅读 · 6 评论 -
空间索引-四叉树的实现及其应用
什么是四叉树?四叉树(Quad Tree)是一种空间索引树,四叉树的每一个节点都代表着一块矩形区域。我们知道在平面直角坐标系中,平面可以被分为第一二三四象限,四叉树的每一个节点也类似,可以分裂为四个子节点,子节点在满足条件的情况下可以继续分裂,这样构成了一个四元的树状结构,就是四叉树。 四叉树的作用通常使用树结构能够带来高效且简单的检索效果,四叉树也不例外,四叉树主要用于二维空间的...原创 2018-10-31 15:57:34 · 19356 阅读 · 0 评论