03 2017 档案
摘要:CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续工作。CyclicBarrier默认的构造方法是CyclicBarrier
阅读全文
摘要:semaphore也就是我们常说的信号灯,semaphore可以控制同时访问的线程个数,通过acquire获取一个许可,如果没有就等待,通过release释放一个许可。有点类似限流的作用。叫信号灯的原因也和他的用处有关,比如某商场就5个停车位,每个停车位只能停一辆车,如果这个时候来了10辆车,必须要
阅读全文
摘要:countdownlatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完毕再执行。从命名可以解读到countdown是倒数的意思,类似于我们倒计时的概念。 countdownlatch提供了两个方法,一个是countDown,一个是await,countdownlatch
阅读全文
摘要:Condition是一个多线程协调通信的工具类,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒 condition中两个最重要的方法,一个是await,一个是signal方法 await:把当前线程阻塞挂起 signal:唤醒阻塞的线程 示例: 线程awaitT
阅读全文
摘要:J.U.C简介 Java.util.concurrent是在并发编程中比较常用的工具类,里面包含很多用来在并发场景中使用的组件。比如线程池、阻塞队列、计时器、同步器、并发集合等等。 Lock Lock在J.U.C中是最核心的组件,前面我们讲synchronized的时候说过,锁最重要的特性就是解决并
阅读全文
摘要:volatile的作用 volatile可以使得在多处理器环境下保证了共享变量的可见性,那么到底什么是可见性呢?不知道大家有没有思考过这个问题 在单线程的环境下,如果向一个变量先写入一个值,然后在没有写干涉的情况下读取这个变量的值,那这个时候读取到的这个变量的值应该是之前写入的那个值。这本来是一个很
阅读全文
摘要:示例: 运行结果: 997 如何保证线程并行的数据安全问题? 我们可以思考一下,问题的本质在于共享数据存在并发访问。如果我们能够有一种方法使得线程的并行变成串行,那是不是就不存在这个问题呢? 按照大家已有的知识,最先想到的应该就是锁吧。 synchronized的基本认识 在多线程并发编程中sync
阅读全文
摘要:线程的实现方式 1. 继承Thread类创建线程 2. 实现Runnable接口创建线程 如果自己的类已经extends另一个类,就无法直接extends Thread,此时,可以实现一个Runnable接口 3. 实现Callable接口通过FutureTask包装器来创建Thread线程 有的时
阅读全文
摘要:dubbo能解决什么问题 通过注册中心去维护url(zookeeper、redis、memcache…) 软负载均衡 自动去整理各个服务之间的依赖 需要一个监控平台,可以监控调用量、响应时间 Dubbo是什么 dubbo是一个分布式的服务框架,提供高性能的以及透明化的RPC远程服务调用解决方法,以及
阅读全文
摘要:paxos协议主要就是如何保证在分布式环网络环境下,各个服务器如何达成一致最终保证数据的一致性问题 ZAB协议,基于paxos协议的一个改进。 zab协议为分布式协调服务zookeeper专门设计的一种支持崩溃恢复的原子广播协议 zookeeper并没有完全采用paxos算法, 而是采用zab Zo
阅读全文
摘要:zookeeper集群角色 leader leader是zookeeper集群的核心。 follower observer 观察zookeeper集群中最新状态的变化并将这些状态同步到observer服务器上 增加observer不影响集群中事务处理能力,同时还能提升集群的非事务处理能力 zooke
阅读全文
摘要:权限控制模式 schema:授权对象 ip : 192.168.1.1 Digest : username:password world : 开放式的权限控制模式,数据节点的访问权限对所有用户开放。 world:anyone super :超级用户,可以对zookeeper上的数据节点进行操作 连接
阅读全文
摘要:zookeeper的数据模型和文件系统类似,每一个节点称为:znode. 是zookeeper中的最小数据单元。 每一个znode上都可以保存数据和挂载子节点。 从而构成一个层次化的属性结构。 节点特性 持久化节点 : 节点创建后会一直存在zookeeper服务器上,直到主动删除 持久化有序节点 :
阅读全文
摘要:Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的、具有高容错性的一致性算法。Google Chubby(分布式锁服务)的作者Mike Burrows说过,世上只有一种一致性算法,那就是Paxos,所有其他一致性算法都是Paxos算法的不完整版。Paxo
阅读全文
摘要:客户端发起一个https请求 客户端支持的加密方式 客户端生成的随机数(第一个随机数) 服务端收到请求后,拿到随机数,返回 证书(颁发机构(CA)、证书内容本身的数字签名(使用第三方机构的私钥加密)、证书持有者的公钥、证书签名用到的hash算法) 生成一个随机数,返回给客户端(第二个随机数) 客户端
阅读全文
摘要:java本身的序列化机制存在的问题 以至于在后来的很长一段时间,基于XML格式编码的对象序列化机制成为了主流,一方面解决了多语言兼容问题,另一方面比二进制的序列化方式更容易理解。以至于基于XML的SOAP协议及对应的WebService框架在很长一段时间内成为各个主流开发语言的必备的技术。 再到后来
阅读全文
摘要:网络协议:TCP/IP 和 UDP/IP TCP/IP(Transmission Control Protocol/Internet Protocol)是一种可靠的网络数据传输控制协议。定义了主机如何连入因特网以及数据如何在他们之间传输的标准。 TCP/IP协议参考模型把所有TCP/IP系列协议归类
阅读全文
摘要:1. 什么是分布式? 多个节点通过网络连接协同工作形成一个完整的系统。 协同工作需要解决两个问题:任务分解,节点通信 2. 分布式和集群关系 分布式:一个业务拆分成多个子系统,部署在不同的服务器上。 集群:同一个业务,部署在多个服务器上 3. 什么是大型网站 从下面两点判断: 1. 访问量(tps,
阅读全文
摘要:输出结果: 监听到事件:org.springframework.boot.context.event.ApplicationStartingEvent(1)监听到事件:org.springframework.boot.context.event.ApplicationEnvironmentPrepa
阅读全文
摘要:spring事件类型:ApplicationEvent spring事件监听器: ApplicationListener spring事件广播器: ApplicationEventMulticaster 监听所有spring事件: 打印结果: org.springframework.context.
阅读全文
摘要:被@Component注解标注的注解有:@Service, @Repository, @Controller, @Configuration @ComponentScan: 一般的注解只能写一次,而被@Repeatable标注的注解可以写多次
阅读全文
摘要:
阅读全文
摘要:spring.mvc.date-format=yyyy-MM-dd spring.jackson.date-format=yyyy-MM-dd spring.jackson.time-zone=GMT+8 @Data public class User { private Integer id; p
阅读全文
摘要:1. zookeeper是一个开源的分布式应用协调框架,为分布式系统提供一致性服务。其一致性是通过基于Paxos算法的ZAB协议完成的。 2. zookeeper主要功能:配置维护、域名服务、分布式同步、集群管理。 配置维护: 分布式系统中,很多服务都是部署在集群中的,即多台服务器中部署着完全相同的
阅读全文
摘要:为本机设置临时域名: 2. tomcat中可以设置虚拟主机,即多个不同域名的网站共存于一个tomcat中 比如这两个域名为:www.yin.com www.xiao.com 做法 1.修改hosts文件。mac系统的hosts修改请参照本站上篇文章。 添加内容:127.0.0.1 www.yin.c
阅读全文
摘要:主从复制: 现有一台虚拟机192.168.1.1 克隆两台虚拟机192.168.1.2,192.168.1.3,修改它们的mac地址和ip地址 下图中如果master没有password,那么可以忽略第二步:masterauth 启动一个master,两个slave,则slave中会自动产生rdb文
阅读全文

浙公网安备 33010602011771号