一:背景1.讲故事我们有一家top级的淘品牌店铺,为了后续的加速计算,在程序启动的时候灌入她家的核心数据到内存中,灌入完成后内存高达100G,虽然云上的机器内存有256G,然被这么划掉一半看着还是有一点心疼的,可怜那些被挤压的小啰啰程序,本以为是那些List,HashSet,Dictionary需要动态扩容虚占了很多内存,也就没当一回事,后来过了一天发现内存回到了大概70多G,卧槽,不是所谓的集合
分类:
其他好文 时间:
2020-09-10 22:55:13
阅读次数:
33
一:背景1.讲故事自从这个纯内存项目进了大客户之后,搞得我现在对内存和CPU特别敏感,跑一点数据内存几个G的上下,特别没有安全感,总想用windbg抓几个dump看看到底是哪一块导致的,是我的代码还是同事的代码?很多看过我博客的老朋友总是留言让我出一套windbg的系列或者视频,我也不会呀,没办法,人在江湖飘,迟早得挨上几刀,逼着也得会几个花架子,废话不多说,这一篇就来看看HashSet是如何扩容
分类:
其他好文 时间:
2020-09-09 18:58:21
阅读次数:
38
1.基本原理 底层是一个Object[]数组来维护数据 2.优缺点 1.优点 随机访问性能好(底层是数组) 2.缺点 扩容会影响性能 删除和插入元素时,需要进行拷贝影响性能 线程不安全 3.源码分析 1.add()方法 /** * Appends the specified element to t ...
分类:
其他好文 时间:
2020-09-09 18:51:49
阅读次数:
38
今天分享一下k8s的垂直缩放这块,垂直扩容会涉及到request的概念,所以这里我会多啰嗦一下request到底是怎么回事和docker的cpushares又有什么关系?垂直容器自动缩放器(VPA)简单说就是使用户无需设置最新的资源限制和对容器中容器的要求。配置后,它将根据使用情况自动设置请求,从而允许在节点上进行适当的调度,以便为每个Pod提供适当的资源量。它还将保持限制和初始容器配置中指定的请
分类:
Web程序 时间:
2020-09-04 17:21:28
阅读次数:
56
散列表,哈希表,hash表,Hashtable 都是同一个概念 1. 散列表来源于数组,它借助散列函数对数组这种数据结构进行扩展,利用的是数组支持按照下标随机访问元素的特性。 2. 散列函数,即通过一个方法让hash(key)尽可能均匀的分布到预置容器长度内,但几乎不可能避免散列冲突。散列函数的设计 ...
分类:
其他好文 时间:
2020-09-04 17:19:17
阅读次数:
48
国家经济的高速发展,使得国民的收入日益增强,对机动车辆的购买力也不断地增加。因此,加油站的数量也在不断增多,遍布全国城乡各交通道路沿线,已形成一个相当规模的行业,但加油站由于自营店和加盟店众多,管理分散,一些早期的监控管理系统不能扩容和联网,以及人工的管理监控不当引起的事故多发。为了提高管理质量和效... ...
分类:
其他好文 时间:
2020-09-04 17:14:17
阅读次数:
49
一、资源创建的方式之一命令的方式创建资源,理解命令运行之后的动作,通过查看资源的方式,总结Pod名称的由来当我们执行创建资源的命令后,deployment这个控制器会通过replicaset控制器去管理pod,下面通过一个实例来分析,当我们执行创建资源的命令后,k8s都做了些什么(通过其NAME即可发现规律)?运行一个deployment#运行一个nginx容器,指定副本数量为2个[root@do
分类:
其他好文 时间:
2020-09-03 16:51:18
阅读次数:
41
Mycat是什么? Mycat 是数据库中间件。主要是做数据分布式存储,也有Atlas普通版的读写分离功能,其最重要还是分布式 Mycat是java语言开发的。是一个开源的分布式数据库系统,是一个实现了MySQL协议的的Server,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令 ...
分类:
其他好文 时间:
2020-08-28 14:44:00
阅读次数:
52
TiDB简介 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、 ...
分类:
数据库 时间:
2020-08-26 17:06:48
阅读次数:
56