A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柳小龙 中级黑马   /  2013-8-5 08:21  /  1527 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一道编码的面试选择题
问“在中文操作系统中,Sysout.out.println("汉字")向控制台打印出”汉字“这个过程JVM一共做了几次转码”????小黑马,大神们…………

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览

如果用到转换流的话 2次  先是底层的字节转字符,然后转换流又按照指定的编码或系统默认的编码转1次
如果没有用到转换流的话 那就是1次

当然 前提是从文件直接读取数据
回复 使用道具 举报
System.out.println("汉字"),      首先把“汉字” 转换成 ,电脑所认识的字节码文件,然后由电脑在从字节码文件转换成,用户所认识的汉字,所以我认为是两次
回复 使用道具 举报
应该是……一次吧
Jvm只把字节码文件中的java命令,转换成你的操作系统的命令

转码的事情,是在编译的时候做的
要是你电脑中默认的是GBK,编译时就转成GBK对应的二进制文件了,
回复 使用道具 举报
两次吧,编译的时候转了一次,运行显示的时候一次
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马