- 博客(9)
- 收藏
- 关注
原创 TCP四次挥手释放连接的相关问题思考
1.为什么需要第四次挥手? 三次不能吗?(假设从客户端开始发起第一次挥手, 即第三次挥手由服务端发送). 如果只有三次挥手, 那么当服务端发起第三次挥手之后就关闭了, 客户端收到这一次报文也就可以关闭了. 这是理想化的情况, 那么如果这一次没能发送成功+接收成功呢? 这样的话服务端是直接关闭了, 但是客户端一直就不会得到服务端”我没有信息要发送了, 你可以关闭了”这样一个信号, 那么客户端的资源...
2019-10-12 08:49:19
472
原创 20190921 有赞校招 大数据开发工程师(现场两面)
已经收到感谢信了. 不过经历两轮一共差不多2小时的面试, 感觉对自己的知识水平自信很多了面试质量我觉得很高, 方方面面都考察到了, 也一直听说有赞的技术水平很不错, 没去成还是挺可惜的. 总之面试体验很不错, 不清楚的地方会引导我, 但有些属实答不上来, 没办法了就没有笔试, 直接筛简历. 面试之前HR会给同岗位的拉一个群, 我看了一圈, 三四十个人里我的学校是最菜的, 而且还是本科生, 那可...
2019-10-03 11:56:26
439
原创 Spark源码学习: stage的划分方式
之前学习Spark的时候, 关于宽窄依赖以及stage划分, 一直都知道几句话:宽依赖和窄依赖的一个重要区别是有无shuffle根据宽依赖来进行stage划分在DAG中进行反向解析, 遇到宽依赖就断开, 遇到窄依赖就把当前的RDD加入到当前的阶段中虽然知道了, 但是好像跟背书没什么区别. 还是得知其所以然的直接看涉及stage划分的这段源码吧. 定位起来也很简单, 写一个Action...
2019-09-09 23:22:33
486
原创 根据官网文档看Spark的checkpoint机制
继续跟着官网文档学习先思考一个根源问题: 为什么要看官网呢? 磕磕绊绊的, 看看中文的文章不好吗?其实我一开始学大数据也是喜欢看博客看视频的讲解, 但是慢慢发现有一个现象: 我感觉大数据这方面的知识内容, 在网上完全没有像Java或者数据库/网络的知识那样有共识性. 前者们很多内容都是类似于常识的了, 也基本没有什么不一样的声音. 而大数据的学习内容很多时候都是一家一言的理解, 好不容易理解了...
2019-09-05 00:43:11
216
原创 根据官网文档看Spark Streaming对接Kafka的两种方式, 以及如何实现"Exactly Once"语义
注: 本文算是本人的学习记录, 中间可能有些知识点并不成熟, 不能保证正确性. 只能算是对官网文档作了个翻译和解读, 随时有可能回来更新和纠错上一篇文章讨论了Spark Streaming的WAL(Write Ahead Log)机制, 最后给出了三个流处理的语义:不仅是在Spark Streaming, 在其他的实时处理框架下, 这也还是需要面对的问题先简单理解一下这三个语义:At ...
2019-09-03 01:51:58
488
原创 Spark Streaming的WAL机制
WAL(Write Ahead Logs)是Spark中的一个容错机制, 在Hbase中也有应用到. 先可以思考一下, 为什么要有WAL这个机制:首先, 分布式情况下, 无论是计算还是存储, 设计都应该做好HA(High Available), 即假设节点故障是不可避免的, 总是有可能发生的假设处理过程中有节点宕机了或是网络出问题了, 也许计算任务可以重新分配给其他节点(如MapReduce的...
2019-09-02 00:56:56
1169
原创 对事务隔离级别的新思考(InnoDB & MVCC & 间隙锁)
先简单过一下ACID的概念吧我之前觉得好像就这么回事儿, 凌晨的时候读到一篇MVCC解决幻读的文章, 秉着好奇心读了读, 发现之前的理解似乎有点浅薄.就是一个很明显的问题: 既然串行化是低性能的, 而可重复读是...
2019-08-25 04:12:41
363
原创 对equals()和hashCode()两者关系的实践证明
hashCode()和equals()是Object类中的两个方法, 大家都知道重写equals()方法需要把hashCode()方法一起重写. 我也知道, 但是之前一直不理解究竟是为什么, 因为只重写equals()方法也没见到编译器会报错或者警告呀? 今天学习的时候又碰到了这个问题, 于是就认真研究了一番.说别的都是白说, 直接看源码注释吧.注意划红线的部分, 说它这个方法得出的hash值...
2019-07-15 22:47:52
209
原创 HashMap源码put()方法逐行详解原理(JDK1.8)
HashMap是java中常用的一个集合, 也是面试大公司几乎必问的一个知识点. 无论是为了面试还是提升能力, 或是学习源码的编程思想, 了解它的底层原理是很重要的.要了解HashMap的底层原理, 就得深入理解它的源码. 本文将逐行逐行解释HashMap的put()方法及其涉及到的原理和思想, 希望对大家有帮助.本次我们讨论的是JDK1.8的HashMap. 如果哪里说得有错误或是不足, 欢...
2019-06-04 10:57:55
779
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅