- 博客(225)
- 问答 (6)
- 收藏
- 关注
原创 Docker 的网络实现
标准的 Docker 支持以下 4 类网络模式:1)host 模式:使用 --net=host 指定2)container 模式:使用–net=container:NAME_or_ID 指定3)none模式:使用 --net=none 指定4)bridge 模式:使用 --net=bridge 指定,为默认设置。
2024-05-06 22:59:41
629
1
原创 Docker网络基础
Docker 本身的技术依赖于近年来 Linux 内核虚拟化技术的发展,Docker 对 Linux 内核的特性有很强的依赖。Docker 使用到的与 Linux 网络有关的主要技术有:网络命名空间、veth 设备对、网桥、ipatables 、路由。
2024-05-06 22:07:29
628
3
原创 领域驱动模型之各层实体严格分层处理
上层访问下层服务的时候,需要 converter 为下层所关注的实体对象,禁止一个实体对象贯穿所有层,防止上层代码污染或者侵入下层代码。在领域层定义领域模型中的 Entity 对象、Value 对象,其中 Entity 对象必须是可以通过某个属性唯一标识,而 Value 对象中的属性值是可以随时替换、不具备唯一性。基础设施层:负责将领域层的数据进行持久化工作,封装具体的持久化策略。领域层:只关注当前业务领域内的属性和行为,并封装领域内相关的数据处理逻辑,实现高内聚的设计原则;
2024-01-10 19:17:26
445
原创 令牌环桶算法的使用案例
import com.google.common.util.concurrent.Monitor;import com.google.common.util.concurrent.RateLimiter;import java.util.concurrent.TimeUnit;import java.util.function.Consumer;/** * @create 2021-02-15 19:21 * @desc 令牌环桶算法的使用案例 **/public class R.
2021-02-16 00:04:47
458
1
原创 RateLimiter 的限流操作---漏桶算法的应用
/** * @create 2021-02-15 11:35 * @desc 请求类 **/public class Request{ private final int data; public Request(int data) { this.data = data; } public int getData() { return data; } @Override public String toSt.
2021-02-15 15:42:44
656
2
原创 RateLimiter--限流--使用案例
import com.google.common.util.concurrent.RateLimiter;import static java.lang.Thread.currentThread;/** * @desc RateLimiter 的使用案例 * * 说明: 想开发一个程序向数据库中写入数据、向中间件服务器中发送消息、对某个 * 远程 TCP 端口发送字节,若这些操作的速率无法被控制,则可能会引起数据库 * 拒绝服务、中间件宕机、TCP 服务端口无法...
2021-02-15 10:31:20
1323
1
原创 Guava之Monitor
1、导入依赖:<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>19.0</version></dependency>2、案例import com.google.common.util.concurrent.Monitor;import st
2021-02-14 23:04:35
286
1
原创 StampedLock----提供“读写分离”,提高并发情况下的数据读取性能
import java.util.concurrent.locks.StampedLock;/** * @desc StampedLock使用案例 * * 补充: 使用 StampedLock 锁不需要额外创建出不同类型的 Lock 就可以很轻松地 * 完成“读写锁”的分离,提高并发情况下的数据读取性能。 **/public class StampedLockExample{ //共享数据 private static int shareData = ...
2021-02-14 19:38:49
194
1
原创 使用 Condition 实现多线程的生产者消费者场景
import java.util.LinkedList;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;import java.util.stream.IntStream;import static java.lang.Thread.currentThread;import sta...
2021-02-14 12:05:58
358
4
原创 Condition使用案例
import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;import static java.util.concurrent.ThreadLocalRandom.current;/** * @desc Cond..
2021-02-11 15:13:33
272
原创 读写锁--ReadWriteLock
import java.util.LinkedList;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;/** * @desc 读写锁的案例 说明1: 若某个线程获取了写锁进行数据写操作,那么此时其他线程对共享资源的读写操作都 ...
2021-02-11 11:25:52
160
1
原创 Phaser---重写Phaser 中的 onAdvance() 方法
import java.util.Date;import java.util.concurrent.Phaser;import java.util.concurrent.TimeUnit;import static java.lang.Thread.currentThread;import static java.util.concurrent.ThreadLocalRandom.current;/** * @desc 重写Phaser 中的 onAdvance() 方法 **/...
2021-01-31 19:51:35
277
2
原创 Phaser----将 Phaser 当作 CyclicBarrier 来使用
import java.util.Date;import java.util.concurrent.Phaser;import java.util.concurrent.TimeUnit;import static java.lang.Thread.currentThread;import static java.util.concurrent.ThreadLocalRandom.current;/** * @desc 将 Phaser 当作 CyclicBarrier 来使用 *..
2021-01-31 14:25:07
182
原创 Phaser ----将 Phaser 当作 CountDownLatch 来使用
import java.util.Date;import java.util.concurrent.Phaser;import java.util.concurrent.TimeUnit;import static java.util.concurrent.ThreadLocalRandom.current;import static java.lang.Thread.currentThread;/** * @desc 将 Phaser 当作 CountDownLatch 来使用 *..
2021-01-31 14:00:43
229
原创 Semaphore 使用案例
import java.util.concurrent.Semaphore;import java.util.concurrent.TimeUnit;import java.util.stream.IntStream;import static java.lang.Thread.currentThread;import static java.util.concurrent.ThreadLocalRandom.current;/** * @desc Semaphore 使用案例 : 模拟...
2021-01-31 10:01:32
275
原创 Exchanger 使用案例
import java.util.concurrent.Exchanger;import java.util.concurrent.TimeUnit;import static java.lang.Thread.currentThread;import static java.util.concurrent.ThreadLocalRandom.current;/** * @desc Exchanger 使用案例 **/public class ExchangerExample{...
2021-01-30 20:46:47
172
原创 CyclicBarrier 的使用案例
import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;import java.util.concurrent.TimeUnit;import java.util.stream.IntStream;import sta..
2021-01-30 15:41:09
211
原创 CountDownLatch 的使用案例
import java.util.Arrays;import java.util.List;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;import java.util.stream.IntStream;import static java.util.stream.Collectors.toList;import static java.util.concurrent.Thr..
2021-01-28 21:11:04
391
原创 基于Java AIO --回调函数CompletionHandler 与 Future
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.nio.ByteBuffer;import java.nio.channels.AsynchronousSocketChannel;import java.nio.channels.Comple...
2021-01-24 14:00:08
981
1
原创 基于NIO 实现简易“聊天室”
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.util.StringUtils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.InetSocketAddress;import java.nio.ByteBuff..
2021-01-23 17:00:57
268
1
原创 基于JAVA NIO 实现的 Socket 文件传输
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;import java.nio.
2021-01-20 21:07:22
840
原创 AtomicReference----提供“对象引用”的非阻塞原子性读写操作
import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicReference;import static java.util.concurrent.ThreadLocalRandom.current;public class AtomicReferenceExample { private static AtomicReference<DebitCard> debitCardA..
2021-01-10 18:50:47
326
2
原创 Callable接口和Future接口【简单使用】
import java.util.concurrent.*;/** * @desc Future使用案例 * * 补充: Future 模式是常见的“异步设计模式”之一。 **/public class FutureTest { public static void main(String[] args) { ExecutorService executorService = Executors.newCachedThreadPool(); /*...
2021-01-04 21:54:21
193
原创 BIO模型---字节流传输
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.*;import java.net.Socket;public class Client { private static final Logger log = LoggerFactory.getLogger(Client.class); public static void main(String[] args) { .
2021-01-03 19:01:03
190
1
原创 BIO模型---字符流传输
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class .
2021-01-03 17:59:37
280
3
原创 自定义TryLock 显式锁【仅供参考】
import java.util.concurrent.atomic.AtomicBoolean;public class TryLock { /** * 在 TryLock 的内部,我们借助于 AtomicBoolean 的布尔原子性操作方法 */ private final AtomicBoolean ab = new AtomicBoolean(false); /** * 线程保险箱,用于存放与线程上下文关联的数据副本 */ .
2021-01-02 16:34:56
126
原创 线程间交换数据的 Exchanger
1、》》代码案例:package multiThread.art;import java.util.concurrent.Exchanger;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 如果两个线程有一个没有执行 exchange() 方法 , 则会一直等待, 如果担心有特殊情况发生, * 避免一直等待,可以使用 " public V excha.
2020-09-09 10:36:39
136
原创 Semaphore 用来做“流量控制”
1、代码案例:package multiThread.art;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;/** * 虽然有 30 个线程在执行,但是只允许 10 个线程并发执行。 * * Semaphore 的构造方法 Semaphore(int permits) 接受一个整型的数
2020-09-09 09:44:15
234
原创 CyclicBarrier 的应用场景
1、》》代码案例:package multiThread.art;import java.util.Map;import java.util.concurrent.*;/** * 构造函数: CyclicBarrier(int parties, Runnable barrierAction) * * CyclicBarrier 的应用场景: * CyclicBarrier 可以用于多线程计算数据,最后合并计算结果的场景。例如:用一个 Excel * 保存了用户所.
2020-09-09 09:16:50
286
原创 简单使用 CyclicBarrier --- 同步屏障
1、》》代码案例:package multiThread.art;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CyclicBarrier;public class CyclicBarrierTest { /** * CyclicBarrier 默认的构造方法是 CyclicBarrier(int parties) , 其参数表示屏障拦截的线程数量, .
2020-09-08 17:48:55
127
原创 简单使用 CountDownLatch --- 计数器
1、package multiThread.art;import java.util.concurrent.CountDownLatch;public class CountDownLatchTest { /** * CountDownLatch 的构造函数接收一个 int 类型的参数作为“计数器”, * 如果你想等待 N 个点完成, 这里就传入 N * 备注1: 这里所说的 N 点, 可以是 N 个线程,也可以是 1 个线程里的 N 个执行步骤。
2020-09-08 17:20:05
195
原创 简单使用 Fork/Join 框架
1、package multiThread.art;import java.util.concurrent.ExecutionException;import java.util.concurrent.ForkJoinPool;import java.util.concurrent.ForkJoinTask;import java.util.concurrent.RecursiveTask;/** * 需求是: 计算 1+2+3+4 的结果 * 分割上面的计算任务,并希望每个子任务最
2020-09-08 07:09:02
147
原创 借助“有界队列”理解 Condition 的使用方式
1、package multiThread.art;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 借助“有界队列”理解 Condition 的使用方式 * * 有界队列:是一种特殊的队列,当队列为空的时候,队列的获取操作将会阻塞获取线程, *
2020-09-04 15:19:10
180
原创 Lock + Condition 的简单使用---实现“等待/通知”
1、package multiThread.art;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ConditionUseCase { Lock lock = new ReentrantLock(); Condition conditi
2020-09-04 14:34:45
162
原创 简单案例--读写锁 ReentrantReadWriteLock
1、package multiThread.art;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class Cache { static Map<String , Object> map = new HashMap&
2020-09-03 15:15:22
198
原创 自定义“独占式”同步器【继承AQS】,并且实现 Lock 接口
1、package multiThread.art;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;/** * 自定义“独占式”同步器,并且实现 Lock 接口 */pu
2020-09-01 23:10:27
228
原创 一个基于线程池技术的简单web 服务器---简单的demo
1、package multiThread.art;public interface ThreadPool<HttpRequestHandler> { // 执行一个HttpRequestHandler ,这个HttpRequestHandler需要实现Runnable void execute(HttpRequestHandler httpRequestHandler); // 关闭线程池 void shutdown(); // 增加工作者线程
2020-09-01 20:54:51
217
空空如也
java 知识相关的问题,,,,,,,,,
2017-04-17
j a v a基础知识求解。。。
2017-04-15
java基础、、、、、、、
2017-04-14
求c++大神,解决以下问题,先谢谢了
2016-03-29
C++中的知识点,求解决,在这里先谢谢了
2016-03-28
求大神帮忙,如何解决以下问题
2016-03-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人