Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaprintf性能_Java - Fatal编程技术网

javaprintf性能

javaprintf性能,java,Java,Java是使用参数调用(g)libc函数printf,还是Java自己进行替换,我认为这很慢 所以当我做System.out.printf(…),Java是解释%s,%d并调用。替换(“%d”,某物),还是只调用本机printf()c函数,将其直接传递给c/c++本机代码?的所有代码都是用Java完成的 大部分魔法发生在课堂上 最终将调用: formatter.format(Locale.getDefault(), format, args); 另请参见。它不调用C库。为什么您认为“Java自

Java是使用参数调用
(g)libc
函数
printf
,还是Java自己进行替换,我认为这很慢

所以当我做
System.out.printf(…)
,Java是解释
%s
%d
并调用
。替换(“%d”,某物)
,还是只调用本机
printf()
c函数,将其直接传递给c/c++本机代码?

的所有代码都是用Java完成的

大部分魔法发生在课堂上

最终将调用:

formatter.format(Locale.getDefault(), format, args);

另请参见。

它不调用C库。为什么您认为“Java自身进行替换”很慢?我认为这很慢?您的假设是错误的。Java基准测试是一项复杂的任务,但在进行任何假设之前,您仍然应该正确地进行测试。我认为差异将比您预期的小得多。我的意思是缓慢,就像在Java中进行所有替换,而不是在已经实现的本地打印中。又一次,为了拥有所有权而重新发明轮子。真是个扫兴的家伙。libc已经为几乎任何类型的I/O实现了所有这些功能。正如我上面所说的,它是一个全新的轮子。
formatter.format(Locale.getDefault(), format, args);