Java 中的算术编码实现 [关闭]

问题描述 投票:0回答:1

我目前正在用 Java 实现算术编码算法,遇到了会引发

java.lang.OutOfMemory
错误的怪异循环。我发现问题出现在主循环中,该循环遍历数组中需要编码的每个字节。根据
System.nanoTime()
方法,第6次迭代后开始无限循环。由于我使用这个源代码(见下文)从 C 翻译成 Java,所以我不清楚我的实现有什么问题。

       
java algorithm math compression bit-manipulation
1个回答
-1
投票

LinkedList
效率很低。使用
List
的不同实现,例如
ArrayList
,而不是。或者更好的是,使用
ByteArrayOutputStream
来避免分配许多
Byte
对象。

© www.soinside.com 2019 - 2024. All rights reserved.