随笔分类 - 语法和算法细节的问题
摘要:自己在做实验性小项目的时候,发现自己遇到一个问题:如何控制线程的"死亡"? 首先,如何开启一个线程呢? 最简单的代码: 很简单,调用.start()方法,这个线程就会启动. 那么怎样主动去停止一个线程呢?要解答这个问题,首先要考虑:为什么要结束一个线程. 理由如下: 线程是JVM宝贵的资源,有的线程
阅读全文
摘要:很多笔试面试都喜欢考察快排,叫你手写一个也不是啥事。我很早之前就学了这个,对快速排序的过程是很清楚的。但是最近自己尝试手写,发现之前对算法的细节把握不够精准,很多地方甚至只是大脑中的一个映像,而没有理解其真正的本质意图。于是今天结合了《数据结构》(严蔚敏),和《算法导论》进行一番探究。 首先先给出快
阅读全文
摘要:以容器类为例子,可以观一叶而知秋,看看以前的前辈们是如何处理各种面向对象思想下的继承体系的。读的源代码越多,就越要总结这个继承关系否则读的多也忘得快。 首先摆上一张图片: 看到这张图很多人就慌了,难道这些东西我都要全部学习?其实是也不是,其中的很多东西都很有学习的必要,但是学习的过程绝对不是一行一行
阅读全文
摘要:这两个地方搞了好多次,每次做题的时候都容易忘记,现在把其特点记下来。 首先是下滤,就是把当前节点向下寻找其应该在的位置,它要求当前节点的左右子节点都满足堆的性质。最多的应用在堆排序的过程中:每次把最大堆的第一个节点(最大)和当前排序队列的最后一个元素交换,这样当前最大值就去了该去的地方,再对当前首元
阅读全文
摘要:我在看HashMap源码的时候发现了一个没思考过的问题,在这次之前可以说是完全没有思考过,所以一开始对这个点有疑问的时候,也没有想到居然有这么个语法细节存在,弄得我百思不得其解,直到自己动手做实验改写了代码才完全明白。 HashMap里面保存的数据最底层是一个Entry型的数组,这个Entry则保留
阅读全文
摘要:先记录一下,一个一个慢慢写 1,把空指针当参数传递 2,指针的赋值 3,new数组结果成员没有开辟 4,ConcurrentModificationException异常,当我尝试在遍历一个HashSet时再往里面添加东西 5,为什么HashMap的keySet不会触发failfast????(还没
阅读全文