- 博客(157)
- 资源 (2)
- 收藏
- 关注
原创 微服务Eureka
大型系统一般拆分为多个子系统,在微服务中,这些子系统就是微服务,每一个服务需要部署多个实例,这些实例就需要使用Eureka进行服务管理。服务ID/名称是唯一标识,根据唯一标识在注册中心找到实例信息,再调用服务。EurekaServer服务端POM文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http...
2018-08-28 18:24:55
683
原创 ZkShell 命令详解
Zookeeper提供类似shell环境,方便用户访问、操作数据,使用 bin目录下的 zkCli.sh命令,可以进入shell环境,同时可以查看到Zookeeper环境配置。zkCli.sh [-server ip:port] 例:zkCli.sh -server 127.0.0.1:2181ls / //查看zk节点ls2 / //查看zk节点 附带统计信息
2017-10-19 16:30:32
13836
原创 ZooKeeper安装 及 分布式搭建
下载镜像地址(3.4.9):http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz解压tar xzvf zookeeper-3.4.9.tar.gz解压后移至 /usr/local 目录下修改配置文件${ZOOKEEPER_HOME}/conf/zoo_sample
2017-10-18 13:31:43
616
原创 Zookeeper简介
定义:Zookeeper是维护配置信息,命名,构建复杂同步和提供组服务的优质服务,是google的chubby项目的开源实现,Hadoop的子项目。解决的问题:一、配置管理zookeeper提供里集中管理配置的方法,在集中管理配置的地方改了配置,所有对这个配置感兴趣的都可以获得变更,这样省去了手动配置,保证里可靠性与一致性。二:名字服务分布式环境下,经常需要对服务/应用做统
2017-10-16 18:39:44
375
原创 调停者模式(Mediator)
定义:调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。类图:角色:抽象调停者(Mediator)角色:定义出同事对象到调停者对象的接口,其中主要方法是一个(或多个)事件方法
2017-05-07 00:54:41
1421
原创 解释器模式(interpreter)
定义:一种按照规定语法进行解析的方案类图:角色1.AbstractExpression抽象解释器:具体的解释任务由各个实现类完成,具体的解释器分别由TerminalExpression和NonterminalExpression2.TerminalExpression终结符表达式:实现与文法中的元素相关联的解释操作,通常一个解释器模式中只有一个终结表达式,但有多个实
2017-05-06 00:54:01
494
原创 状态模式(State)—考勤系统
定义:状态模式是对象的行为模式,允许一个对象在其内部状态改变时改变他的行为,这个对象看上去就像改变了他的类一样。角色:环境(Context)角色:
2016-01-27 11:35:52
2169
原创 备忘录模式(Memento)—通风系统
定义:备忘录模式又叫做快照模式,或Token模式,是对象的行为模式。备忘录对象是一个用来存储另外一个对象内部状态的快照的对象,其用意是在不破坏封装的前提下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来合适的时候,将这个对象还原到存储起来的状态。角色:备忘录(Memento)角色:将发起人对象的内部状态存储起来。发起人(Originator)角色:创建一个含有当前的
2016-01-25 17:10:25
689
原创 命令模式(Command)—挤奶工挤奶
定义:命令模式属于对象的行为模式,又叫行动模式、交易模式。命令模式把一个请求或者操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。角色:客户端(Client)角色:创建一个具体命令对象(ConcreteCommand),并确定接收者。命令(Command)角色:声明一个给所有具体命令对象的接口。具体
2016-01-22 18:23:10
651
原创 责任链模式(chain)—员工请假
定义:责任链模式是对象的行为模式,在责任链模式里,很多对象由每一个对象对其下家的引用而链接起来形成一条链,请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道哪一个对象处理此请求,这使得系统在不影响客户端的情况下动态的重新组织和分配责任。角色列表:抽象处理者角色(Handler):定义出一个处理请求的接口或者抽象类,如果需要,接口可以定义出一个方法以设定
2016-01-21 13:53:57
1527
原创 迭代器模式(Iterator)—牛群体检
定义:提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。角色列表:迭代器角色(Iterator):迭代器角色负责定义访问和遍历元素的接口。具体迭代器角色(ConcreteIterator):具体迭代器角色实现迭代器接口,并记录当前的遍历位置。容器角色(Container):容器角色负责提供创建具体迭代器角色的接口。具体容器角色(ConcreteCo
2016-01-20 18:37:13
548
原创 观察者模式(Observer)—水泥厂发通知
观察者模式观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。类图角色抽象主题(Subject)角色:抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察
2016-01-08 13:59:50
1166
原创 模板模式(Template)-水泥厂订货
模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 T模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。角色:抽象类(AbstractClass): 定义抽象的原语操作(primitive operation) ,具体的子类将重定义它们以实现一个算法, 实现一个模板方法,定义一个算法的骨架。该模板方法不仅调用原语操作,也调用定义具体子类 (Con
2016-01-07 15:13:58
847
原创 策略模式(Strategy)—养牛场卖鲜奶
策略模式:策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。策略模式的三个角色:环境(Context)角色:持有一个Strategy的引用。抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口
2015-12-31 16:05:01
709
转载 不变模式(Immutable)
本例实在没啥好写的,理解即可,转载一网上的内容阎宏博士的《JAVA与模式》一书中开头是这样描述不变(Immutable)模式的: 一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。不变模式的结构 不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享某一个对象,降低了对该对象进行并发访问时的同步化开销。如果需要修改一个不变
2015-12-25 18:44:56
904
原创 适配器模式(Adapter)—山下的养牛场
适配器模式:将一个类的接口转换成客户端所期待的接口,从而使因接口不匹配而无法工作的两个类能够在一起工作。角色列表:目标角色(Target):期待得到的接口源角色(Adaptee):需要适配的接口适配器角色(Adapter):将原接口转换成目标接口,必须是具体类适配器模式可分为类的适配模式与对象的适配模式,区别是类的适配模式中适配器与原接口是继承关系,对象的适配模式中适配器与
2015-12-23 19:26:56
445
转载 正则表达式
这是一篇网上的文章,感觉比较实用,本人整理了下,备在此处留用。1.正则表达式基本语法两个特殊的符号'^'和'$'。他们的作用是分别指出一个字符串的开始和结束。例子如下:"^The":表示所有以"The"开始的字符串("There","The cat"等);"of despair$":表示所以以"of despair"结尾的字符串;"^abc$":表示开始和结
2015-12-22 18:30:43
381
原创 桥接模式(Bridge)—村民打工
桥接模式:某些类型具有多个维度的变化,引入新的维度不会增加系统的复杂度,桥接模式将类的抽象与实现部分分离,实现耦合关系,从而使各个维度可以自由变化。类图如下:在桥接模式中对每个维度进行抽象,然后再抽象类中进行耦合,通过耦合实现调用关系的灵活变化。例:山下的村民需要打工,村里有石雕厂与养牛场/** * 村里的村民要打工,村里有石雕厂 养牛场 * 男村民可以去石雕厂、养牛场
2015-12-17 11:53:35
482
转载 Java 异常基础 Exception
java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常的根类。 比如程序: public class ExceptionTest{ public static void main(String[] args) { int a = 3; int
2015-12-16 14:00:36
4032
转载 spring aop execution表达式
execution 中第一个*表示任何返回类型. 要注意一点,类名需要用一个.占位 再如: save*(..):以save开头的方法
2015-12-15 13:36:50
325
转载 web.xml中的url-pattern映射规则
Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单。servlet和filter中的url-pattern有一些文章在里面的,总结了一些东西,以免遇到问题又要浪费时间。 一,servlet容器对url的匹配过程: 当 一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是
2015-12-10 21:43:41
573
原创 代理模式(Proxy)—山下的水泥厂
代理模式:提供一个代理对象,当原对象被调用时,通过代理对象调用,代理模式起在客户端与原对象中间起到中介的角色。分为三部分角色:抽象对象角色(AbstractObject):声明目标对象与代理对象的抽象接口或类,方便委派具体对象角色(RealObject):定义真正的对象角色代理对象角色(ProxyObject):代理对象含有对具体对象的引用,并持有对具体对象的接口,代理对象一般都会
2015-12-10 14:29:50
1078
原创 享元模式(FlyWeight)—山上打井
享元模式:使用共享来避免许多相同对象的内存开销。类图:包括三个角色:抽象享元角色(FlyWeight):给出抽象类或者抽象接口,规定具体享元类的实现方法。具体享元角色(Concrete):实现抽象享元角色,如果有内蕴状态,给出存储空间。享元工厂角色(FlyWeightFactory):负责管理与创建享元角色。在客户端调用享元对象时,如果系统中存在符合要求的享元对象,就会
2015-12-09 16:25:17
888
原创 门面模式(Facade)(外观模式)—向养牛场送货
门面模式 :为子系统构建与外部系统交互的统一界面。门面模式的优点,我认为有两点: 1:解耦各个子系统,减少子系统与外部系统调用时的频繁调用, 2:屏蔽子系统内的方法,这样就可以尽量少的向外部系统暴露方法。例子:向养牛场送货类图;Facade角色:Guard门卫,负责与内部系统的交互,即与仓库保管员与兽医站人员的交互子系统角色:Verterinary兽
2015-12-08 15:26:58
588
原创 合成模式(Composite)-山下的养牛场
合成模式:描述整体与部分的关系,将对象组织到树结构中,最典型的是文件与文件夹系统,分为安全式与透明式。例子:我家有座山,山下有个养牛场,牛分奶牛与黄牛,每头牛都有编号安全式:类图:抽象构建角色 Cattle类package composite2;/** * 合成模式 安全模式 * 山下牛场里的牛群图 * 抽象构建牛 * @author wang *
2015-12-07 18:26:37
439
原创 装饰模式(Decorator)-山下的石雕厂
装饰模式:是对一个类进行各种功能的丰富,使用Decorator模式扩充类的功能会比用子类生成的方式更加的灵活。装饰者与被装饰者拥有共同的超类。类图: 我家有座山,山下有座石雕厂,石雕厂有打磨石狮子的机器 抽象构建角色(被装饰者):石雕厂Carved类 具体构建角色(被装饰者的初始状态):雕刻石狮子LionCarved 装饰角色(持有构件的实例):机器
2015-12-02 20:02:31
373
转载 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
类与类图1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。3) 类的属性即类的数据职责,类的操作即
2015-11-26 14:07:14
390
转载 桥连模式
1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?例子1:设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:•第一种
2015-11-25 18:29:09
620
转载 适配器模式Adapter(结构型)
1. 概述: 接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。 例子1:iphone4,你即可以使用UBS接口连接电脑来充电,假如只有iphone没有电脑,怎么办呢?苹果提供了iphone电源适配器。可以使用这个电源适配器充电。这个iphone的电源适配器
2015-11-24 19:05:42
583
转载 linux 链接 ftp命令
1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入:ftp 192.168.1.1b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。2. 下载文件下载文件通常用get和mget这两条命令。a) get 格式:get [remote-file] [local-fil
2015-11-19 11:13:08
1970
原创 xss跨站攻击 cookie设置
关于cookie的问题,很多时候遇到的是信息泄露,为什么会有信息泄露,首先要了解什么是xss跨站脚本攻击,xss跨站攻击简单来说就是插入恶意代码,或者劫持用户cookie,从而达到操纵系统的目的。因此在浏览器上设置cookie的只读属性是安全的。设置方法如下: 定义 一过滤器方法:public class CookieFilter implements Filter {
2015-11-16 18:14:27
2780
转载 java 泛型
泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map 添加任意类的对象,即使最常见的情况是在给
2015-09-09 16:07:51
343
转载 什么是java的反射
反射:也就是说,在编译时,你获取了一个指向某个并不存在你的程序空间中的对象的引用;事实上在编译时你的程序无法获知这个对象所属的类. Java附带的库java.lang.reflect包含了:FIeld,Method,Constructor类.这些类型的对象是由jvm在运行时创建的,用以表示未知类里对应的成员.你就可以使用Constructor创建新的对象,用get(
2015-09-09 15:30:15
698
转载 设计模式概论
1. 设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 模式的经典定义:每个模式
2015-09-08 18:48:20
423
转载 Eclipse get/set方法自动加上字段注释
编码的时候通常要用到 JavaBean ,而在我们经常把注释写在字段上面,但生成的Get/Set方法不会生成,通过修改Eclipse源码可解决,直接上例子:/** * 员工ID */ private String userid; /** * 获取员工ID * @return userid 员工ID */ public
2014-10-29 11:39:30
5752
转载 Dos命令查看端口占用及关闭进程
1. 查看端口占用2. 关闭进程3. 端口状态1. 查看端口占用在windows命令行窗口下执行:netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口“8080”被PID(进程号)为2448的进
2014-05-15 09:04:54
1132
转载 Failed to load JavaHL Library.
以前使用的电脑是32位的,安装的svn可以正常使用,但是现在的电脑室64位的,安装好svn后,把项目提交到svn的过程中,总是弹出来一个错误的对话框: Failed to load JavaHL Library. These are the errors that were encountered: 从网上查看了一下解决办法, 1.选择window--->preferences
2014-05-13 16:57:57
593
转载 HttpClient4 Post XML到一个服务器上
现在网上介绍的HttpClient基本上全是3.x版本的内容,HttpClient4的API变化相对3已经变化很大,对HttpClient4做了简单的研究后,完成了一个HttpClient4 Post XML功能。 对于POST方式,最先想到的就是表单提交了,POST XML自然想到的就是定义一个变量名,比如叫xmldata,然后将这个参数的值POST出去,在服务端接收的时候,自然
2014-05-07 15:10:12
1400
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人