空文件是有效的Java源文件。如何在JVM中处理它? [英] Empty file is a valid Java source file. How it is handled inside the JVM?

查看:115
本文介绍了空文件是有效的Java源文件。如何在JVM中处理它?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

空文件是有效的Java源文件,但它是如何在JVM中处理的?

Empty file is valid Java source file, but how it is handled inside the JVM?

推荐答案

没有人 - .java文件和.class文件之间的一对一关系。你拥有的是(或类声明)和.class文件之间的一对一关系。

There is no one-to-one relation between .java-files and .class-files. What you have is a one-to-one relation between classes (or class-declarations) and .class-files.

没有类声明的Java源文件不会产生任何 .class 文件,所以它不是真的由JVM处理

$ touch Test.java

$ ls
Test.java

$ javac Test.java

$ ls
Test.java






在Java语言规范中,Java源文件与编译单元是同义词。 JLS中的相关部分是 7.3编译单元


In the Java Language Specification a Java-source file is synonym with a Compilation Unit. The relevant section in the JLS is 7.3 Compilation Units.

语法描述如下:


CompilationUnit:

      PackageDeclaration opt ImportDeclarations opt TypeDeclarations opt

...

CompilationUnit:
     PackageDeclarationopt ImportDeclarationsopt TypeDeclarationsopt
...

opt -subscript表示该部分是可选的。由于TypeDeclarations是可选的,因此不需要存在类声明。

The opt-subscript says that the part is optional. Since TypeDeclarations is optional, no class-declarations need to exist.

这篇关于空文件是有效的Java源文件。如何在JVM中处理它?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆