小编jav*_*bic的帖子

为什么Java String.indexOf()优于用户定义类中实现的相同逻辑?

我对Java的String.indexOf(String subString)的性能有疑问.

我编写了一个类来比较调用String.indexOf(String subString)的性能与从String的源内部复制源并使用完全相同的参数调用内部indexOf().

尽管调用堆栈的深度为2帧,但直接调用String.indexOf()时性能似乎提高了约4倍.

我的JVM是JDK1.7.0_40 64bit(windows hotspot).我的机器运行Windows,配备i7-4600U CPU,16GB内存.

这是代码:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;

public class TestIndexOf implements Runnable {

  final static String s0 = "This is my search string, it is pretty long so can test the speed of the search";
  final static String s1 = "speed of the search";
  final static char[] c0 = s0.toCharArray();
  final static char[] c1 = s1.toCharArray();
  final static byte[] b0 = s0.getBytes();
  final static byte[] b1 = s1.getBytes();

  static …
Run Code Online (Sandbox Code Playgroud)

java string performance

1
推荐指数
1
解决办法
516
查看次数

标签 统计

java ×1

performance ×1

string ×1