gpt4 book ai didi

java - System.out.println ('teststring' ) 如何在控制台上打印值?哪个本地方法在做实际工作?

转载 作者:行者123 更新时间:2023-11-30 09:37:45 24 4
gpt4 key购买 nike

我正在搜索在控制台上打印 System.out.println() 参数值的 java 源代码。我检查了 PrintStreamFilterOutputStreamOutputStream 类,它们都没有完整的方法实现,也没有对 native 代码的任何引用。

System.out.println 值如何打印在控制台上,哪个 native 方法正在执行实际工作?

最佳答案

您必须深入了解装饰器模式包装器。在底部你会找到 FileOutputStream,特别是这个方法:

private native void writeBytes(byte b[], int off, int len) throws IOException;

使用这段代码来玩一下:

public static void main(String[] args) throws Exception {
nav(nav(System.out));
}

static Object nav(Object o) throws Exception {
final Field[] fs = o.getClass().getSuperclass().getDeclaredFields();
for (Field f : fs) {
f.setAccessible(true);
final Object r = f.get(o);
System.out.println(r);
return r;
}
return null;
}

关于java - System.out.println ('teststring' ) 如何在控制台上打印值?哪个本地方法在做实际工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10378921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com