来自InputStream的Chronicle字节

时间:2015-11-02 13:48:30

标签: java performance chronicle low-level-io chronicle-bytes

我试图使用萨克斯管在运行中将json解析为protobuf消息,并且希望避免为每个响应创建字符串实例。

为此我需要从InputStream创建Bytes实例(从apache http实体提供)。

我挖掘了一段时间的资源,但却无法找到方法......有什么建议吗?

1 个答案:

答案 0 :(得分:3)

有两种方法可以做到这一点。

// reuse a string builder if the String cannot be pooled easily
stringBuilder.setLength(0);
bytes.parseUTF(stringBuilder, StopCharTesters.ALL);

或者您可以使用内置字符串池

String s = bytes.parseUTF(StopCharTesters.ALL);

如果可能的字符串数量相对较少(至少大部分时间),这将很有效。