Java中的巨大字符串表
发布时间:2020-12-15 05:06:59 所属栏目:Java 来源:网络整理
导读:我有一个关于在应用程序内存中存储大量字符串的问题.我需要从文件中加载大约5百万行,每行最多255个字符(url),但大多数是?50.我有时需要搜索其中一个.是否有可能在~1GB的RAM上运行这个应用程序? 将 ArrayList String list = new ArrayListString(); 工作?
我有一个关于在应用程序内存中存储大量字符串的问题.我需要从文件中加载大约5百万行,每行最多255个字符(url),但大多数是?50.我有时需要搜索其中一个.是否有可能在~1GB的RAM上运行这个应用程序?
将 ArrayList <String> list = new ArrayList<String>(); 工作? 据我所知,java中的String是用UTF-8编码的,这给了我巨大的内存使用量.是否可以使用ANSI编码的字符串来生成这样的数组? 这是使用参数运行的控制台应用程序 java -Xmx1024M -Xms1024M -jar "PServer.jar" nogui 解决方法
最新的JVM默认支持-XX:UseCompressedStrings,它存储仅在内部使用ASCII作为byte []的字符串.
列表中有几GB的文本不是问题,但从磁盘加载可能需要一段时间(很多秒) 如果平均URL是50个字符,这些字符是ASCII,每个字符串有32个字节的开销,则5个条目可以使用大约400 MB,这对于现代PC或服务器来说并不多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java正则匹配中文的方法实例分析
- java – Eclipse – Sonar S2629可能带有新String的误报
- java – 使用Comparable Vs TreeSet列表
- java数组排序示例分享
- Java ServiceLoader在开发期间如何工作? (构建JAR之前的单
- 用fastjson框架解析Json数据工具类
- java – Android – ListView onItemClick()没有在4.1 jell
- javafx – cellValueFactory()和cellFactory()如何工作?它
- Java源码解析Integer方法解读
- 【Android工具类】验证码倒计时帮助类CountDownButtonHelpe