java - 将子字符串的 jdk6 更改为 jdk7 行为的解决方法

标签 java performance substring

直到jdk7u6的子串方法was lightning fast因为它只是在现有字符串中使用指针——因此不需要内存复制。我在实现解析器时广泛使用了该功能。

考虑到自该关键性能特征被移除以来的时间长度,必须有一些润滑良好的替代品。

注意:理论上我可以返回并从 jdk6 复制实现。但是 IIRC 它在整个 String 类中被包裹得很重——即不容易提取。

那么这样的实现是否存在 - 例如在高性能 jvm 解析器库之一中?

最佳答案

您可以使用 CharBuffer 执行您需要的操作,它实现了 CharSequence 接口(interface)。参见,特别是 CharBuffer.subSequence .

关于java - 将子字符串的 jdk6 更改为 jdk7 行为的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33621046/

相关文章:

java - 没有找到主要类

r - 如何在R中的重复字符串中选择最长的ngram?

Python——搜索子串全词)

java - web.xml 到 WebSecurityConfigurerAdapter

JavaFX 更新问题?

c++ - std::lock_guard 和 #pragma omp critical 之间的区别

MySQL获取与其他表匹配的前10项以对它们进行分组

android - 如何加速 Android 仿真?

R - 在列中查找模式并替换它(更有效的解决方案)

java - 创建原始数据包以欺骗 UDP 数据包