摘要: 来来来,今天就跟hashmap杠到底。。。 不要叫我杠精了,主要是还是被问到hashmap的时候,我并不能很清晰明了得告知这种数据结构到底是一个什么构造,里面细节并不了解 既然这样,我们就把他解析一波,今天这篇也算是hashmap的收官之作了,主要用来红黑树部分我之前有博文写过,但是不用深究 自己实 阅读全文
posted @ 2019-06-27 12:01 cutter_point 阅读(784) 评论(2) 推荐(0)
摘要: Simulation BasicCircuitSimulation CircuitSimulation MySimulation 测试结果: 测试结果: 模拟电路的半加器 阅读全文
posted @ 2019-06-26 22:20 cutter_point 阅读(292) 评论(1) 推荐(0)
摘要: 前提知识 写在前面,为什么num&(length - 1) 在length是2的n次幂的时候等价于num%length n - 1意味着比n最高位小的位都为1,而高的位都为0,因此通过与可以剔除位数比n最高位更高的部分,只保留比n最高位小的部分,也就是取余了。 而且用位运算取代%,效率会比较高。 基 阅读全文
posted @ 2019-06-26 18:10 cutter_point 阅读(3327) 评论(0) 推荐(0)
摘要: 最近面试被问到hashmap的实现,因为前段时间刚好看过源码,显得有点信心满满,但是一顿操作下来的结论是基础不够扎实。。。 好吧,因为我开始看hashmap是想了解这到底是一个什么样的机制,具体有啥作用,并没有过于细节去了解,所以问到细节的地方就难免漏洞百出, 回来之后,决定吧容器类的实现原理,去专 阅读全文
posted @ 2019-06-25 11:23 cutter_point 阅读(314) 评论(0) 推荐(0)
摘要: 因为最近小米电话面试被问到如何判断一个链表是否有环,那今天正好实现以下这个算法 1.链表 内部类的使用,是为了方便调试 测试类: 结果: 测试一: 测试二: 从这里我们可以判断到第二个方法并不能定位到产生环的节点是哪个节点,并且循环次数比第一个多 总结: 方式一:对空间占用比较大,但是时间复杂度底, 阅读全文
posted @ 2019-06-24 10:23 cutter_point 阅读(458) 评论(0) 推荐(0)
摘要: 国际惯例原理图 代码实现 到这里可能有的人不清楚怎么用,来我们测试一波 我们假设有100个用户同时请求,然后令牌恢复速率调成10,然后速率单位改为秒,也就是1秒恢复10个令牌 这样同时100个请求过来,马上令牌就会被用完,那么就会被限流,比如我们拦截器这个时候可以返回404,或者503 效果展示 阅读全文
posted @ 2019-06-21 14:31 cutter_point 阅读(666) 评论(0) 推荐(0)
摘要: 这个就是一个消息可以被多次消费的范例了 其实这个实现的方式可以参考我之前的设计模式,观察者模式 https://www.cnblogs.com/cutter-point/p/5249780.html 不过有一点需要注意一下啊,这个消息发布的时候,好像是不支持字节数据的,里面好像会对字节进行转换,这样 阅读全文
posted @ 2019-06-12 17:43 cutter_point 阅读(481) 评论(0) 推荐(0)
摘要: 顾名思义这个就是再消费的时候,不是之前的那哥用yield进行线程切换的操作,而是用线程等待阻塞的方式去执行,说实话我感觉效率不一定有之前那个好, 因为我对这种阻塞队列使用的时候,之前有发现阻塞队列,塞着塞着线程就会进入假死状态,这个很奇怪,但是有的时候又是好的,这个也不清楚到底是为什么 但是毕竟也是 阅读全文
posted @ 2019-06-12 17:37 cutter_point 阅读(3754) 评论(0) 推荐(0)
摘要: 1、这是第一个简单的初始化版本,看起来比使用fqueue似乎更好用 消费 测试,这里我踩了个坑,切记每个线程最好先获取一次资源,也就是 结果: 阅读全文
posted @ 2019-06-12 10:50 cutter_point 阅读(2740) 评论(0) 推荐(0)
摘要: 1、刚开始写scala,发现确实还是很不熟悉,api以及语法的使用都不是很简洁,这写出来跟java也没差多少。。。 献丑了 阅读全文
posted @ 2019-06-12 09:37 cutter_point 阅读(710) 评论(0) 推荐(0)
摘要: 1.这里先要说一下为什么会想到fqueue,因为这个是一个轻量级的消息队列框架,并且速度很快,用起来很方便,就是这样 当然后期考虑使用redis,这里先上一个fqueue的版本,后面有时间我再吧他改成redis版本吧,感觉可能redis版本可能更适合 测试代码: 效果展示: 阅读全文
posted @ 2019-06-11 11:00 cutter_point 阅读(740) 评论(0) 推荐(0)
摘要: 因为scala也是基于jvm上运行的,所以能跑java,原则上就能跑scala 1、国际惯例,先来个hello world走走 2.好,然后我们简单写几个程序,标识scala的基础入门吧 文件操作 这个功能用java实现,没个几百行估计搞不定。。。 光是文件输入输出的io操作代码,什么File = 阅读全文
posted @ 2019-06-09 18:31 cutter_point 阅读(163) 评论(0) 推荐(0)
摘要: 二叉树节点插入 0.如果只有一个节点,那么就直接作为根,涂黑,如果父为黑,或者祖父为空,那么不做操作 1.叔叔节点不为空且为红 那么就修改父,叔叔,祖父节点颜色,最后把当前节点设置为祖父节点,在进行平衡 2.如果父为右节点,并且叔叔节点为空或者为黑,当前节点是右节点,如果父不为空, 那么把父设置为黑 阅读全文
posted @ 2019-06-05 10:50 cutter_point 阅读(640) 评论(0) 推荐(0)
摘要: 1.首先我们需要一个util辅助类 2.map类 3.reduce类 4.启动类 数据源: 我们文件原始数据格式展示 我们清洗之后数据展示 展示数据 阅读全文
posted @ 2019-05-17 17:35 cutter_point 阅读(382) 评论(0) 推荐(0)
摘要: 设置我们的flume配置信息 这个脚本配置好,设置启动命令,使用nohup是为了之后采集器自己后期自动运行 nohup flume-ng --conf hadoop/flume/conf -f hadoop/flume/conf/flume-conf.properties -n agent1 -Df 阅读全文
posted @ 2019-05-15 14:51 cutter_point 阅读(280) 评论(0) 推荐(0)
摘要: 首先什么是观察者模式,可以看看我之前的设计模式的文章 https://www.cnblogs.com/cutter-point/p/5249780.html 确定一下,要有观察者,要有被观察者,然后要被观察者触发事件,事件发生之后,观察者触发相应的事件发生 了解了基本概念,我们来看看zookeepe 阅读全文
posted @ 2019-04-08 10:06 cutter_point 阅读(1027) 评论(0) 推荐(0)
摘要: 1.首先机器要求8核,不然可能会慢点 2.数据库建表的时候,最后建那种nologging类型的表,不然归档日志满了,数据库入库会很慢,甚至丢数据,因为数据量很大,我们不可能一次性提交所有数据,只能分批提交 业务逻辑实现接口类 一些辅助类,可要可不要,看业务逻辑 这里开始,我们实战使用这个方法解析入库 阅读全文
posted @ 2019-03-19 18:03 cutter_point 阅读(3544) 评论(2) 推荐(3)
摘要: 我真是服了。。。。一段时间没用,快排都不会了,实打实写了半天,细细回想一下为什么会写那么久写不出来??? 1.没有吧概念理解清楚就开始动代码,致命错误 2.无法准确明白前后遍历索引终止位置 3.习惯重低位向高位进行索引,导致中间索引位置和真正的中间位置相差一位,因为我们比较的时候,是按照从小到大的顺 阅读全文
posted @ 2019-03-13 11:45 cutter_point 阅读(211) 评论(0) 推荐(0)
摘要: 最近有这样一个功能点,我实现了一个多线程的队列,生产线程ftp获取文件,然后扫描指定目录,获取文件基础信息,然后put进入队列,然后消费者通过这个信息解析文件进行入库,因为文件会比较多,所以到时候会起多个消费线程去解析数据,并且考虑到复用,不用的文件,消费消除要分化操作(策略模式),但是遇到一个问题 阅读全文
posted @ 2019-03-07 10:44 cutter_point 阅读(759) 评论(0) 推荐(0)
摘要: 通过avro输出数据,我们的数据集是: 结果使用avro-tool进行查看: H:\>java -jar avro-tools-1.8.2.jar tojson H:\ideaworkspace\1-tmp\output1\part-r-00000.avro 阅读全文
posted @ 2019-02-18 17:42 cutter_point 阅读(701) 评论(0) 推荐(0)
摘要: 1.服务器设置 集群规划 Namenode-Hadoop管理节点 10.25.24.92 10.25.24.93 Datanode-Hadoop数据存储节点 10.25.24.89 10.25.24.90 10.25.24.91 Zookeeper—高可用推举机制 1- 标识需要安装 NN-name 阅读全文
posted @ 2019-01-11 15:42 cutter_point 阅读(542) 评论(0) 推荐(0)
摘要: 1.网上很多关于搭建Hadoop集群的知识,这里不多做叙述,并且本机运行Hadoop程序是不需要hdfs集群的,我们本机运行只做个demo样式,当真的需要运行大数据的时候,才需要真正的集群 2.还有就是词频统计的知识,不论是官方文档,还是网上的知识,基本都能随意百度个几百篇出来 但是我找半天,确实是 阅读全文
posted @ 2018-12-16 21:30 cutter_point 阅读(1598) 评论(0) 推荐(0)
摘要: 1、我们先设置一些常量数据 2、创建对应的信息vo载体 3、创建编码解码器,进行报文的编码解码(关键,划重点哦,特别是校验和的计算) 4、创建对应的成帧器,来获取发送每一帧信息 5、根据模板模式,设计模板类,用来与MML服务器通信 6、发送指令操作 直接调用(各个地方的某些字段可能不同,这个参考常量 阅读全文
posted @ 2018-08-16 23:40 cutter_point 阅读(2829) 评论(0) 推荐(0)
摘要: 分化:RMI,EJB,Hessian Spring有 Rmi,http,hessian,burlap 基于rmi的remoting方案 RMI要求远程类对象包路径和本地一致 基于HTTP的轻量级remoting方案 基于spring的http invoke 基于caucho的hessian 基于ca 阅读全文
posted @ 2018-07-29 18:00 cutter_point 阅读(144) 评论(0) 推荐(0)