自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YuanLicc的博客

不想成为大牛的程序员不是好牛!

  • 博客(75)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 HashMap - 源码解析

基本属性static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16Hash 表默认容量 1 << 4,1 向左移动4位 0b10000=16。static final int MAXIMUM_CAPACITY = 1 << 30;Hash 表最大容量 2302^{30}230,int 四个字节,最大正数为 231−12^{31} - 1231−1。static final float DEFAU

2020-10-09 18:03:57 230

原创 Hadoop - 作业提交过程(源码)未完待续

提交作业hadoop jar word-count.jar /user/1.txt,/user/2.txt,/user/3.txt /user/outputhadoop shell 关键代码#core commands *) # the core commands if [ "$COMMAND" = "fs" ] ; then CLASS=org.apa...

2020-04-03 16:24:03 439 2

原创 Hadoop - wordCount 实例

Hadoop - wordCount 实例hadoop 创建文件夹存放需要被统计的文件hadoop fs -mkdir /usr创建单子文件并写入内容,可在网上找几篇英文文章写入vim word.txt上传到 hdfshadoop fs -put word.txt /usr利用 maven 创建 word-count 项目mvn archetype:generate -Dgr...

2020-03-12 15:38:30 234

原创 Lambda - 并发

本文总结、摘录自书籍《Java 8 函数式编程》 系列文章 GitHub地址Lambda - 并发阻塞I/O假设要编写一个支持大量用户的聊天程序。每当用户连接到聊天服务器时,都要和服务器建立一个 TCP 连接。使用传统的线程模型,每次向用户写数据时,都要调用一个方法向用户传输数据,这个方法会阻塞当前线程。 这种 I/O 方式叫阻塞式 I/O,是一种通用且易于理解的方式,因为和程序...

2018-06-11 14:43:17 562

原创 Lambda - 数据并行化

本文总结、摘录自书籍《Java 8 函数式编程》 系列文章 GitHub地址数据并行化并行与并发并发是两个任务共享时间段,并行则是两个任务在同一时间发生,比如运行在多个CPU上。如果一个程序要运行两个任务,并且只有一个CPU给他们分配了不同的时间片,那么这就是并发,而不是并行。并行化是指缩短任务执行时间,将一个任务分解成几部分,然后并行执行。这和顺序执行的任务是一样的,区别就...

2018-06-11 14:42:37 632

原创 Lambda - 高级集合类、收集器

本文总结、摘录自书籍《Java 8 函数式编程》 系列文章 GitHub地址高级集合类、收集器方法引用先写个有点鸡肋的类,主要是突出方法引用是什么个东西,下面是Person对象的操作类的定义:public class PersonOperator { public static String getNameAndPrefix(Supplier&lt;Person...

2018-06-11 14:41:52 605

原创 Lambda - 类库

本文总结、摘录自书籍《Java 8 函数式编程》 系列文章 GitHub地址类库基本类型在 Java 中,有一些相伴的类型,比如 int 和 Integer—— 前者是基本类型,后者是装箱类型。基本类型内建在语言和运行环境中,是基本的程序构建模块;而装箱类型属于普通的 Java 类,只不过是对基本类型的一种封装。 Java 的泛型是基于对泛型参数类型的擦除。这就解释了为什么在 J...

2018-06-11 14:40:58 357

原创 Lambda - 流

本文总结、摘录自书籍《Java 8 函数式编程》 系列文章 GitHub地址流(java.util.stream.Stream)从外部迭代到内部迭代在处理一个集合时,我们通常会在集合上进行迭代:Integer total = 0;for(item :items) { total += item;}这样写存在的几个问题:1)每次进行迭代时,都要书写样板代...

2018-06-11 14:39:59 326

原创 Lambda - 表达式

本文总结、摘录自书籍《Java 8 函数式编程》Lambda函数式编程为了编写这类处理批量数据的并行类库,需要在语言层面上修改现有的 Java:增加 Lambda 表达式。面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。在写回调函数和事件处理程序时,程序员不必再纠缠于匿名内部类的冗繁和可读性,函数式编程让事件处理系统变得更加简单。能将函数方便地传递也让编写惰性代码变...

2018-06-11 14:37:58 1743

原创 HTTP 中继

本文摘自书籍《HTTP 权威指南》 此系列文章对应 github地址中继HTTP 中继(relay)是没有完全遵循 HTTP 规范的简单 HTTP 代理。中继负责处理 HTTP 中建立连接的部分,然后对字节进行盲转发。HTTP 很复杂,所以实现基本的代理功能并对流量进行盲转发,而且不执行任何首部和方法逻辑,有时是很有用的。盲中继很容易实现,所以有时会提供简单的过滤、诊断或内容转换功能。...

2018-05-28 21:39:53 1181

原创 HTTP 隧道

本文摘自书籍《HTTP 权威指南》 此系列文章对应 github地址隧道可以通过 HTTP 应用程序访问使用非 HTTP 协议的应用程序。Web 隧道允许用户通过 HTTP 连接发送非 HTTP 流量,这样就可以在 HTTP 上捎带其他协议数据了。使用 Web 隧道最常见的原因就是要在 HTTP 连接中嵌入非 HTTP 流量,这样,这类流量就可以穿过只允许 Web 流量通过的防火墙了。...

2018-05-28 21:39:12 4049

原创 HTTP 网关

本文摘自书籍《HTTP 权威指南》 此系列文章对应 github地址 网关HTTP 扩展和接口的发展是由用户需求驱动的。要在 Web 上发布更复杂资源的需求出现时,人们很快就明确了一点:单个应用程序无法处理所有这些能想到的资源。为了解决这个问题,开发者提出了网关(gateway)的概念,网关可以作为某种翻译器使用,它抽象出了一种能够到达资源的方法。网关是资源和应用程序之间的粘合剂。应用...

2018-05-28 21:38:31 2605

原创 HTTP 缓存

本文摘自书籍《HTTP 权威指南》 此系列文章对应github地址缓存Web 缓存是可以自动保存常见文档副本的 HTTP 设备。当 Web 请求抵达缓存时,如果本地有“已缓存的”副本,就可以从本地存储设备而不是原始服务器中提取这个文档。使用缓存有下列优点。缓存减少了冗余的数据传输,节省了你的网络费用。缓存缓解了网络瓶颈的问题。不需要更多的带宽就能够更快地加载页面。缓存降低了对...

2018-05-28 21:37:43 182

原创 HTTP 代理

本文摘自书籍《HTTP 权威指南》 此系列文章对应 github地址代理Web 代理(proxy)服务器是网络的中间实体。代理位于客户端和服务器之间,扮演“中间人”的角色,在各端点之间来回传送 HTTP 报文。web中间实体Web 上的代理服务器是代表客户端完成事务处理的中间人。如果没有 Web 代理,HTTP 客户端就要直接与 HTTP 服务器进行对话。有了 Web 代理...

2018-05-28 21:36:45 641

原创 HTTP Web服务器

本文摘自书籍《HTTP 权威指南》 此系列文章对应 github地址Web服务器Web 服务器实现了 HTTP 和相关的 TCP 连接处理。负责管理 Web 服务器提供的资源,以及对 Web 服务器的配置、控制及扩展方面的管理。Web 服务器逻辑实现了 HTTP 协议、管理着 Web 资源,并负责提供 Web 服务器的管理功能。Web 服务器逻辑和操作系统共同负责管理 TCP 连接。底...

2018-05-28 21:35:57 443

原创 HTTP 连接管理

本文摘自书籍《HTTP 权威指南》 此系列文章对应github地址连接管理HTTP连接时HTTP报文传输的关键通道。TCP连接世界上几乎所有的HTTP通信都是由TCP/IP承载的,TCP/IP是全球计算机及网络设备都在使用的一种常用的分组交换网络分层协议集。TCP的可靠数据管道HTTP实际上就是TCP连接及其使用规则,是因特网上的可靠连接。TCP为HTTP提...

2018-05-28 21:35:08 658

原创 HTTP 报文

本文摘自书籍《HTTP 权威指南》 HTTP 报文HTTP报文是由一行一行的简单字符串组成的,是在HTTP应用程序之间发送的数据块,这些数据块以一些文本形式的元信息(meta-information)开头,这些信息描述了报文的内容及含义,后面跟着可选的数据部分。报文流报文在客户端、服务器核代理之间流动。术语:流入、流出、上游、下游。将客户端报文流向服务器的方向称为流入;相反...

2018-05-28 21:33:39 219

原创 HTTP 基础

本文摘自书籍《HTTP 权威指南》 HTTP 基础MIME type针对不同的数据类型,HTTP仔细的给每种要传输的对象都打上了名为MIME类型的数据格式标签。MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。HTML 格式的文本文档由 text/html 类型来标记。普通的 ASCII 文本文档由 text/plain 类型...

2018-05-28 21:33:02 230

原创 设计模式 - 访问者模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 访问者模式(Visitor Pattern)定义表示一个作用域某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用域这些元素的新操作,是一种对象行为型模式。模式结构抽象访问者,为对象结构类中每一个具体元素类声明一个访问操作,从这个操作的名称或参数类型可以清楚知道需要访问的具体元素...

2018-05-28 21:31:19 172

原创 设计模式 - 策略模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 策略模式(Strategy Pattern)定义定义一系列算法,每一个算法封装起来,并让他们可以相互替换。策略模式让算法独立于使用它的客户而变化,是一种对象行为型模式。模式结构public interface Strategy { void algorithm();}public cla...

2018-05-15 19:50:06 198

原创 设计模式 - 状态模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 状态模式(State Pattern)定义允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。是一种对象行为型模式。模式结构public interface State { void on(); void off(); void handle();}p...

2018-05-15 19:49:30 185

原创 设计模式 - 观察者模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 观察者模式(Observer Pattern)定义定义对象间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并自动更新。是一种对象行为型模式。模式结构Subject - 目标,又称为被观察的对象。在目标中定义了一个观察者集合,它可以存储任意数量的观察者对象,它提供一个接口来...

2018-05-15 19:49:00 158

原创 设计模式 - 备忘录模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 备忘录模式(Memento Pattern)定义在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态,是一种对象行为型模式。备忘录模式,顾名思义,此模式是一种历史的备份,如IDE内的撤销操作就是一种备忘的体现。模式结构class Memen...

2018-05-15 19:48:29 170

原创 设计模式 - 中介者模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 中介者模式(Mediator Pattern)定义用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。是一种对象行为型模式。中介者对象简单而言就是,当两个类A、B同为一个接口的实现类,这里称这两个类为同事类,当A中的方法需要调用B的方法时,一种...

2018-05-15 19:47:53 127

原创 设计模式 - 迭代器模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 迭代器模式(Iterator Pattern)定义提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标。迭代器是一种行为型模式。模式结构public interface Iterator { void first(); void last(); boolean...

2018-05-15 19:47:19 129

原创 设计模式 - 解释器模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 解释器模式(Interpreter Pattern)定义定义语言的文法,并且建立一个解释器来解释该语言中的句子,这里语言指的是使用规定格式和语法的代码,解释模式是一种类行为型模式。模式结构public class Context {...}public abstract AbstractExpre...

2018-05-15 19:46:44 203

原创 设计模式 - 命令模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 命令模式(Command Pattern)定义将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化,对请求与排队或记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式。模式结构public interface Receiver { ...}public inte...

2018-05-15 19:45:45 151

原创 设计模式 - 职责链模式

本文摘自书籍《设计模式》 此系列文章GitHub地址行为型 - 职责链模式(Chain Of Responsibility Pattern)定义避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象链接成一条链,并且沿着这条链传递请求,知道有对象处理它为止。是对象行为型模式。模式结构public abstract Handler { pr...

2018-05-15 19:44:58 157

原创 设计模式 - 代理模式 - 动态代理机制

此系列文章GitHub地址代理模式 - 动态代理机制动态代理与普通的代理从结构上来讲并没有任何区别,代理类也是实现了抽象主题类的定义,而被代理的类也是实现了抽象主题类的具体主题类,前面一章我们已经讲过了 —&gt; 链接,而具体的动态也就是我们不再具体实现代理类,而是由jdk的类库生成代理类,并实例化返回一个代理对象。就像上一章表现出来的一样,代理类实现了抽象主题接口,并关联了被代理的对象...

2018-05-13 17:31:00 264 1

原创 设计模式 - 代理模式

本文摘自书籍《设计模式》结构型 - 代理模式(Proxy Pattern)定义给某个对象提供一个代理,并由代理对象控制对源对象的引用。模式结构public interface Subject { void request();}public class RealSubject implements Subject { public void...

2018-05-13 17:29:57 137

原创 设计模式 - 享元模式

本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 享元模式(Flyweight Pattern)定义运用共享技术有效的支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,是一种对象结构型模式。模式结构public interf...

2018-05-13 17:29:19 169

原创 设计模式 - 外观模式

本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 外观模式(Facade Pattern)定义外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用,是一种对象结构型模式。模式结构public class Facade { private L...

2018-05-13 17:28:34 161

原创 设计模式 - 装饰模式

本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 装饰模式(Decorator Pattern)定义动态的给对象增加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活,是一种对象结构型模式。模式结构public interface Component { void operation();}public class Compon...

2018-05-13 17:27:43 205

原创 设计模式 - 组合模式

本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 组合模式(Composite Pattern)定义组合多个对象形成属性结构以表示“整体与部分”的结构层次。组合模式对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。属于对象结构模式。想象成树型结构即可,包含叶子节点(叶子对象)与非叶子节点(容器对象)。模式结构public interfac...

2018-05-13 17:26:33 167

原创 设计模式 - 桥接模式

本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 桥接模式(Bridge Pattern)定义将抽象本部分与它的实现部分分离,是他们都可以独立的变化。是一种对象结构性模式。模式结构public interface Implementor {...}public class ImplementorA implements Implementor...

2018-05-13 17:24:30 132

原创 设计模式 - 适配器模式

本文摘自书籍《设计模式》 此系列文章GitHub地址结构型 - 适配器模式(Adapter Pattern)定义将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。模式结构类适配器 public class Adaptee { public void method1 () { //逻辑 }}...

2018-05-10 20:48:48 122

原创 设计模式 - 单例模式

本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 单例模式(Singleton Pattern)定义单例模式确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。模式结构饿汉式 public class Singleton { private static final Singleton instance = new Sing...

2018-05-10 20:47:49 127

原创 设计模式 - 原型模式

本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 原型模式(Prototype Pattern)定义通过复制原型创建新的对象,是创建型模式。模式结构public interface Prototype etxends Serializable{ public Object deepClone();}public class Protot...

2018-05-10 20:47:07 145

原创 设计模式 - 建造者模式

本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 建造者模式(Abstract Factory Pattern)定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式一步一步创建一个的复杂对象,它允许用户通过制定复杂对象的类型和内容就可以构建他们,而不需要了解具体的构建细节。模式结构public class Comp...

2018-05-10 20:46:23 127

原创 设计模式 - 抽象工厂模式

本文摘自书籍《设计模式》 此系列文章GitHub地址创建型 - 抽象工厂模式(Abstract Factory Pattern)定义​ 提供一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体的类。模式结构public interface ProductPhone {...}public class ProductHuaWeiPhone implem...

2018-05-10 20:45:37 132

Hadoop技术内幕:深入解析MapReduce架构与实现原理

深入 剖析 了 Hadoop MapReduce 中 各个 组件 的 实现 细节, 包括 RPC 框架、 JobTracker 实现、 TaskTracker 实现、 Task 实现 和 作业 调度 器 实现 等。 书中 不仅 详细 介绍 了 MapReduce 各个 组件 的 内部 实现 原理, 而且 结合 源 代码 进行 了 深入 的 剖析, 使 读者 可以 快速 全面 地 掌握 Hadoop MapReduce 设计 原理 和 实现 细节。

2018-05-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除