大纲1.Netty实现HTTP服务器2.Netty实现WebSocket3.Netty实现的消息推送系统(1)基于WebSocket的消息推送系统说明(2)消息推送系统的PushServer(3)消息推送系统的连接管理封装(4)消息推送系统的ping-pong探测(5)消息推送系统的全连接推送(6)消息推送系统的HTTP响应和握手(7)消息推送系统的运营客户端(8)运营客户端连接PushServe
大纲1.RPC的相关概念2.RPC服务调用端动态代理实现3.Netty客户端之RPC远程调用过程分析4.RPC网络通信中的编码解码器5.Netty服务端之RPC服务提供端的处理6.RPC服务调用端实现超时功能1.RPC的相关概念(1)什么是RPC(2)什么是静态代理(3)什么是动态代理(4)动态代理总结(1)什么是RPC本地只有一个方法的接口,需要在本地对这个方法进行远程调用,而对这个方法进行调用
大纲1.Netty服务端的启动流程2.服务端IO事件的处理类3.Netty客户端的启动流程4.客户端IO事件的处理类5.启动Netty服务端和客户端的方法说明6.Netty服务端和客户端使用总结7.什么是TCP粘包拆包8.TCP粘包拆包的几种情况9.TCP粘包拆包的原因10.粘包问题的解决策略11.拆包的原理12.粘包问题演示13.换行符解码器LineBasedFrameDecoder14.分隔符
大纲1.Buffer缓冲区2.Channel通道3.BIO编程4.伪异步IO编程5.改造程序以支持长连接6.NIO三大核心组件7.NIO服务端的创建流程8.NIO客户端的创建流程9.NIO优点总结10.NIO问题总结1.Buffer缓冲区(1)Buffer缓冲区的作用(2)Buffer缓冲区的4个核心概念(3)使用Direct模式创建的Buffer缓冲区(4)如何分配和读写一个Buffer缓冲区(
大纲1.网络基础的相关问题总结2.七层模型和四层模型3.物理层(网线 + 光缆 + 01电信号)4.数据链路层(以太网协议 + 网卡mac地址)5.网络层(IP协议 + 子网划分 + 路由器)6.传输层(TCP和UDP协议 + Socket + 端口)7.应用层(HTTP协议 + SMTP协议)8.浏览器请求一个域名会发生什么9.TCP三次握手建立连接的过程10.如果TCP建立连接只握手两次11.
大纲1.网络编程简介2.BIO网络编程3.AIO网络编程4.NIO网络编程之Buffer5.NIO网络编程之实战6.NIO网络编程之Reactor模式1.网络编程简介既然是通信,那么肯定会有两个对端。在网络编程里提供服务的一方叫服务端,连接服务端使用服务的另一方叫客户端。如果类的名字有Server或ServerSocket,则表示这个类是给服务端用的。如果类的名字只有Socket的,则表示这个类是
大纲1.什么是OSI开放系统互连2.OSI七层模型各层的作用3.TCP/IP协议的简介4.TCP和UDP的简介5.TCP连接的三次握手6.TCP连接的四次挥手7.TCP/IP中的数据包8.TCP通过确认应答与序列号提高可靠性9.HTTP请求的传输过程10.HTTP协议报文结构11.Socket、短连接、长连接、网络IO流程12.Linux的IO模型详情13.Linux的IO模型核心14.selec
大纲1.Curator的可重入锁的源码2.Curator的非可重入锁的源码3.Curator的可重入读写锁的源码4.Curator的MultiLock源码5.Curator的Semaphore源码1.Curator的可重入锁的源码(1)InterProcessMutex获取分布式锁(2)InterProcessMutex的初始化(3)InterProcessMutex.acquire()尝试获取锁
大纲1.Redisson的分布式锁简单总结2.Redisson的Semaphore简介3.Redisson的Semaphore源码剖析4.Redisson的CountDownLatch简介5.Redisson的CountDownLatch源码剖析1.Redisson的分布式锁简单总结(1)可重入锁RedissonLock(2)公平锁RedissonFairLock(3)联锁MultiLock(4)
大纲1.Redisson读写锁RedissonReadWriteLock概述2.读锁RedissonReadLock的获取读锁逻辑3.写锁RedissonWriteLock的获取写锁逻辑4.读锁RedissonReadLock的读读不互斥逻辑5.RedissonReadLock和RedissonWriteLock的读写互斥逻辑6.写锁RedissonWriteLock的写写互斥逻辑7.写锁Redi
大纲1.Redisson联锁MultiLock概述2.Redisson联锁MultiLock的加锁与释放锁3.Redisson红锁RedLock的算法原理4.Redisson红锁RedLock的源码分析1.Redisson联锁MultiLock概述(1)MultiLock的简介(2)MultiLock的使用(3)MultiLock的初始化(1)MultiLock的简介一.一次性要锁定多个资源的场景
大纲1.Redisson公平锁RedissonFairLock概述2.公平锁源码之加锁和排队3.公平锁源码之可重入加锁4.公平锁源码之新旧版本对比5.公平锁源码之队列重排6.公平锁源码之释放锁7.公平锁源码之按顺序依次加锁1.Redisson公平锁RedissonFairLock概述(1)非公平和公平的可重入锁(2)Redisson公平锁的简单使用(3)Redisson公平锁的初始化(1)非公平和
大纲1.Redisson可重入锁RedissonLock概述2.可重入锁源码之创建RedissonClient实例3.可重入锁源码之lua脚本加锁逻辑4.可重入锁源码之WatchDog维持加锁逻辑5.可重入锁源码之可重入加锁逻辑6.可重入锁源码之锁的互斥阻塞逻辑7.可重入锁源码之释放锁逻辑8.可重入锁源码之获取锁超时与锁超时自动释放逻辑9.可重入锁源码总结1.Redisson可重入锁Redisso
大纲1.Redis分布式锁的8大问题2.Redis的RedLock算法分析3.基于Redis和zk的分布式锁实现原理4.Redis分布式锁的问题以及使用建议1.Redis分布式锁的8大问题(1)非原子操作(set+lua)(2)忘了释放锁(手动+超时)(3)释放了其他线程的锁(lua+唯一值)(4)加锁失败的处理(自旋+睡眠)(5)锁重入问题(key是锁名+field是请求ID+值加1)(6)锁竞
目录1.红黑树的定义性质和推论2.红黑树的旋转操作3.红黑树之添加结点的方法4.红黑树之删除结点的方法一5.红黑树之删除结点的方法二1.红黑树的定义性质和推论(1)红黑树的定义和性质(2)红黑树的推论(1)红黑树的定义和性质为了保持平衡二叉树的平衡性,插入和删除都要频繁调整结点的位置。为此在平衡二叉树的平衡标准上进一步放宽条件,引入红黑树的结构。为了理解红黑树,对于n个结点的红黑树,会引入n+1个
大纲1.FutureTask(Future/Callable)的使用例子2.FutureTask(Future/Callable)的实现原理3.FutureTask(Future/Callable)的源码分析4.CompletableFuture的基本介绍5.CompletionStage方法及作用说明6.CompletableFuture的实现原理分析7.CompletableFuture的核心
大纲1.Runnable接口与Callable接口(1)Runnable接口实现异步任务(2)Callable接口实现异步任务2.Future模式(1)Future模式的概念(2)Future接口的使用(3)FutureTask类的使用3.CompletableFuture的使用和异步编程(1)使用Future时的问题(2)CompletableFuture的使用例子(3)CompletableF
大纲1.ThreadLocal的特点介绍2.ThreadLocal的使用案例3.ThreadLocal的内部结构4.ThreadLocal的核心方法源码5.ThreadLocalMap的核心方法源码6.ThreadLocalMap的原理总结1.ThreadLocal的特点介绍(1)ThreadLocal的注释说明(2)ThreadLocal的常用方法(3)ThreadLocal的使用案例(4)Th
大纲1.线程池的优势和JUC提供的线程池2.ThreadPoolExecutor和Excutors创建的线程池3.如何设计一个线程池4.ThreadPoolExecutor线程池的执行流程5.ThreadPoolExecutor的源码分析6.如何合理设置线程池参数 + 定制线程池1.线程池的优势和JUC提供的线程池(1)为什么使用线程池(2)线程池的优势(3)JUC提供的线程池(1)为什么使用线程
大纲1.标志位修改场景优先使用volatile(服务优雅停机)2.数值递增场景优先使用Atomic类(心跳计数器)3.共享变量仅对当前线程可见的场景优先使用ThreadLocal(edits log的处理)4.读多写少需要加锁的场景优先使用读写锁(服务注册表的并发读写)5.尽量减少线程对锁占用时间(edits log分段加锁)6.尽量减少线程对数据加锁的粒度(库存分段扣减)7.尽量按不同功能进行锁
大纲1.并发安全的数组列表CopyOnWriteArrayList2.并发安全的链表队列ConcurrentLinkedQueue3.并发编程中的阻塞队列概述4.JUC的各种阻塞队列介绍5.LinkedBlockingQueue的具体实现原理6.基于两个队列实现的集群同步机制1.并发安全的数组列表CopyOnWriteArrayList(1)CopyOnWriteArrayList的初始化(2)基
大纲1.JDK 1.7的HashMap的死循环与数据丢失2.ConcurrentHashMap的并发安全3.ConcurrentHashMap的设计介绍4.ConcurrentHashMap的put操作流程5.ConcurrentHashMap的Node数组初始化6.ConcurrentHashMap对Hash冲突的处理7.ConcurrentHashMap的并发扩容机制8.ConcurrentH
大纲1.等待多线程完成的CountDownLatch介绍2.CountDownLatch.await()方法源码3.CountDownLatch.coutDown()方法源码4.CountDownLatch总结5.控制并发线程数的Semaphore介绍6.Semaphore的令牌获取过程7.Semaphore的令牌释放过程8.同步屏障CyclicBarrier介绍9.CyclicBarrier的a
大纲1.ReentractReadWriteLock的基本原理2.基于AQS实现的ReentractReadWriteLock3.ReentractReadWriteLock如何竞争写锁4.ReentractReadWriteLock如何竞争读锁5.ReentractReadWriteLock的公平锁和非公平锁6.ReentrantReadWriteLock中的锁降级7.Condition的说明介
大纲1.JUC中的Lock接口2.如何实现具有阻塞或唤醒功能的锁3.AQS抽象队列同步器的理解4.基于AQS实现的ReentractLock5.ReentractLock如何获取锁6.AQS如何基于state变量实现可重入锁7.AQS如何处理CAS加锁失败的线程8.AQS的acquire()方法获取锁的流程总结9.ReentractLock如何释放锁10.ReentractLock的响应中断和超时
大纲1.wait()与notify()实现一个简易的内存队列2.wait()与notify()的底层原理3.分布式存储系统NameNode机制介绍4.分布式存储系统的edits log机制介绍5.分布式存储系统的NameNode实现6.分布式存储系统的创建目录功能的实现7.edits log的全局txid机制和双缓冲机制实现8.synchronized实现edits log分段加锁机制9.wait
大纲1.volatile关键字的使用例子2.主内存和CPU的缓存模型3.CPU高速缓存的数据不一致问题4.总线锁和缓存锁及MESI缓存一致性协议5.Java的内存模型JMM6.JMM如何处理并发中的原子性可见性有序性7.volatile如何保证可见性8.volatile为什么无法保证原子性9.volatile如何保证有序性10.volatile的原理(Lock前缀指令 + 内存屏障)11.双重检查
大纲1.什么是线程以及并发编程2.微服务注册中心案例3.以工作线程模式开启微服务的注册和心跳线程4.微服务注册中心的服务注册功能5.微服务注册中心的心跳续约功能6.微服务的存活状态监控线程7.以daemon模式运行微服务的存活监控线程8.一般不常用到的ThreadGroup是什么9.一般不会手动设置线程的优先级10.Thread线程的初始化过程11.Thread线程的启动过程12.sleep()方
大纲1.为什么要对JDK源码剖析2.ArrayList源码一:基本原理以及优缺点3.ArrayList源码二:核心方法的原理4.ArrayList源码三:数组扩容以及元素拷贝5.LinkedList源码一:优缺点和使用场景6.LinkedList源码二:双向链表数据结构7.LinkedList源码三:插入元素的原理8.LinkedList源码四:获取元素的原理9.LinkedList源码五:删除元
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号