06 2019 档案
摘要:来来来,今天就跟hashmap杠到底。。。 不要叫我杠精了,主要是还是被问到hashmap的时候,我并不能很清晰明了得告知这种数据结构到底是一个什么构造,里面细节并不了解 既然这样,我们就把他解析一波,今天这篇也算是hashmap的收官之作了,主要用来红黑树部分我之前有博文写过,但是不用深究 自己实
阅读全文
摘要:Simulation BasicCircuitSimulation CircuitSimulation MySimulation 测试结果: 测试结果: 模拟电路的半加器
阅读全文
摘要:前提知识 写在前面,为什么num&(length - 1) 在length是2的n次幂的时候等价于num%length n - 1意味着比n最高位小的位都为1,而高的位都为0,因此通过与可以剔除位数比n最高位更高的部分,只保留比n最高位小的部分,也就是取余了。 而且用位运算取代%,效率会比较高。 基
阅读全文
摘要:最近面试被问到hashmap的实现,因为前段时间刚好看过源码,显得有点信心满满,但是一顿操作下来的结论是基础不够扎实。。。 好吧,因为我开始看hashmap是想了解这到底是一个什么样的机制,具体有啥作用,并没有过于细节去了解,所以问到细节的地方就难免漏洞百出, 回来之后,决定吧容器类的实现原理,去专
阅读全文
摘要:因为最近小米电话面试被问到如何判断一个链表是否有环,那今天正好实现以下这个算法 1.链表 内部类的使用,是为了方便调试 测试类: 结果: 测试一: 测试二: 从这里我们可以判断到第二个方法并不能定位到产生环的节点是哪个节点,并且循环次数比第一个多 总结: 方式一:对空间占用比较大,但是时间复杂度底,
阅读全文
摘要:国际惯例原理图 代码实现 到这里可能有的人不清楚怎么用,来我们测试一波 我们假设有100个用户同时请求,然后令牌恢复速率调成10,然后速率单位改为秒,也就是1秒恢复10个令牌 这样同时100个请求过来,马上令牌就会被用完,那么就会被限流,比如我们拦截器这个时候可以返回404,或者503 效果展示
阅读全文
摘要:
阅读全文
摘要:这个就是一个消息可以被多次消费的范例了 其实这个实现的方式可以参考我之前的设计模式,观察者模式 https://www.cnblogs.com/cutter-point/p/5249780.html 不过有一点需要注意一下啊,这个消息发布的时候,好像是不支持字节数据的,里面好像会对字节进行转换,这样
阅读全文
摘要:顾名思义这个就是再消费的时候,不是之前的那哥用yield进行线程切换的操作,而是用线程等待阻塞的方式去执行,说实话我感觉效率不一定有之前那个好, 因为我对这种阻塞队列使用的时候,之前有发现阻塞队列,塞着塞着线程就会进入假死状态,这个很奇怪,但是有的时候又是好的,这个也不清楚到底是为什么 但是毕竟也是
阅读全文
摘要:1、这是第一个简单的初始化版本,看起来比使用fqueue似乎更好用 消费 测试,这里我踩了个坑,切记每个线程最好先获取一次资源,也就是 结果:
阅读全文
摘要:1、刚开始写scala,发现确实还是很不熟悉,api以及语法的使用都不是很简洁,这写出来跟java也没差多少。。。 献丑了
阅读全文
摘要:1.这里先要说一下为什么会想到fqueue,因为这个是一个轻量级的消息队列框架,并且速度很快,用起来很方便,就是这样 当然后期考虑使用redis,这里先上一个fqueue的版本,后面有时间我再吧他改成redis版本吧,感觉可能redis版本可能更适合 测试代码: 效果展示:
阅读全文
摘要:因为scala也是基于jvm上运行的,所以能跑java,原则上就能跑scala 1、国际惯例,先来个hello world走走 2.好,然后我们简单写几个程序,标识scala的基础入门吧 文件操作 这个功能用java实现,没个几百行估计搞不定。。。 光是文件输入输出的io操作代码,什么File =
阅读全文
摘要:二叉树节点插入 0.如果只有一个节点,那么就直接作为根,涂黑,如果父为黑,或者祖父为空,那么不做操作 1.叔叔节点不为空且为红 那么就修改父,叔叔,祖父节点颜色,最后把当前节点设置为祖父节点,在进行平衡 2.如果父为右节点,并且叔叔节点为空或者为黑,当前节点是右节点,如果父不为空, 那么把父设置为黑
阅读全文

浙公网安备 33010602011771号