JDK1.9之后出现的模块化操作:
①在JDK1.9以前所有的历史版本之中实际上提供的是一个类所有的*.jar文件(rt.jar,tools.jar),在传统的开发之中只要启动了Java虚拟机,那么就需要加载这几十兆的类文件。
②在JDK1.9之后提供了一个模块化的设计,将本来很大的要加载的一个*.jar文件变成了若干个模块文件,这样在启动的时候可以根据程序加载指定的模块(模块中有包),就可以实现启动速度变快的效果。
关于public class和class定义类的区别:
①public class:文件名称和类名称保持一致,在一个*.java文件中只能存在一个public class定义,如果一个类要想被外部的包所访问必须定义为public。
②class:文件名称可以与类名称不一致,在一个*.java中可以同时存在多个class定义,并且编译完成之后会形成多个*.class文件,使用class定义的类只能够在一个包中访问,不同包无法访问。
jar(Java Archive,Java归档文件)是一个Java给出的压缩格式文件,即可以将*.class文件以*.jar压缩包的方式给用户,这样方便程序的维护。如果要使用jar的话,可以直接利用JDK给出的jar命令完成,如果要确定使用参数则可以输入命令:jar--help,查看相关参数。Jar最常用的三个参数:
-c:创建一个新的文件
-v:生成标准的压缩信息
-f:由用户自己指定一个*.jar的文件名称
①在引用*.jar文件的过程中,CLASSPATH环境属性是一个重要选项,如果没有正确的配置,则在程序使用时会出现Exception inthread "main" java.lang.NoClassDefFoundError:cn/mldn/util/Message异常信息。
②源代码需要首先编译为*.class文件后才可以打包为*.jar文件,可以按照以下步骤进行:
-->对程序打包编译:javac -d.Message.java
-->此时会形成cn的包,包里有相应的子包与*.class文件,将其打包为mldn.jar:jar -cvf mldn.jar cn。
-->每一个*.jar文件都是一个独立的程序路径,如果要想在Java程序中使用此路径,则必须通过CLASSPATH进行配置。
Java的支持类库:
①Java自身提供的(处理JDK提供的类库之外还会有一些标准)。
②由第三方厂商提供的Java支持类库,可以完成各种你所需要的功能,并且支持的厂商很多。
Java SE提供的一些常见的系统包:
java,lang:基本包,像String,Number,Object这样的类就都保存在此包中。在JDK1.0的时候如果想编写程序,则必须手动导入此包,但是之后的JDK解决了此问题,所以此包现在为自动导入。
java.lang.reflext:反射机制的包,是java.lang的子包。
java.util:工具包,一些常用的类库、日期操作等都在此包中。
java.text:提供了一些文本的处理类库。
java.sql:数据库操作包,提供了各种数据库操作的类和接口。
java.net:完成网络编程。
java.io:输入、输出处理。
java.awt:包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。
javax.swing:此包用于建立图形用户界面,此包中的组件相对于java.awt包而言是轻量级组件。
java.applet:小应用程序开发包。