设计模式
来源:互联网 发布:软件 win7 开机启动 编辑:程序博客网 时间:2024/06/10 15:01
设计模式
创建型设计模式
1、工厂模式Factory、ConcreteFactory、Product、ConcreteProduct
2、抽象工厂模式AbstractFactory、ConcreteFactory、AbstractProduct、Product
3、建造者模式Builder、ConcreteBuilder、Director、Product
4、单件模式Singleton
5、原型模式Prototype、ConcretePrototype
结构型设计模式
1、适配器模式
Target、Client、Adaptee、Adapter
2、装饰模式
Component、ConcreteComponent、Decorator、ConcreteDecorator
3、桥接模式
Abstraction、RefinedAbstraction、AbstractionImp、ConcreteAbstractionImpA、B
4、享元模式
Flyweight、ConcreteFlyweight、FlyweightFactory、UnshareConcreteFlyweight、Client
5、外观模式
Façade、Subsystem Classes
6、代理模式
Proxy、Subject、ConcreteSubject、Client
7、组合模式
Component、Leaf
行为型设计模式
1、模板方法模式
AbstractClass、ConcreteClass
2、观察者模式
Subject、ConcreteSubject、Observer、ConcreteObserver
3、迭代子模式
Iterator、ConcreteIterator、Aggregate、ConcreteAggregate
4、责任链模式
Handler、ConcreteHandler、Client
5、备忘录模式
Memento、Originator、Caretaker
6、命令模式
Command、ConcreteCommand、Invoker、Receiver、Client
7、状态模式
Context、State、ConcreteState
8、访问者模式
Visitor、ConcreteVisitor、Element、ConcreteElement
9、中介者模式
Mediator、ConcreteMediator、ColleagueClass
10、 策略模式
Strategy、ConcreteStrategy、Context
Hadoop项目
Common:一系列组件和接口,用于分布式文件系统和通用I/O(序列化、Java RPC 和持久化数据结构)
Avro:一种序列化系统,用于支持高效、跨语言的RPC和持久化数据存储
MapReduce:分布式数据处理模型和执行环境,运行于大型商用机集群
HDFS:分布式文件系统,运行于大型商用机集群
Pig:数据流语言和运行环境,用以探究非常庞大的数据集。Pig运行在MapReduce和HDFS集群上
Hive:一种分布式的、按列存储的数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用以查询数据
HBase:一种分布式的、按列存储的数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询(随机读取)
ZooKeeper:一种分布式的、可用性高的协调服务。ZooKeeper提供分布式锁之类的基本服务用于构建分布式应用
Sqoop:该工具用于在结构化数据存储(如关系型数据库)和HDFS之间高效批量传输数据
Oozie:该服务用于运行和调度Hadoop作业(如MapReduce,Pig,Hive及Sqoop作业)
Java内存模型
1、Java包含了几个语言级别的关键字,包括:volatile, final以及synchronized,目的是为了帮助程序员向编译器描述一个程序的并发需求。Java内存模型定义了volatile和synchronized的行为,更重要的是保证了同步的java程序在所有的处理器架构下面都能正确的运行。
2、 单例模式
private static class LazySomethingHolder {
public static Something something= new Something();
}
public static Something getInstance() {
returnLazySomethingHolder.something;
}
// double-checked-locking - don't do this! 双重锁检查问题
private static Something instance = null;
public Something getInstance() {
if (instance == null) {
synchronized (this) {
if (instance == null)
instance = new Something();
}
}
return instance;
}
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式~~~~~~~~~~
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- 设计模式
- Java之美[从菜鸟到高手演变]之设计模式
- Java多线程编程总结
- 分布式一致性原理—BASE
- 【JavaSE】day10_对象流
- 三阶贝塞尔曲线拟合1/2正弦
- 设计模式
- SQL Server 2012 未将对象引用设置到对象的实例。(SQLEditors)
- 会场安排-图着色-最大重叠区
- iphone开发之表格组件UITableView的使用(五)UITableView与UItableViewCell常见属性以及单元格重用
- 投资股权众筹项目,至少需要关注6个方面
- Hadoop学习笔记(十六)---HBase JAVA API
- 运载符重载
- 大三暑假学习总结
- AFnetworking接收数据可变的问题!