自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术世界

分享大数据领域技术、包括但不限于Storm、Spark、Hadoop等分布式计算系统,Kafka、MetaQ等分布式消息系统, MongoDB等NoSQL,PostgreSQL等RDBMS,SQL优

  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java设计模式(八) 适配器模式

适配器模式可将一个类的接口转换成调用方希望的另一个接口。这种需求往往发生在后期维护阶段,因此有观点认为适配器模式只是前期系统接口设计缺乏的一种弥补。从实际工程来看,并不完全这样,有时不同产商的功能类似但接口很难完全一样,而为了系统使用方式的一致性,也会用到适配器模式。

2016-05-09 07:09:35 2096

原创 Java设计模式(十二) 策略模式

本文结合实例详述了策略模式的实现方式,并介绍了如何结合简单工厂模式及Annotation优化策略模式。最后分析了策略模式的优缺点及已(未)遵循的OOP原则

2016-05-30 07:28:29 751

原创 Java设计模式(十一) 享元模式

本文介绍了享元模式的适用场景,并结合实例详述了享元模式的实现方式。最后分析了享元模式的优缺点及已(未)遵循的OOP原则

2016-05-23 08:22:38 780

原创 Java设计模式(四) 观察者模式

本文介绍了观察者模式的概念,UML类图,优缺点,实例分析以及观察者模式(未)遵循的OOP原则。

2016-05-20 08:07:30 991

原创 Java设计模式(十) 你真的用对单例模式了吗?

本文介绍了为何需要单例模式,单例模式的设计要点,饿汉和懒汉的区别,并通过实例介绍了实现单例模式的九种实现方式及其优缺点。

2016-05-16 08:20:40 1601 1

原创 Java设计模式(九) 桥接模式

当一种事物可在多种维度变化(如两个维度,每个维度三种可能)时,如果为每一种可能创建一个子类,则每增加一个维度上的可能需要增加多个类,这会造成类爆炸(3*3=9)。若使用桥接模式,使用类聚合,而非继承,将可缓解类爆炸,并增强可扩展性。

2016-05-12 07:29:34 959

原创 Java设计模式(七) Spring AOP JDK动态代理 VS. cglib

Spring的AOP有JDK动态代理和cglib两种实现方式。JDK动态代理要求被代理对象实现接口;cglib通过动态继承实现,因此不能代理被final修饰的类;JDK动态代理生成代理对象速度比cglib快;cglib生成的代理对象比JDK动态代理生成的代理对象执行效率高。

2016-05-06 07:49:33 1188

转载 如果有人问你数据库的原理,叫他看这篇文章

一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那些文章都很短。现在如果你查找最近时髦的技术(大数据、NoSQL或JavaScript

2016-05-05 19:58:25 2031

原创 Java设计模式(六) 代理模式 VS. 装饰模式

代理模式与装饰模式在代码组织结构上非常相近,以至于很多读者很难区分它们。本文将结合实例对比代理模式和装饰模式的适用场景,实现方式。

2016-05-03 07:11:47 924

Spark 调优 在 facebook 的实践

Spark 调优 在 facebook 的实践

2018-12-10

Spark core 源码解读与扩展

深入浅出介绍了 spark core 的原理,同时也进行了扩展,是大数据从业者很好的参考资料

2018-12-10

快学 scala 中文版 带完整目录

目 录 译者序 V 第1版序 XVII 前言 XIX 作者简介 XXIII 第1章 基础 A1 1 1.1 Scala解释器 1 1.2 声明值和变量 4 1.3 常用类型 5 1.4 算术和操作符重载 7 1.5 关于方法调用 8 1.6 apply方法 9 1.7 Scaladoc 11 练习 16 第2章 控制结构和函数 A1 19 2.1 条件表达式 20 2.2 语句终止 22 2.3 块表达式和赋值 22 2.4 输入和输出 23 2.5 循环 25 2.6 高级for循环 27 2.7 函数 28 2.8 默认参数和带名参数 L1 29 2.9 变长参数 L1 29 2.10 过程 31 2.11 懒值 L1 31 2.12 异常 32 练习 35 第3章 数组相关操作 A1 39 3.1 定长数组 39 3.2 变长数组:数组缓冲 40 3.3 遍历数组和数组缓冲 41 3.4 数组转换 42 3.5 常用算法 44 3.6 解读Scaladoc 45 3.7 多维数组 47 3.8 与Java的互操作 48 练习 49 第4章 映射和元组 A1 53 4.1 构造映射 53 4.2 获取映射中的值 54 4.3 更新映射中的值 55 4.4 迭代映射 56 4.5 已排序映射 57 4.6 与Java的互操作 57 4.7 元组 58 4.8 拉链操作 59 练习 60 第5章 类 A1 63 5.1 简单类和无参方法 63 5.2 带getter和setter的属性 64 5.3 只带getter的属性 67 5.4 对象私有字段 68 5.5 Bean属性 L1 69 5.6 辅助构造器 71 5.7 主构造器 72 5.8 嵌套类 L175 练习 78 第6章 对象 A1 81 6.1 单例对象 81 6.2 伴生对象 82 6.3 扩展类或特质的对象 83 6.4 apply方法 84 6.5 应用程序对象 85 6.6 枚举 86 练习 87 第7章 包和引入 A1 91 7.1 包 91 7.2 作用域规则 93 7.3 串联式包语句 95 7.4 文件顶部标记法 95 7.5 包对象 96 7.6 包可见性 97 7.7 引入 97 7.8 任何地方都可以声明引入 98 7.9 重命名和隐藏方法 99 7.10 隐式引入 99 练习 100 第8章 继承 A1 103 8.1 扩展类 103 8.2 重写方法 104 8.3 类型检查和转换 105 8.4 受保护字段和方法 106 8.5 类的构造 106 8.6 重写字段 107 8.7 匿名子类 109 8.8 抽象类 109 8.9 抽象字段 110 8.10 构造顺序和提前定义 L3 110 8.11 Scala类继承关系 112 8.12 对象相等性 L1 114 8.13 值类 L2 116 练习 117 第9章 文件和正则表达式 A1 121 9.1 读取行 121 9.2 读取字符 122 9.3 读取词法单元和数字 123 9.4 从URL或其他源读取 124 9.5 读取二进制文件 124 9.6 写入文本文件 124 9.7 访问目录 125 9.8 序列化 125 9.9 进程控制 A2126 9.10 正则表达式 129 9.11 正则表达式组 130 练习 131 第10章 特质 A1135 10.1 为什么没有多重继承 135 10.2 当作接口使用的特质 137 10.3 带有具体实现的特质 138 10.4 带有特质的对象 139 10.5 叠加在一起的特质 140 10.6 在特质中重写抽象方法 141 10.7 当作富接口使用的特质 142 10.8 特质中的具体字段 143 10.9 特质中的抽象字段 144 10.10 特质构造顺序 145 10.11 初始化特质中的字段 147 10.12 扩展类的特质 148 10.13 自身类型 L2 149 10.14 背后发生了什么 151 练习 152 第11章 操作符 A1157 11.1 标识符 157 11.2 中置操作符 158 11.3 一元操作符 159 11.4 赋值操作符 160 11.5 优先级 161 11.6 结合性 162 11.7 apply和update方法 162 11.8 提取器 L2 164 11.9 带单个参数或无参数的提取器 L2166 11

2018-12-10

Linux/Unit Shell 脚本 指南 自己总结精华版

这个是本人在有一定的实战经验下,通过看书和看教学视频,结合一些人的学习需求总结出来的Linux /Unix 下Shell 脚本(命令)用法指南。为求好用,里面加入了不少例子。相信各位读者能很快上手。注:一定要多动手。

2012-12-30

空空如也

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

TA关注的人

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