摘要: 软路由可当普通路由器使用,可以理解软路由其实就是一个微型主机安装了一个路由系统,这样使用软路由就更灵活,可以在主机上安装各种软件及插件。 因为软路由需要自己维护主机,维护成本高。普通路由器商家提供了完整的解决方案,维护简单。正因为商家封装后,灵活性没软路由高。 搭配AP使用,可解决家庭信号弱问题。 阅读全文
posted @ 2020-07-08 11:12 向阳无痕 阅读(3449) 评论(0) 推荐(0)
摘要: 参考: https://www.cnblogs.com/lemon-flm/p/7877898.html 阅读全文
posted @ 2020-06-11 20:49 向阳无痕 阅读(95) 评论(0) 推荐(0)
摘要: 避免使用 Executors 来创建线程。 说明: Executors各个方法的弊端: 1)newFixedThreadPool和newSingleThreadExecutor: 主要问题是堆积的请求处理队列可能会耗费非常大的内存,甚至OOM。 2)newCachedThreadPool和newSc 阅读全文
posted @ 2020-06-11 20:45 向阳无痕 阅读(374) 评论(0) 推荐(0)
摘要: 首先简单介绍下RateLimiter的使用, public void testAcquire() { RateLimiter limiter = RateLimiter.create(1); for(int i = 1; i < 10; i = i + 2 ) { double waitTime = 阅读全文
posted @ 2020-06-11 20:41 向阳无痕 阅读(310) 评论(0) 推荐(0)
摘要: 参考: http://www.cnblogs.com/frinder6/p/5507082.html https://blog.csdn.net/m0_37822338/article/details/100010495 注意: Callable接口支持返回执行结果,此时需要调用FutureTask 阅读全文
posted @ 2020-06-11 20:40 向阳无痕 阅读(174) 评论(0) 推荐(0)
摘要: 参考:http://www.360doc.com/content/20/0316/09/33260087_899509976.shtml 阅读全文
posted @ 2020-06-11 20:35 向阳无痕 阅读(158) 评论(0) 推荐(0)
摘要: 在多线程中,有时候需要等待所有线程执行完成后才让继续往下执行,如查询结果汇总等。下面列举两种等待方式: 方式一: 利用 CountDownLatch 类完成。 示例: // 按任务总量创建计数器final CountDownLatch countDownLatch = new CountDownLa 阅读全文
posted @ 2020-06-09 18:05 向阳无痕 阅读(3050) 评论(0) 推荐(0)
摘要: 参考安装: https://www.cnblogs.com/yui66/p/9728732.html 连接时报错解决: https://blog.csdn.net/s634772208/article/details/81155068 docker 创建容器命令 docker run -di --n 阅读全文
posted @ 2020-05-11 18:00 向阳无痕 阅读(202) 评论(0) 推荐(0)
摘要: 1,Docker的Ubuntu镜像安装的容器无ifconfig、ping、ssh、scp等命令 apt-get update apt install net-tools # ifconfig apt install iputils-ping # ping apt install vim # ping 阅读全文
posted @ 2020-05-11 17:58 向阳无痕 阅读(839) 评论(0) 推荐(0)
摘要: 方案一: 利用mysql+应用实现 // 1,,计算总记录数 SELECT COUNT(*) AS `offset` FROM `sd_crowd_label_enum` // 2, 利用应用计算随机开始角标 index = rand(xx) // 3,批量获取 SELECT * FROM `sd_ 阅读全文
posted @ 2020-05-11 17:52 向阳无痕 阅读(391) 评论(0) 推荐(0)