场景:A.B.C.D(可以是一个机器的不同进程,也可以是不同机器的进程)启动了相同的项目,使用同一个数据库.但是,如果A修改了数据库的数据,需要B.C.D在很短的时间能够知道数据库发生了修改.当然可以在A.B.C.D上各启动一个线程对数据库进行监视,但是,这样会消耗数据库资源,不推荐采用这种方式. 解决方法: 1.使用ZK的watcher进行监视,此处不详解. 2.使用rabbitMq的广播模式进行监视. 3.其他消息发布订阅框架 rabbitMq的广播模式 1.建立连接工厂 2.生成队列 3.…
1.Zookeepe  Watcherr的事件类型和ZK状态. zookeeper:Watcher.ZK状态,事件类型(一)zookeeper有watch事件,是一次性触发的,当watch监视的数据发生变化时,通知设置了该watch的client.即watcher.同样:其watcher是监听数据发送了某些变化,那就一定会有对应的事件类型和状态类型. 事件类型:(znode节点相关的) EventType:NodeCreated //节点创建 EventType:NodeDataChanged…
ZooKeeper 类是ZooKeeper 客户端库的主要类.要使用ZooKeeper服务,应用程序必须首先实例化ZooKeeper类的对象.所有的迭代都将通过调用ZooKeeper类的方法来完成.除非另有说明,否则此类的方法是线程安全的. 一旦建立到服务器的连接,会话ID就分配给客户机.客户机将定期向服务器发送心跳以保持会话有效. 只要客户端的会话ID保持有效,应用程序就可以通过客户端调用ZooKeeper API. 如果由于某种原因,客户机在很长一段时间内(例如超过sessionTimeou…
前面关于Zookeeper提供的API中,可以观察到大部分接口参数似乎都是用了Wathcerz这个接口.这个在观察者模式中略有涉及,本文重点分析从观察者模式的角度分析该接口. 首先上该接口的UML图: 通过上图可知,该接口中的内部类分别定义了watcher的类型,keeper的链接状态以及监听的事件类型.对外提供的唯一的方法中参数WatcherEvent(该类所有信息由Zookeeper服务器端返回)的UML图如下: 下面看看zookeeper自身对于Watcher的实现: 具体分析服务端启动使…
String类的其他功能: 替换功能: String replace(char old,char new) String replace(String old,String new) 去除字符串两空格 String trim() 按字典顺序比较两个字符串 int compareTo(String str) 区分大小写 int compareToIgnoreCase(String str) 不区分大小写 public class StringTest3 { public static void m…
String类的获取功能 int length():获取字符串的长度. char charAt(int index):获取指定索引位置的字符 int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引. 为什么这里是int类型,而不是char类型? 原因是:'a'和97其实都可以代表'a' int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引. int indexOf(int ch,int fromIndex):返回指定字符在此字符…
一.概述 在写论文的过程中,我们经常需要将protel DXP上的原理图贴入到WORD中.我们可以选择使用截图工具,然后再导入到WORD中.但是由于普通截图图形文件都是位图文件,当我们将图形文件导入WORD后,通常需要调整大小,结果就使得文件中的图形变得模糊.当把论文打印出来,效果也非常差. 其实Proteus是具有将原理图转换为“矢量图EMF文件”的功能,但是protel DXP却没有这个功能,有没有好的办法使得protel DXP也具有生成矢量图的功能呢?这就是本文要解决的问题. 二.操作步…
1. String类的转换功能 String[] split(String regex)//将字符串变成字符串数组(字符串切割) byte[] getBytes()//将字符串变成字节数组 char[] toCharArray()//将字符串变成字符数组 static String valueOf(char[] chs) static String valueOf(int i ) //将字符串中字母转成大小写 String toLowerCase()//小写 String toUpperCase…
1. String类的获取功能 int length() // 获取字符串中字符的个数(长度) char charAt(int index)//根据位置获取字符 int indexOf(int ch)//获取字符ch在字符串中第一次出现的位置索引 int indexOf(String str)//获取str在字符串中第一次出现的位置 int indexOf(int ch, int fromIndex)//从指定位置from查找ch第一次出现的位置索引 int indexOf(String str…
1. String类的判断功能: boolean equals (Object obj ) boolean equalsIgnoreCase (String str ) boolean contains (String str ) boolean startsWith (String str ) boolean endsWith (String str ) boolean isEmpty() 2. 案例: package cn.itcast_03; /* * String类的判断功能: * bo…