IT兄弟连 Java语法教程 Java语言入门 典面试题

1.请说明JVM、JRE和JDK是什么?它们有什么关系?

JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

JRE是Java运行环境,Java Runtime Environment的缩写。运行Java程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JDK是Java标准版开发工具包,是Sun提供的一套用于开发Java程序的开发包,它提供了编译、运行Java程序所需的各种工具和资源,其中包括了编译器和Java运行时环境JRE。

JDK中包含JRE,JRE中包含JVM,如果只是运行Java程序,那么只需要下载安装JRE就可以了,但是如果想开发Java程序,那么就需要下载安装JDK。

2.如何编译Java源文件?如何运行一个Java程序?

Java的源文件文件名是以.java为后缀的,当编写好Java源文件后,需要使用JDK中提供javac.exe程序进行编译。在系统控制台(CMD)中进入源文件所在的目录,使用“javac源文件名”的命令格式进行编译,在编译的过程中如果没有提示错误就表示编译成功,会在源文件同目录下生成编译后的字节码文件,Java的字节码文件文件名与源文件同名,但是使用.class作为文件名的后缀。

当Java的源代码编译成字节码文件后,就可以通过java命令运行这个Java程序。在系统控制台(CMD)中进入字节码文件所在的目录,使用“java类名”的命令格式运行Java程序。java命令中使用的类名是Java源程序中定义的类名,而不是Java字节码文件的文件名。如果使用“java字节码文件名”来运行Java程序会提示错误。

3.Java语言是否是跨平台的?如果是跨平台的,那平台指的是什么?

Java语言是跨平台的编程语言,这里说的平台指的是计算机中的CPU和操作系统的整体。CPU种类繁多,不同类型的CPU使用了不同的指令集,不同的操作系统支持不同的指令集。但因为目前主流的操作系统支持大部分主流的CPU的全部指令集,所以在操作系统层面上就屏蔽了CPU种类的不同,但是操作系统根据CPU中通用寄存器的宽度也分成了32位操作系统和64位操作系统。所以目前说的Java语言跨平台指的是跨操作系统版本。

4.JavaSE、JavaEE和JavaME分别代表了什么?

JavaSE:Java Standard Edition,标准版。是我们常用的一个版本,从JDK1.5开始,改名为JavaSE,主要用于桌面应用软件的编程。

JavaEE:Java Enterprise Edition, 企业版。JavaEE是J2EE的一个新名称,主要用于分布式的网络程序的开发

JavaME:Java Micro Edition,机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。

5.Java跨平台是如何实现的?

Java是利用JVM(Java虚拟机)实现跨平台的。

Java源代码(*.java)经过Java编译器编译成Java字节码(*.class),执行Java字节码,Java字节经过JVM解释为具体平台的具体指令并执行。不同平台有不同的JVM,主流平台都提供了JVM,所以Java字节码可以在主流平台上能够解释执行。在这个意义上Java是跨平台的,也就是说:Java的字节码是跨平台的。

6.请列举一些Java中比较常见的包以及作用。

java.lang包:这个包中包含了jdk提供的基础类,比如String等都是这里面的,这个包是唯一一个不用导入就可以使用的包;

java.io包:包含了与输入输出相关的类;比如文件操作等

java.net包:包含了与网络相关的类,比如URL,URLConnection等

java.util包:这个是系统辅助类,特别是集合类Collection,List,Map等。

java.sql包:数据库操作的类,Connection,Statement,ResultSet等。

7.安装JDK后需要配置环境变量么?需要配置那些环境变量?具体怎么配置?

安装JDK后需要配置环境变量,如果不配置环境变量,在控制台使用Java命令会提示命令未找到。需要配置系统Path和CLASSPATH变量。在系统Path原变量值前加入JDK的bin目录的路径,并在最后加入分号。CLASSPATH变量在JDK5后可以省略,因为JDK5后会自动在当前路径下寻找Java类。但是在JDK5之前需要在CLASSPATH变量中添加“.”以及JDK中lib目录下的dt.jar和tools.jar的路径,中间使用分号分隔,“.”代表的是当前目录,编译Java程序需要dt.jar和tools.jar这两个工具包,所以也需要加入CLASSPATH环境变量。

猜你喜欢

转载自www.cnblogs.com/itxdl/p/11075444.html