社区
C++ 语言
帖子详情
申请内存 问题 MAP使用
sdp1031
2010-07-29 03:20:21
我想申请10M内存
然后用MAP 将MAP中的值存放到内存中,这样我就可以通过MAP的 键值直接访问或者调用内存中的数据
希望高手指点一下
给点代码
谢谢了
...全文
176
14
打赏
收藏
申请内存 问题 MAP使用
我想申请10M内存 然后用MAP 将MAP中的值存放到内存中,这样我就可以通过MAP的 键值直接访问或者调用内存中的数据 希望高手指点一下 给点代码 谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ForestDB
2010-07-29
打赏
举报
回复
不太理解LZ的想法。
太乙
2010-07-29
打赏
举报
回复
[Quote=引用 10 楼 sdp1031 的回复:]
引用 9 楼 macrojj 的回复:
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据 读到我申请的内存里来,用一个map来映射,……
[/Quote]很多是多少?10M?
如果是的话,那就很少了,不用考虑什么技巧,直接定义一个map,插入到map即可!(map本身就是在内存里的)
「已注销」
2010-07-29
打赏
举报
回复
[Quote=引用 11 楼 namelij 的回复:]
引用 10 楼 sdp1031 的回复:
引用 9 楼 macrojj 的回复:
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据……
[/Quote]
现在是别的函数先从硬盘把数据解压缩出来,
然后给我用
高性能架构探索
2010-07-29
打赏
举报
回复
[Quote=引用 10 楼 sdp1031 的回复:]
引用 9 楼 macrojj 的回复:
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据 读到我申请的内存里来,用一个map来映射,……
[/Quote]
用内存映射吧
把硬盘中的数据映射到内存中,然后从内存里面取出数据,放到map里面,然后将map里面的数据存到硬盘里面,
「已注销」
2010-07-29
打赏
举报
回复
[Quote=引用 9 楼 macrojj 的回复:]
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
[/Quote]
因为我要从别的地方先得到很多不同的数据
然后申请一块内存来,保存它们
意思是说把硬盘的数据 读到我申请的内存里来,用一个map来映射,实现查找数据的功能
macrojj
2010-07-29
打赏
举报
回复
很奇怪啊。你建一个map就行了
而且不知道你不存在内存中的map是怎么存在的。。。。
或者你的意思是说把硬盘的数据 读到内存里来,方式是用一个map来映射?
还是说建立一个索引文件?
「已注销」
2010-07-29
打赏
举报
回复
还有好一些的没???
wyz007134
2010-07-29
打赏
举报
回复
不要给容器申请空间,给元素申请空间,然后把这些元素放入容器即可。
容器的空间是自动增长的,一般情况下不用考虑内存用尽的问题吧。
高性能架构探索
2010-07-29
打赏
举报
回复
键放在本地
值放在堆里面
char *p = new char[10];
char *t = "hiuh";
memcpy(p, t. sizeof(t));
map.insert(make_pare(1, p));
只是大概思路
genlic
2010-07-29
打赏
举报
回复
声明map后,insert不行?
「已注销」
2010-07-29
打赏
举报
回复
[Quote=引用 3 楼 hai040 的回复:]
map<keytype, void*>?
[/Quote]
如何将MAP赋值呢
如何将MAP的值放到内存中呢???
MEMCPY????
hai040
2010-07-29
打赏
举报
回复
map<keytype, void*>?
「已注销」
2010-07-29
打赏
举报
回复
[Quote=引用 1 楼 namelij 的回复:]
申请内存你就用new或者malloc来实现
至于你放MAP至内存可以进行拷贝
memcpy
但我不明白,map会自动调用内存分配函数,为什么你要自己申请内存呢
[/Quote]
因为有很多的大量的数据,我要把MAP的东西 放到内存中,然后通过MAP的键和值的映射,从内存中找到数据
求代码
高性能架构探索
2010-07-29
打赏
举报
回复
申请内存你就用new或者malloc来实现
至于你放MAP至内存可以进行拷贝
memcpy
但我不明白,map会自动调用内存分配函数,为什么你要自己申请内存呢
记一次
Map
Reduce的
内存
溢出
背景: 最近
使用
Map
Reduce做离线数据清洗,在
map
段做简单的数据过滤,有经纬度的发送到reduce端,没经纬的过滤掉。reduce端将数据整理出来,按业务模型拼接成字符串写入HDFS。供hive作为外表进行后续数据处理分析。
问题
: 该批数据总共2T大小,
Map
Reduce执行第一次时,不出意料的崩溃了。每次都大概在
map
阶段执行到61%左右。 排查: 查看日志发现果然
内存
溢出:java.lang.OutOfMemoryError: GC overhead limit exceeded。
【C++篇 13】
map
和unordered_
map
;new;纯虚函数的
使用
场景?多态的意义;vector扩容;迭代器失效?STL库里的容器-vector-
map
-deque
本文摘要: 主要介绍了C++中几种常用容器的特性和
使用
方法。
map
基于红黑树实现有序存储,查找稳定但稍慢;unordered_
map
基于哈希表实现,查找更快但无序。vector是动态数组,尾部操作高效,扩容策略因编译器而异。deque支持两端高效操作,采用分段存储结构。文章还详细说明了各容器的初始化、增删改查操作,以及迭代器失效、
内存
管理等重要概念,并对比了不同容器的适用场景和性能特点。
09-散列2. QQ帐户的
申请
与登陆(25)
题目地址:http://www.patest.cn/contests/mooc-ds/09-%E6%95%A3%E5%88%972/* 09-散列2. QQ帐户的
申请
与登陆(25) http://www.patest.cn/contests/mooc-ds/09-%E6%95%A3%E5%88%972 C++STL
map
直接ac 不过耗时,耗
内存
确实比较大 */ #include
【华为OD机试真题2023B卷 JS】
内存
资源分配
内存
资源分配 有一个简易
内存
池,
内存
按照大小粒度分类,每个粒度有若干个可用
内存
资源,用户会进行一系列
内存
申请
,需要按需分配
内存
池中的资源,返回
申请
结果成功失败列表。分配规则如下:1、分配的
内存
要大于等于
内存
申请
量,存在满足需求的
内存
就必须分配,优先分配粒度小的,但
内存
不能拆分
使用
2、需要按
申请
顺序分配,先
申请
的先分配。3、有可用
内存
分配则
申请
结果为true,没有可用
内存
分配则返回false。
为Java虚拟机分配堆
内存
大于机器物理
内存
会怎么样?
对于第一阶段的
内存
申请
,由于
申请
的是虚拟
内存
,实际上64 位操作系统,进程可以
使用
128 TB 大小的虚拟
内存
空间,所以进程
申请
一个远大于本机物理
内存
是没
问题
的,只要不读写这个虚拟
内存
,操作系统就不会分配物理
内存
。另外,当
内存
使用
存在压力的时候,会开始触发
内存
回收行为,会把这些不常访问的
内存
先写到磁盘中,然后释放这些
内存
,给其他更需要的进程
使用
。我们先
使用
如下命令关闭Swap,然后为虚拟机分配堆的大小为6G,实际上可用的物理
内存
是5.8G,所以不出意外的,
内存
分配失败了。可以看到,程序运行成功。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章