首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
monkeysayhi
掘友等级
我是猴子007,一只非常特殊的动物,可以从事程序的开发、维护,经常因寻
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
68
文章 68
沸点 0
赞
68
返回
|
搜索文章
赞
文章( 68 )
沸点( 0 )
Hadoop单步debug追源码
参考Mac编译Hadoop源码编译好Hadoop源码后,就可以单步debug追源码了。 以单步debug追datanode源码为例。 会报文件不存在。因为此时JVM是hang住的(等待调试器连接,见下),还没有执行main方法,也就没有创建log文件。 转去配置IDEA。 ID…
HDFS1.x、2.x架构图
后面开始整理之前学习HDFS、Yarn时的笔记。 存储、管理元数据,包括文件信息、文件与数据块的映射。 处理与元数据相关的操作,如枚举路径、查看文件的逻辑大小等。 集群的协调者,如Datanode上下线、数据块的生命周期管理。 存储、管理数据块。 处理文件内容的读、写请求。 集…
HDFS-1.x、2.x的RPC接口
HDFS中的主要RPC接口。 架构图参考前文HDFS1.x、2.x架构图。 ClientProtocol:客户端与名字节点间的接口。客户端通过这个接口访问名字节点,操作文件或目录的元数据信息(如,获取数据块位置后,才能继续与数据节点通信读取数据)。另外,还能够管理或查看名字节点…
Mac编译Hadoop源码
单纯看书翻源码非常枯燥,为了单步debug追Hadoop源码,最好先在部署环境编译一份源码,以避免各种环境问题。 本文记录了猴子在自己的Mac上编译Hadoop源码的过程,结合之前的一次编译经验,基本覆盖了编译Hadoop源码时可能遇到的主要问题。 Hadoop源码量巨大、依赖…
浅谈偏向锁、轻量级锁、重量级锁
为了换取性能,JVM在内置锁上做了非常多的优化,膨胀式的锁分配策略就是其一。理解偏向锁、轻量级锁、重量级锁的要解决的基本问题,几种锁的分配和膨胀过程,有助于编写并优化基于锁的并发程序。 内置锁是JVM提供的最便捷的线程同步工具,在代码块或方法声明上添加synchronized关…
CAS中的ABA问题
补档CAS中的ABA问题。 要特别注意,常见的ABA问题有两种,要求能分别举例解释。 在CAS算法中,需要取出内存中某时刻的数据(由用户完成),在下一时刻比较并替换(由CPU完成,该操作是原子的)。这个时间差中,会导致数据的变化。 线程 1 从内存位置V中取出A。 线程 2 从…
分布式系统的基本特性
下面分别讨论。 一旦授权,可以访问环境中的任何资源。 新共享资源添加并被各种客户程序使用的(难易)程度。 分布系统中的各个组成部分可以在并发的过程中被执行。 在资源和用户数较大增长的情况下,系统性能仍能维持甚至提高。 DNS的解析:一方面,不仅可以为每个根域名设置单独的服务器,…
一文解决内存屏障
内存屏障是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采用不同的实现。 本文仅为了帮助理解JVM提供的并发机制。首先,从volatile的语义引出可见性与重排序…
浅谈双亲委派模型
本文浅析了双亲委派的基本概念、实现原理、和自定义类加载器的正确姿势。 对于更细致的加载loading过程、初始化initialization顺序等问题,文中暂不涉及,后面整理笔记时有相应的文章。 双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器。…
源码|并发一枝花之ReentrantLock与AQS(3):Condition
本文是《源码|并发一枝花之ReentrantLock与AQS》系列的最后一篇,分析与显式锁ReentrantLock配套的显式条件队列AQS#ConditionObject,以完善对AQS的使用和理解。 Lock接口对标内置锁,而Condition接口对标内置条件队列。Cond…
下一页
个人成就
优秀创作者
文章被点赞
2,487
文章被阅读
172,240
掘力值
7,389
关注了
1
关注者
3,952
收藏集
0
关注标签
5
加入于
2017-09-30