Windows系统下,java编译器(javac)不区分大小写,java解释器(java)严格区分大小写

Posted likeqc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows系统下,java编译器(javac)不区分大小写,java解释器(java)严格区分大小写相关的知识,希望对你有一定的参考价值。

java是一门严格区分大小写的语言。
但是在Windows系统下,却有如下情况:

技术图片

使用cmd命名编译执行此程序

技术图片

由此可以发现,Windows系统中java编译器(javac)并没有严格区分大小写!
what?什么情况?说话的严格区分大小写呢,为啥java编译器(javac)没有严格区分大小写,而java解释器(java)就严格区分大小写。

以下属于个人推测:

  • 在Windows系统中,java编译器不区分大小写,因为Windows系统不区分大小写,当使用javac解释某个源程序文件时,是通过系统去寻找目标文件;而java解释器(java)则严格区分大小写,此时应该是JVM自己去找到需要的类文件,所以一定是严格区分大小写的。

  • 另外,javac需要的是文件名(文件名 = 文件主名 + 扩展名),所以要带上后缀 .class;而java需要的是类名(类名默认后缀 .class),所以就不需要指明后缀了。


likeqc
ends




以上是关于Windows系统下,java编译器(javac)不区分大小写,java解释器(java)严格区分大小写的主要内容,如果未能解决你的问题,请参考以下文章

Linux 环境下 javac 编译错误: 编码UTF8的不可映射字符 (编码UTF8/GBK的不可映射字符)

sublime text 2无法显示java编译的结果

配置java环境变量javac命令无法识别问题解决

JAVA基础

Windows环境下安装jdk找不到javac.exe

如何用javac命令编译一个目录以及子目录下所有的java文件呢?