在System.out.println(“hello”)期间调用memcpy多少次?

时间:2017-06-29 01:29:39

标签: java operating-system memcpy

我认为当常量字符串“hello”从Java堆(用户空间)复制到内核空间时会调用memcpy。

我认为还有更多,是吗?

1 个答案:

答案 0 :(得分:1)

也许你可以自己调查一下。一个起点可能是

<强> Foo.java

 .rows .row {
    display: inline-block;
 }

编译它

class Foo {
    public static void main(String[] args) {
        System.out.println("before");
        System.out.println("hello world");
    }
}

然后检查javac Foo.java 来电

memcpy

输出

ltrace -f -S -e memcpy java Foo 2>&1 \
    | sed -n "/before/,/hello/ {/\(before\|hello\|>memcpy\)/p}"