代码改变世界

-Dfile.encoding=utf-8到底是设置什么,有什么含义与作用?

2022-08-11 22:21  darling达  阅读(2672)  评论(0)    收藏  举报

引言:Java程序运行、程序运行经常看到博客提示设置JVM参数-Dfile.encoding=utf-8,但是到底它是设置什么参数呢?为我们做了哪些事情呢?拨开云雾且看下文。

 

 

一、程序运行源代码历经处理阶段
一份代码到运行得到正确输出,经过步骤:

Java源代码----Javac编译成class字节码文件----Java虚拟机JVM加载运行---操作系统----显示设备。

Java源码---字节码:调用jdk的javac命令执行编译,javac默认采用系统字符集。通常我们会设置文件编码UTF-8。使用命令编译也可以加上-encoding UTF-8;

System.getProperty("file.encoding") //可以获取当前系统使用的编码字符集

content.getBytes(System.getProperty("file.encoding")),"GBK") 通过当前字符集转码


Java字节码---虚拟机---操作系统:虚拟机启动的时候以什么字符集编码来解析我们的class字节码文件呢?这时候我们就通常会设置 -Dfile.encoding=utf-8. Dfile=decode file. 这里也就解释了设置这个VM参数的意义了。

操作系统---显示设备:针对编码阶段出现的中文,在这一步骤就需要操作系统安装中文字体以支持中文。

so,Do i explain it clearly to you?Ths for listening!

完结!
————————————————