我正在尝试开发一个可在嵌入式设备上运行的Java应用程序。由于它是嵌入式设备,因此可能相当慢。速度是一个重要因素。在对java.nio.ByteBuffer做了一些研究后,我发现它很慢,可能我应该完全避免它。有没有人有关于如何轻松处理大字节[]的任何提示? ByteBuffer很好,因为它提供了诸如.getInt()或.getShort()之类的方法以及切换ByteOrder字节序。我是否只需要使用byte []的性能?
答案 0 :(得分:0)
您可能希望对应用程序进行概要分析,以确保ByteBuffer
成为瓶颈。但是,访问本机内存通常比使用jvm分配的内存更快......
ByteBuffer buf = ByteBuffer.allocateDirect(8192);
但是,在堆分配版本上分配本地ByteBuffer
的成本更高。因此,您通常希望限制使用它们的数量。还存在平台差异,因此您可能还希望根据特定目的进行分析。