DeathWhispers

Java阻塞队列

什么是阻塞队列?有什么适用场景? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是: 在队列为空时,获取元素的线程会等待队列变为非空。 当队列满时,存储元素的线程会等待队列可用。 阻塞队列常用于生产者和消费者的场景: 生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程 阻塞队列就是生产者存放元素的容器,而消费者也只...

手工模拟实现 Docker 容器网络!

手工模拟实现 Docker 容器网络! 原创张彦飞allen开发内功修炼2021-11-16 08:28 收录于话题 #docker1个 #linux3个 #网络2个 #开发内功修炼之网络篇30个 #服务器2个 大家好,我是飞哥! 如今服务器虚拟化技术已经发展到了深水区。现在业界已经有很多公司都迁移到容器上了。我们的开发写出来的代码大概率是要运行在容器上的。因此深刻理解容器...

Java线程池

线程池 什么是 Executor 框架? Executor 框架,是一个根据一组执行策略调用,调度,执行和控制的异步任务的框架。 无限制的创建线程,会引起应用程序内存溢出。所以创建一个线程池是个更好的的解决方案,因为可以限制线程的数量并且可以回收再利用这些线程。利用 Executor 框架,可以非常方便的创建一个线程池。 🦅 为什么使用 Executor 框架? 每次执行任务...

Spring Boot 项目 Jar 包加密,防止反编译

1 场景 最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。 2 方案 第一种方案使用代码混淆 采用proguard-maven-plugin插件 在单模块中此方案还算简单,但是现在项目一般都是多模块,一个模块依赖多个公共模块。那么使用此方案就比较麻烦,配置复杂,文档难懂,各模块...