bytebuffer相关内容

分配零容量ByteBuffer

有人可以告诉我分配零长度缓冲区的可能目的是什么? ByteBuffer.allocate(0); //没有IllegalArgumentException 为什么设计API的人会这样做? 感谢您的评论和解答。 我希望会有这样的更新。 :) 公共抽象类ByteBuffer extends Buffer 实现Comparable ..
发布时间:2018-12-22 20:31:13 Java开发

Java NIO通过ByteBuffer扫描某些字节和带有节的字

好吧,所以我正在尝试做一些看起来应该相当简单的事情,但是对于这些新的NIO接口,事情让我感到困惑!这是我正在尝试做的事情,我需要扫描一个文件作为字节,直到遇到某些字节!当我遇到那些特定的字节时,需要抓住那段数据并用它做一些事情,然后再继续这样做。我本以为在ByteBuffer中有了所有这些标记,位置和限制,我能够做到这一点,但我似乎无法让它工作!这是我到目前为止所拥有的...... test ..
发布时间:2018-12-22 20:23:17 Java开发

BufferedReader用于大型ByteBuffer?

有没有办法用BufferedReader读取ByteBuffer而不必先将它变成String?我想通过一个相当大的ByteBuffer读取文本行,出于性能原因,我想避免将其写入磁盘。在ByteBuffer上调用toString不起作用,因为生成的String太大(它会抛出java.lang.OutOfMemoryError:Java堆空间)。我原以为在API中会有一些东西将ByteBuffer包装 ..
发布时间:2018-12-21 19:43:11 Java开发

如果你不知道预先分配了多少字节,如何初始化ByteBuffer?

这是: ByteBuffer buf = ByteBuffer.allocate(1000); ...初始化 ByteBuffer的唯一方法? 如果我不知道需要分配多少字节怎么办? 编辑:更多详细信息: 我正在将一种图像文件格式转换为TIFF文件。问题是起始文件格式可以是任何大小,但我需要将TIFF中的数据写入小端。所以我正在阅读我最终要 ..
发布时间:2018-12-11 23:09:07 Java开发

深度复制Java的ByteBuffer复制()

java.nio.ByteBuffer#duplicate()返回一个共享旧缓冲区内容的新字节缓冲区。旧缓冲区内容的更改将在新缓冲区中可见,反之亦然。如果我想要字节缓冲区的深层副本怎么办? 解决方案 我认为深层副本不需要涉及字节[] 。请尝试以下方法: public static ByteBuffer clone(ByteBuffer original){ ByteBuffer ..
发布时间:2018-12-10 23:59:01 Java开发

比较直接和非直接ByteBuffer get / put操作

从非直接bytebuffer获取/放入比直接bytebuffer获取/放入更快吗? 如果我必须从直接bytebuffer读/写,是不是最好首先读/写一个线程本地字节数组,然后用字节数组更新(写入)直接bytebuffer? 解决方案 从非直接字节缓冲区中获取/放置比直接bytebuffer中的get / put更快吗? 如果要将堆缓冲区与不使用本机字节顺序的直接缓冲区进行比 ..
发布时间:2018-12-10 23:09:33 Java开发

确定适当的缓冲区大小

我正在使用ByteBuffer.allocateDirect()来分配一些缓冲区内存以便将文件读入内存,然后最终散列文件字节并从中获取文件哈希(SHA)。输入文件的大小范围很广,从几KB到几GB不等。 我已经阅读了几个关于选择缓冲区大小的线程和页面(甚至是SO上的一些)。有人建议尝试选择本机FileSystem使用的一个,以尽量减少部分块的读操作机会等。例如4100字节的缓冲区和NTFS默认 ..
发布时间:2018-12-07 18:44:53 Java开发

Java InputStream到ByteBuffer

我正在阅读dds纹理,但是一旦构建了jar,我无法通过 url 和文件并且必须使用 InputStream 。 所以我需要知道如何获得 java.nio.ByteBuffer 来自 java.io.InputStream 。 Ps:无论通过第三方库,我只需要它工作 解决方案 在这种情况下,我最好的是 Apache commons-io 来处理这个和类似的任务。 IOUti ..
发布时间:2018-12-07 18:01:30 Java开发

使Java的ByteBuffer线程安全的选项

我有什么选择让ByteBuffer线程安全?众所周知,它不是线程安全的,因为它保护位置,限制和一些(/ all?)方法依赖于这种内部状态。 为了我的目的,它将是如果多个读线程是安全的,但对于其他未来的访问者,我想知道我需要知道哪些技术/技巧/陷阱使其完全线程安全。 我的想法: 同步或使用所有方法的ReadWrite锁。可能是最慢的方法(?) Subclassing ByteBu ..
发布时间:2018-12-07 13:17:50 Java开发

扩展ByteBuffer类

有没有办法创建扩展ByteBuffer类的类? ByteBuffer的一些抽象方法是包私有的,如果我创建包java.nio,安全异常抛出。 出于性能原因,我想这样做 - 例如,getInt有大约10个方法调用,以及相当多的if。即使剩下所有检查,只有方法调用被内联并且大/小端检查被删除,我创建的测试表明它可以快4倍。 解决方案 你无法扩展ByteBuffer并感谢上帝。 ..
发布时间:2018-12-07 13:09:11 Java开发

为什么ByteBuffer.allocate()和ByteBuffer.allocateDirect()之间的奇怪性能曲线差异

我正在处理一些 SocketChannel -to - SocketChannel 代码,这对于直接字节缓冲区效果最佳 - 长寿和大(每个连接几十到几百兆。)在使用 FileChannel s散列出精确的循环结构时,我在 ByteBuffer.allocate()与 ByteBuffer.allocateDirect()表现。 结果出人意料,我无法解释。在下图中,对于 ByteBuffer. ..
发布时间:2018-12-04 13:51:19 Java开发

在Java中使用ByteBuffer有什么用?

ByteBuffer ?请列出使用此方法的任何示例方案。谢谢! 解决方案 这个很好地描述了它的用途和缺点。无论何时需要执行快速低级I / O,您基本上都可以使用它。如果您要实现TCP / IP协议,或者如果您正在编写数据库(DBMS),则此类将派上用场。 ..
发布时间:2018-11-29 20:00:17 Java开发

ByteBuffer在GWT中的字符串

在 PlayN 项目中,我拥有以下Java代码 import com.google.common.base.Charsets; import java.nio.ByteBuffer; ByteBuffer msg = ... //一个包含字符串的ByteBuffer String s = Charsets.UTF_8.decode(msg).toString(); ..
发布时间:2018-05-31 13:29:22 其他开发

Java DirectByteBuffer包装垃圾是否被收集?

我明白,当分配一个直接缓冲区时,它不受垃圾回收的限制,但是我想知道的是如果包装对象是垃圾回收。 例如,如果我分配了一个新的DirectByteBuffer dbb,然后使用dbb.duplicate()复制(浅拷贝)它,那么我会在同一块内存中包含两个包装。 b $ b 这些包装是否经过垃圾回收? (true){ DirectByteBuffer dbb2 = dbb.duplicate ..
发布时间:2018-04-19 17:50:44 Java开发

Java NIO MappedByteBuffer OutOfMemoryException

我真的很麻烦:我想用 FileChannel s和 MappedByteBuffer s来读取超过几GB的巨大文件 - 我发现的所有文档都意味着使用 FileChannel.map()方法映射文件相当简单。 当然,有2GB的限制,因为所有的Buffer方法都使用int来表示位置,限制和容量 - 但是系统默认的限制低于这个限制吗? 实际上,我发现很多关于 OutOfMemoryExcepti ..
发布时间:2017-11-04 21:07:00 Java开发

用于DB实现的内存映射的BappedBuffer或直接ByteBuffer?

由于所有的上下文,这看起来像一个漫长的问题。下面的小说里有两个问题。感谢您抽出时间阅读并提供帮助。 情况 我正在开发一个可扩展的数据存储实现,可以支持在32位或64位系统上处理从几KB到TB或更多数据文件的数据文件。 数据存储区使用写时复制设计;始终将新的或修改的数据附加到数据文件的末尾,而不要对现有数据进行就地编辑。 系统可以托管1个或更多数据库;每个由磁盘上的文件表示。 ..