社区
Java SE
帖子详情
棘手问题,Java中大量数据处理
nhk_csdn
2004-07-27 03:39:06
在一个java应用中,要处理一个有几百万条记录的文件,把这些记录实例化成对象后内存就溢出了,怎么能够有好的办法,节省点内存呢?
...全文
1080
10
打赏
收藏
棘手问题,Java中大量数据处理
在一个java应用中,要处理一个有几百万条记录的文件,把这些记录实例化成对象后内存就溢出了,怎么能够有好的办法,节省点内存呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nhk_csdn
2004-07-28
打赏
举报
回复
registered(已注册)
麻烦简单介绍一下Memory Mapped File
看来还是要用数据库:(
registered
2004-07-28
打赏
举报
回复
Focus...
BTW: 100万记录用 ArrayList 绝对不是一个好注意,
如果处理过程不需要将所有数据都实例化后才能进行的化,
你可以用一下 Memory Mapped File,
如果必须将所有数据都实例化后才能计算那就不如用一个数据库了,
推荐 IBM 的 Cloudscape 嵌入式数据库
wangyanqiu
2004-07-28
打赏
举报
回复
up
nhk_csdn
2004-07-28
打赏
举报
回复
自己顶
刚又做了个测试,object不过10m,但我怎么在进程里看到java进程占了60多m的内存呢?
nhk_csdn
2004-07-28
打赏
举报
回复
api我看过了,谢谢registered(已注册)
我主要是要在内存里处理一些数据,比如相同关键字的数据合并
我想导到文件里不一定是个好办法,我在考虑别的什么方案
不是很明白java的内存怎么分配的,实际数据的大小和java进程的内存占用差距太大了
registered
2004-07-28
打赏
举报
回复
Buffer具体用法见:
http://java.sun.com/j2se/1.4.2/docs/api/java/nio/Buffer.html
registered
2004-07-28
打赏
举报
回复
请你先介绍一下你的处理流程
看能不能用Memory Mapped File
这个东西语法很简单
FileChannel fc1;
MappedByteBuffer mbb;
fc1 = new RandomAccessFile(src, "r").getChannel();
mbb = fc1.map(FileChannel.MapMode.READ_ONLY, 0, fc1.size());
不过是按照字节读数据的
但是性能有保证
nhk_csdn
2004-07-27
打赏
举报
回复
是一个后台应用,要对数据处理,不实例化应该不行吧,我觉得很奇怪,我的一个实例大小300b左右,放在一个ArrayList里,100w个实例不过300m左右,但进程里确占了2g左右内存,为什么呀?
tomuno
2004-07-27
打赏
举报
回复
处理大量数据一般要用到weblogic
registered
2004-07-27
打赏
举报
回复
是否必须将他们都实例化?
你可以使用随机文件读写
或者把 jvm 使用内存数目增大
或者干脆用个数据库
挑战10个最难回答的
Java
面试题(附答案)
是我收集的10个最
棘手
的
Java
面试
问题
列表。这些
问题
主要来自
Java
核心部分 ,不涉及
Java
EE 相关
问题
。你可能知道这些
棘手
的
Java
问题
的答案,或者觉得这些不足以挑战你的
Java
知识,但这些
问题
都是容易在各种
Java
面试
中
被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。 1.为什么等待和通知是在 Object 类而不是 Thread
中
声明的? 一个...
【
Java
场景题】
Java
一次性导出一千万条数据:从内存控制到性能优化全解析
本文针对
Java
后端开发
中
的千万级数据导出难题,提出分层解决方案。在单体架构
中
,采用异步任务触发、游标分页流式读取、分批写入文件的方式,将内存占用控制在MB级,并优化JVM和数据库查询。分布式架构则通过数据分片、并行处理和分布式存储提升效率。两种方案均遵循避免全量加载、异步化处理等原则,并提供CSV格式优先、状态管理等优化策略,有效解决内存溢出、性能瓶颈和数据库压力等
问题
,实现高效稳定的大数据量导出。
Java
高级面试题整理(附答案)
这是我收集的10道高级
Java
面试
问题
列表。这些
问题
主要来自
Java
核心部分 ,不涉及
Java
EE 相关
问题
。你可能知道这些
棘手
的
Java
问题
的答案,或者觉得这些不足以挑战你的
Java
知识,但这些
问题
都是容易在各种
Java
面试
中
被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。一个
棘手
的
Java
问题
,如果
Java
编程语言不是你设计的,你怎么能回答这个
问题
呢。
Java
编程的常识和深入了解有助于回答这种
棘手
的
Java
核心方面的面试
问题
。这是有名的
Java
面试
问题
,
【面试题】技术场景 4、负责项目时遇到的
棘手
问题
及解决方法
问题
为在负责项目时遇到的
棘手
问题
及解决方法,主要考察开发经验与技术水平,回答不佳会影响面试印象。提供四个回答方向,准备其
中
一个方向即可。此面试题高频出现,需提前准备,选择一个方向深入准备能体现技术水平。主要内容:电商项目用户登录功能,从初始逻辑集
中
导致维护困难,到引入工厂与策略模式解决
问题
。核心概念:工厂设计模式用于创建对象,策略模式将算法逻辑封装。关键知识点:理解两种设计模式作用,明白如何结合使用提高代码扩展性与维护性。总结设计模式可优化代码结构,解决业务变更时代码频繁修改
问题
。
10个艰难的
Java
面试题与答案
这是我收集的10个最
棘手
的
Java
面试
问题
列表。这些
问题
主要来自
Java
核心部分 ,不涉及
Java
EE 相关
问题
。你可能知道这些
棘手
的
Java
问题
的答案,或者觉得这些不足以挑战你的
Java
知识,但这些
问题
都是容易在各种
Java
面试
中
被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。 1. 为什么等待和通知是在 Object 类而不是 Thread
中
声明的? 一个
棘手
的
Java
问题
,如果
Java
编程语言不是你设计的,你怎么能回答这个
问题
呢。
Java
编程的常识和深入
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章