关于网络通信
首先,我想要为接下来的博客起一个标题“网络通信”。那什么是网络通信呢? 网络通信最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理。 – 百度百科 好像还有点抽象,再举一个例子。 ## 1. 在192.168.10...
首先,我想要为接下来的博客起一个标题“网络通信”。那什么是网络通信呢? 网络通信最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理。 – 百度百科 好像还有点抽象,再举一个例子。 ## 1. 在192.168.10...
1. 三种缓存模式1.1 旁路缓存模式Cache Aside Pattern1.2 读写穿透Read/Write Through Pattern1.3 异步缓存写入Write Behind Pattern2. 分布式系统服务注册与发现原理3. Spring Boot自动装配原理4. 讲讲读写分离和分库分表的理解4.1 读写分离的好处4.2 读写分离会带来什么问题?如何解决?4.3 ...
1. TransmittableThreadLocal 怎么用?1.1 ThreadLocal使用子线程获取不到 父线程set到ThreadLocal所修饰变量的值; public class TtlTest { @Test public void Test001() { ThreadLocal<String> stringThrea...
1. 简介为构建锁和同步器提供基本的线程阻塞唤醒原语,LockSupport中的park()和unpark()的作用分别是阻塞线程和解除阻塞线程。类似于wait和notify,类似于await和signal。 2. 使用示例// 1. pack unpackpublic static void main(String[] args){ Thread t1 = new Thre...
Condition1. 使用Condition实现等待通知机制public class ConTest { final Lock lock = new ReentrantLock(); final Condition condition = lock.newCondition(); public static void main(String[] args) ...
1. FeatureTaskFutureTask是Runnable, Future接口的实现类; { FutureTask<String> futureTask = new FutureTask<String>( () -> { System.out.println(Thread.currentThread().getNa...
如何中断一个线程?1. while循环判断interrupt标识{ Thread t1 = new Thread(() -> { while (true) { if(Thread.currentThread().isInterrupted()) { System.out.pr...
通过一些demo ,尝试理解juc包下的一些类的用法; 1. 使用ReentrantLock进行同步说明:开启四个线程,每个线程首先去执行lock方法后,睡眠不同的时间后,最后执行unlock方法。 @Testpublic void Test() { ReentrantLock reentrantLock = new ReentrantLock();//非公平锁 // A B...
原子类1. LongAdder2. LongAccumulator{ LongAdder longAdder = new LongAdder(); longAdder.increment(); longAdder.increment(); longAdder.increment(); System.out.println(longAdder.sum()...
CAS1. ABA问题{ static AtomicInteger atomicInteger = new AtomicInteger(100); static AtomicStampedReference<Integer> stampedReference = new AtomicStampedReference<>(100,1); pu...