首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中,PrintStream如何将文本打印到控制台?

在Java中,PrintStream如何将文本打印到控制台?
EN

Stack Overflow用户
提问于 2015-11-22 23:22:56
回答 2查看 233关注 0票数 0

因此,据我所知,PrintStream必须使用某种Java原住民接口来与操作系统通信,这样它才能写入标准输出,或者Java使用其他技术吗?我想知道JVM的架构吸引了我。我非常感兴趣地了解它的工作方式和系统本身的架构。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-23 04:35:14

OpenJDK中的标准输出流是一个包装BufferedOutputStreamPrintStream,它封装的是来自FileDescriptor已创建 FileOutputStream。有一些特殊的FileDescriptor对象,它们对应于stdin、stdout和stderr (特别是参见FileDescriptor.out)。它们有着众所周知的数字(例如,stdout文件描述符1)。因此,真正的逻辑在FileOutputStream.writeBytes方法中,这当然是本机的。在Java方面,我们有缓冲、同步和将字符转换为字节。低级的东西(将字节直接写入文件描述符)是由本机代码完成的。

票数 1
EN

Stack Overflow用户

发布于 2015-11-22 23:49:52

Java System.out PrintStream写入标准输出。维基百科将stdout描述为,

标准输出的文件描述符为1(1);POSIX <unistd.h>定义为STDOUT_FILENO;对应的<stdio.h>变量为FILE* stdout;类似地,<iostream>变量为std::cout

System.out的Javadoc表示(部分)

“标准”输出流。此流已经打开,可以接受输出数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33861472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档