java hashmap object_Java中的大量Object(使用HashMap)
你好,
我目前正在研究Java中的单词预测.
为此,我使用的是基于NGram的模型,但我有一些内存问题……
在第一次,我有一个这样的模型:
public class NGram implements Serializable {
private static final long serialVersionUID = 1L;
private transient int count;
private int id;
private NGram next;
public NGram(int idP) {
this.id = idP;
}
}
但这需要大量的记忆,所以我认为我需要优化,我想,如果我有“向世界问好”和“向人民问好”,而不是得到两个ngram,我可以保留一个“你好” “然后有两个可能性:”人“和”世界“.
更清楚的是,这是我的新模型:
public class BNGram implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private HashMap next;
private int count = 1;
public BNGram(int idP) {
this.id = idP;
this.next = new HashMap();
}
}
但似乎我的第二个模型消耗了两倍的内存…我认为这是因为HashMap,但我不知道如何减少这个?我尝试使用不同的Map实现,比如Trove或其他,但它不会改变任何东西.
为了给你一个想法,对于一个9MB的文本,带有57818个不同的单词(不同,但它不是单词的总数),在NGram生成之后,我的javaw进程消耗1.2GB的内存……
如果我用GZIPOutputStream保存它,它在磁盘上需要大约18MB.
所以我的问题是:如何使用更少的内存?我可以用压缩制作东西(作为序列化).
我需要将其添加到其他应用程序,所以我需要减少内存使用量之前……
非常感谢,抱歉我的英语不好……
ZiMath
java hashmap object_Java中的大量Object(使用HashMap)相关推荐
- java的object_Java中的Object类详细介绍
理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类.由于所有的类都继承在Object类,因此省略了extends Object关键字. 该类中主要有以下方法: t ...
- java public object_Java中Object类
1. Java中Object类 package java.lang; public class Object { // 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用 priv ...
- java循环object_java怎么循环获取object的属性名和值?object内容如下
展开全部 用反射.public static void main(String[] args) throws IllegalArgumentException, IllegalAccessExcept ...
- Java中常见数据结构Map之HashMap
之前很早就在博客中写过HashMap的一些东西: 彻底搞懂HashMap,HashTableConcurrentHashMap关联: http://www.cnblogs.com/wang-meng/ ...
- Java泛型中? 和 ? extends Object的异同分析
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 刘一手 来源 | 公众号「锅外的大佬」 Jav ...
- java hashmap getitem_java中HashMap使用
HashMap:HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的).此实现提供所有可选的映射 ...
- [Java]JDK1.7中HashMap的并发死链
[Java]JDK1.7中HashMap的并发死链 HashMap的并发死链现象发生在扩容时,在扩容过程中**transfer()**方法负责把旧的键值对转移到新的表中,其代码如下: void tra ...
- 【java】为什么HashMap桶中节点个数超过8才转为红黑树?
纪念一波,九师兄博客热门订阅专栏时常名列前茅,我飘了,哈哈哈哈,得意的笑 1.概述 问题: 为什么HashMap桶中节点个数超过8才转为红黑树? 8这个阈值定义在HashMap中,针对这个成员变量,在 ...
- 蔚来一面:用Object做hashMap的Key时需要做什么?
作者 | petterp 来源 | https://blog.csdn.net/petterp/article/details/89043847 先来说一下hashcode()和equals方法吧. ...
最新文章
- 服务器架设笔记——打通MySQL和Apache
- Java笔记整理-02.Java基础语法
- reddit android app,reddit安卓版app
- 是否患有新冠肺炎? 你咳嗽一声
- java封装Mongodb3.2.1工具类
- oracle绑定变量赋值,Oracle教程之绑定变量
- Codeforces Round #160 (Div. 2) B - Roma and Changing Signs
- 【原创】开源Math.NET基础数学类库使用(14)C#生成安全的随机数
- 最佳实践丨三种典型场景下的云上虚拟IDC(私有池)选购指南
- 第5次基金申请终于中了!这个血泪教训一定要避免
- ie浏览器速度提升设置 关闭网页多媒体方法
- 小程序入门学习18--springboot环境配置02
- delphi连接access数据库的步骤(详细教程)
- 虚拟机搭建服务器实验报告,架设服务器实验报告.pdf
- linux minicom centos,Centos6.5 minicom安装与配置
- LintCode 627.最长回文串
- Parse error in application web.xml file at jndi:/localhost/ipws/WEB-INF/web.xml
- 范式的概念和应用(1.2.3.bc.4.5)
- python深度学习代码列子
- Java基础知识 廖雪峰教程笔记