![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 86
九毫米微光
这个作者很懒,什么都没留下…
展开
-
有钱也得排队-并发工具之Semaphore
疫情终于快要过去,马上进入后疫情时代,各商业也都活络起来,X作为著名奢侈品牌也宣布开业,小白应邀做起了X品牌店铺的保安。 开业当天,人潮汹涌,但是店铺的承载能力有限,小白想到一个对策,就是站在门口发通行证,通行证的总数有限,进店需要拿着通行证,出去的时候归还,如果通行证都发放出去,就让新来的人去排队,有新的通行证时就大吼一声,让大家拿证进店。 下图为动画演示-非公平模式: 这种模式用了一段时间遭到顾客投诉,“凭什么不排队的顾客能先进入”。其实这种就是典型的Semaphore的非公...原创 2021-04-18 20:52:25 · 171 阅读 · 1 评论 -
mysql通过docker建立主从链接失败
mysql通过docker建立主从链接 报错如下 mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Connecting to master Master_Ho...原创 2020-03-25 07:52:58 · 164 阅读 · 0 评论 -
nginx代理邮件
nginx是高性能http服务器和反向代理服务器,也是pop3/imap/smtp代理服务器,http网上有很多。 这里主要介绍如何用stream方式代理smtp协议的邮件服务。 1.确保安装了stream模块,没有会报错 #编译,需要指定需要的模块 ./configure --prefix=需要安装的路径 --with-stream #安装 make make install 2.配置...原创 2019-01-17 19:06:38 · 2811 阅读 · 0 评论 -
ArrayList用不好就翻车-源码剖析
本文主要探究ArrayList内部构成原理 1.首先确认ArrayList的底层存储结构,找到源码,锁定以下三个可能的字段,基本可以确定底层用的数组存储。 根据字段名和注释,猜测存储在elementDate元素上。 /** * Shared empty array instance used for empty instances. */ private...原创 2019-07-28 12:43:22 · 194 阅读 · 0 评论 -
高性能架构思路
如题,这篇文章主要讨论高性能编程的一些技巧,抓住高性能。 1.万丈高楼平地起,能起多高看基座。(一个高性能程序的基础就是从基础编码开始) 1.1 工具 没有哪个工具能独冠群雄,只有适合的。 java并发容器类: ConcurrentHashMap:线程安全并发map,分segment的键值对容器,按hash算法查找,插入。理想状态,插入查找均是O(1)复杂度 CurrentList...原创 2019-09-08 17:01:34 · 236 阅读 · 0 评论