高并发基础
小布爱篮球
从此踏上大数据这条不归路......
展开
-
Concurrent
Concurrent 一、阻塞式队列 - BlockingQueue 遵循先进先出(FIFO)的原则。阻塞式队列本身使用的时候是需要指定界限。 1.ArrayBlockingQueue - 阻塞式顺序队列 - 底层是基于数组来进行存储,使用的时候需要指定一个容量, 容量在指定之后不可改变。— 生产-消费模型 2.LinkedBlockingQueue - 阻塞式链式队列 - 底层是基于链表(节点...原创 2018-12-04 21:04:14 · 133 阅读 · 0 评论 -
Concurrent之_线程池
一、线程池 线程池 - 如果每一个请求对应一个线程,那么会导致线程大量的创建和销毁。减少线程的创建和销毁,希望能够重复使用已有的线程,有了线程池 — 存储线程的队列 特点: 1. 线程池在创建的时候里面是没有线程的 2. 当过来请求的时候,会在线程池中创建一个线程来处理这个请求。当请求处理完毕的时候,线程就会还回线程池,等待下一个请求 3. 核心线程在线程池中需要限定数量 4. 如果所有的核心线程...原创 2018-12-04 21:19:00 · 453 阅读 · 0 评论 -
Zookeeper(2)
复习: 1. Zookeeper:提供了分布式环境下的协调服务 a. 分布式环境下的引发问题 b. Zookeeper的单机安装 — 修改conf目录下的zoo.cfg c. Zookeeper的特点:Znode树;znode节点;每一个节点都必须存储数据;所有路径都是从根路径/开始计算;持久节点下一定可以有子节点;Znode是维系在内存中;不适合存储海量数据;每一次事务操作都会分配一个递增的全局...原创 2018-12-07 19:46:17 · 662 阅读 · 0 评论 -
Zookeeper:单机版和集群式
Zookeeper Zookeeper是开源的分布式的协调服务框架,是Apache Hadoop的子件,适用于绝大部分分布式集群的管理 分布式引发问题: 1. 死锁:至少有一个线程占用了资源,但是不占用CPU 2. 活锁:所有线程都没有把持资源,但是线程却是在不断地调度占用CPU 3. 需要引入一个管理节点 4. 为了防止入口的单点问题,需要引入管理节点的集群 5. 需要在管理阶段中选举出一个主节...原创 2018-12-05 20:27:29 · 232 阅读 · 0 评论 -
NIO
一、简述 是jdk1.4出现的新的流. BIO - Blocking IO - 同步式阻塞式IO — UDP/TCP NIO - New IO - 同步式非阻塞式IO AIO - AsynchronousIO - 异步式非阻塞式IO - jdk1.8 二、BIO的缺点 1. 会产生阻塞行为 — receive/accept/connect/read/write 2. 一对一的连接:每连接一个客...原创 2018-12-03 20:44:20 · 89 阅读 · 0 评论