在OS X上,printf和System.out.println不是原子的(奇怪地交互)?

时间:2016-01-02 13:03:51

标签: java macos jvm printf system.out

我有一个Java应用程序不时写入System.out。我还打开了一些日志记录(-XX:+PrintCompilation -verbose:gc ...),这是在VM中本机实现的。原生日志记录和对System.out的调用最终都会printf拨打stdout

然而,在 Mac OS 上(并且只是在这个,而不是在 Linux Windows 上)Java的打印消息的一部分申请遗失!意思是我有System.out.println("Valid run.")这样的调用,它只打印Valid ru以及VM的一条日志消息。但是,遗失的n.无处可寻。

我知道C标准没有将printf指定为原子,但是尽管它是,或者至少即使没有,但是缺少的n.必须在其他地方并且不会完全丢失。任何想法可能是什么或如何进一步调试?

0 个答案:

没有答案