jvm启动参数设置-Dfile.encoding=UTF-8的含义与作用

**引言:**Java程序运行、程序运行经常看到博客提示设置JVM参数-Dfile.encoding=utf-8,但是到底它是设置什么参数呢?为我们做了哪些事情呢?拨开云雾且看下文。
jvm启动参数设置-Dfile.encoding=UTF-8的含义与作用_第1张图片

一、程序运行源代码历经处理阶段

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

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

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

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

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

你可能感兴趣的:(jvm,java,开发语言)