搜索结果
查询Tags标签: capacity,共有 68条记录-
C++ STL string 扩容策略
文章目录 一、引例 1、string 扩容概述 2、扩容尝试二、扩容逻辑猜测 1、猜测一:常数增量 2、猜测二:倍数增量三、扩容逻辑实现一、引例1、string 扩容概述 string 就是动态字符数组,一旦出现 ‘动态’ 二字,就不可能一开始就申请很大的内存,一定有它内部的申请策略;…
2021/5/31 20:22:55 人评论 次浏览 -
厉害了,自己动手实现 LRU 缓存机制!
前言 最近在逛博客的时候看到了有关Redis方面的面试题,其中提到了Redis在内存达到最大限制的时候会使用LRU等淘汰机制,然后找了这方面的一些资料与大家分享一下。LRU总体大概是这样的,最近使用的放在前面,最近没用的放在后面,如果来了一个新的数,此时内存满了,就需…
2021/5/16 10:57:25 人评论 次浏览 -
Object Pooling(对象池)实现
在文章开始之前首先要思考的问题是为什么要建立对象池。这和.NET垃圾回收机制有关,正如下面引用所说,内存不是无限的,垃圾回收器最终要回收对象,释放内存。尽管.NET为垃圾回收已经进行了大量优化,例如将托管堆划分为 3 Generations(代)并设定新建的对象回收的最快,…
2021/5/10 10:55:59 人评论 次浏览 -
Leetcode 1094. 拼车 (差分数组)
这种连续区间的加法处理,是典型的差分数组优化。 class Solution { public:bool carPooling(vector<vector<int>>& trips, int capacity) {vector<int> delta(1010);for(auto trip: trips){delta[trip[1]] += trip[0];delta[trip[2]] -= trip[0]; …
2021/5/9 18:56:26 人评论 次浏览 -
你给HashMap初始化了容量,却让性能变加更糟?
前言 项目中,看到大家已经意识到初始化HashMap时给Map指定初始容量大小,甚是欣慰。但仔细一看,发现事情好像又有一些不对头。虽然指定了大小,却让性能变得更加糟糕了。 可能你也是如此,看了《阿里巴巴Java开发手册》感觉学到了很多,于是在实践中开始尝试给Map指定初…
2021/5/5 10:29:33 人评论 次浏览 -
C++学习笔记_14_string的底层原理及模拟实现
C++学习笔记_14_string的底层原理及模拟实现 在上节的学习,简单学习了string的用法,但只有了解底层原理并复现string部分代码才可以更好的理解和应用,我实现了string的部分功能。string简单用法 复习 目录 C++学习笔记_14_string的底层原理及模拟实现注:一、构造与析构…
2021/5/2 20:27:16 人评论 次浏览 -
redis的过期策略和内存淘汰机制
一、redis的过期策略和内存淘汰机制 1、定期删除+惰性删除 定期删除:指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除 惰性删除:在你获取某个key的时候,redis会检查一下 ,这个key如果设置了过期时间那么是否过期了,如…
2021/4/28 19:26:58 人评论 次浏览 -
Java工程师成神之路集合类之Java 8中Map相关的红黑树的引用背景、原理等
HashMap的容量、扩容 很多人在通过阅读源码的方式学习Java,这是个很好的方式。而JDK的源码自然是首选。在JDK的众多类中,我觉得HashMap及其相关的类是设计的比较好的。很多人读过HashMap的代码,不知道你们有没有和我一样,觉得HashMap中关于容量相关的参数定义的太多了…
2021/4/26 12:26:00 人评论 次浏览