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 环境变量.
来源: http://www.bubuko.com/infodetail-3102174.html