开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 254|回复: 10
收起左侧

[已解决] 常量 变量和数组的基础问题

 关闭 [复制链接]
结帖率:83% (5/6)
发表于 2024-8-5 16:56:10 | 显示全部楼层 |阅读模式   广东省揭阳市
13精币
软件是做文本数据比对分析的

最佳答案

查看完整内容

常量、变量、数组,他们的区别在于常量不可写,变量可写 内存占用情况无区别,软件运行时也会将常量拷贝至内存中,常量也拥有指针地址 32位程序,系统只分配至多2GB内存使用,软件运行时需要用内存了,就和系统申请,用完就释放。用多少申请多少。 假设你读入一个100MB文件,那么内存就要申请100MB空间给你使用 接着你又对100MB文本进行分割文本 如:分割的文本=分割文本((100MB),#换行符) 此时软件内存就被使用掉200+MB, ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:100% (53/53)
发表于 2024-8-5 16:56:11 | 显示全部楼层   福建省宁德市
常量、变量、数组,他们的区别在于常量不可写,变量可写
内存占用情况无区别,软件运行时也会将常量拷贝至内存中,常量也拥有指针地址

32位程序,系统只分配至多2GB内存使用,软件运行时需要用内存了,就和系统申请,用完就释放。用多少申请多少。

假设你读入一个100MB文件,那么内存就要申请100MB空间给你使用

接着你又对100MB文本进行分割文本
如:分割的文本=分割文本((100MB),#换行符)

此时软件内存就被使用掉200+MB,数组结构占用更多内存来表示

上限就在哪,所有大数据处理不可能一次性将所有数据都存在内存中处理,都是分段处理的
分段处理代码没有同一写法,你需要自己封装一些函数来进行分段处理

比如一个100GB的文件,你要统计有多少行,这么大文件是无法载入到内存来一次性统计的
那么就需要分段处理,每次读入2MB数据量,一步一步循环处理,直到所有数据都处理完成,这样软件只占用2MB左右的数据量进行处理

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:83% (5/6)
 楼主| 发表于 2024-8-5 16:56:48 | 显示全部楼层   广东省揭阳市
我晕~第一次提问题!回车就发送了
回复

使用道具 举报

发表于 2024-8-5 16:57:57 | 显示全部楼层   四川省宜宾市
把文本分割为数组对比
回复

使用道具 举报

结帖率:83% (5/6)
 楼主| 发表于 2024-8-5 17:08:42 | 显示全部楼层   广东省揭阳市
LEOONL 发表于 2024-8-5 16:57
把文本分割为数组对比

不是 我是想问常量和变量的运行内存占用和储存区域问题

点评

常量 常驻 变量看生命周期   荷兰  发表于 2024-8-5 19:42
回复

使用道具 举报

发表于 2024-8-5 17:11:17 | 显示全部楼层   四川省宜宾市
可乐大侠 发表于 2024-8-5 17:08
不是 我是想问常量和变量的运行内存占用和储存区域问题

常量的数据是固定的,而且最大长度30000,变量的数据是可以一直增加的
回复

使用道具 举报

结帖率:83% (5/6)
 楼主| 发表于 2024-8-5 17:11:52 | 显示全部楼层   广东省揭阳市
补充:代码需要运用大量的单维量和数组量,现遇到内存爆满问题    问题1:全局变量改常量储存和运行占用有区别吗  问题2:有没有能代替数组的方法,高级点的别文本增加流程臃肿代码
回复

使用道具 举报

结帖率:100% (18/18)

签到天数: 1 天

发表于 2024-8-5 17:59:24 | 显示全部楼层   福建省泉州市
可乐大侠 发表于 2024-8-5 17:11
补充:代码需要运用大量的单维量和数组量,现遇到内存爆满问题    问题1:全局变量改常量储存和运行占用有 ...

全局变量    属于静态变量,不会自动释放内存
如果你不主动释放,那跟常量占用的差别应该不会太大
如果是因为数据量大,运行时候占太多内存,可以考虑把数据放配置项或数据库
需要多少取多少,或者分片取出
这样就可以减少一点内存占用,就是要频繁读写磁盘了

常量和全局变量,如果只是为了预存一份数据,其实可以放在exe外的数据库或配置文件里的
回复

使用道具 举报

结帖率:97% (28/29)
发表于 2024-8-5 18:08:48 | 显示全部楼层   山东省泰安市
没法说 得看你具体的业务流程
回复

使用道具 举报

结帖率:83% (5/6)
 楼主| 发表于 2024-8-5 23:21:28 | 显示全部楼层   广东省揭阳市
帅气与大侠 发表于 2024-8-5 18:19
常量、变量、数组,他们的区别在于常量不可写,变量可写
内存占用情况无区别,软件运行时也会将常量拷贝至 ...

那数组呢!线程线程 单或多   反复调用的子程序数组(非全局数组)需要用到清除数组命令释放吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表