存储Java包

时间:2015-08-06 22:04:34

标签: java packages

我有一个关于用Java存储包的问题。

通常,我们假设包存储在本地文件系统中,每个文件只应有一个公共类或接口。

但是对于存储在“某种数据库”中的包不是这种情况。

它是用Java SE 8规范编写的:

“在Java SE平台的简单实现中,包和编译单元可以存储在本地文件系统中。其他实现可以使用分布式文件系统或某种形式的数据库来存储它们。”

参见JLS第7.2节。

通常,我们将Java SE下载为一个简单的exe文件(对于Windows情况),该文件将一组文件夹和文件安装到本地文件系统中。我们将其命名为“Java SE安装”。

您知道吗,“数据库案例”是否有“Java SE安装”? 或者你知道如何实施它吗?

1 个答案:

答案 0 :(得分:0)

看起来我理解了这个问题。

1)首先,是的,他们将实现该功能的细节留给了Java实现者。

2)编译单元是Java Compiler(javac.exe)的“食物”,而不是JVM(java.exe),我们指定这个“食物”就像

javac MyClass.java

和in -sourcepath选项。    所有这些东西都是文件(java文件,文件夹,jar / zip文件)。

3)从我的观点来看,“Database Java SE”可以选择直接连接到数据库并从表中获取源    并推回数据库编译的二进制代码。

例如javac_db“从db获取源”“将二进制代码发布到db”

4)关于服务器上的applet。    事实上,applet作为二进制类文件存储在服务器中,因此它们不是编译器的“食物”。    通常它们存储为单独的类文件或jar / zip文件。

5)关于自动生成的Java代码,如编译的JSP页面。    当我们将JSP页面转换为servlet时,我们在内存中创建Servlet源,但在编译之前,我们将其序列化为文件然后发送到javac.exe。    因此我们在这里处理文件。

因此“Database Java SE”主要涉及Java工具,如“java_db.exe”,“javac_db.exe”等。