一.Java平台的分类
1.JavaSE——Standard Edition
JavaSE是Java平台的标准版本,包含两个主要产品:
- Java运行环境JRE(Java Runtime Environment):JRE提供了库(Java虚拟机)和其他运行Java程序的组件。也为其他工具如:J2EE和Eclipse提供了集成开发环境。
- Java开发工具JDK (Java Development Kit):JDK不但包括了JRE,而且还提供编译、运行、调试Java程序所需要的基本命令。
*Java虚拟机提供了独立于硬件和操作系统的JavaSE平台。
2.JavaEE——Enterprise Edition
JavaEE企业版主要用于开发服务器端的Java应用程序。
3.JavaME——Micro Edition
JavaME主要用于移动设备上嵌入式系统的应用开发。
二.Java Application程序和Java Applet程序
1.Java Application程序与解释型语言
简单的来说Java Application是完整的程序,需要独立的解释器来解释运行。
1. 高级编程语言按照执行模式可以划分为编译型和解释型两种。
编译型语言:生成目标代码经链接后成为计算机可以直接执行的代码,如C、Pascal等。
解释型语言:程序不能直接在操作系统级运行,需要一个专门的解释器程序来解释执行。
import java.io.*;//加载已经定义好的包和类(类似C语言的#include)
public class HelloWorld //类定义的开始,类头部分
{
public static void main(String args[])//Java Application类型的程序必须有且只有一个main方法
{
System.out.println("Hello,World!");
}
}//类体部分
2.传统语言的运行机制:源代码-(编译)->目标码-(连接)->可执行代码-(运行)->操作系统
Java语言的运行机制:源代码-(编译)->字节码-(解释执行)->Java解释器
3.在c语言以及其他高级语言的编译过程中,通常都是一个源代码文件生成一个目标码文件,而Java程序的编译则是在源代码中定义了几个类,编译结果就生成几个字节码文件。
4.Java源代码编译生成的字节码不能直接运行在一般的操作系统平台上,必须运行在一个称为“Java虚拟机”的操作系统之外的软件平台上。在运行Java程序时,首先应该启动这个虚拟机,然后由他来负责执行Java的字节码。
5.Java Application是由若干个类定义组成的独立的解释型程序,其中必须有一个包含main方法的主类;执行Java Application时需要用独立的Java解释器来解释执行这个主类的字节码文件。
2.Java Applet程序与图形界面
Java Applet是嵌在HTML编写的Web页面中的非独立性程序,由Web浏览器内部包含的Java解释器来解释运行。
import java.awt.Graphics;//java.awt包中的系统类Graphics引入本程序
import java.applet.Applet;//java.applet包中的系统类Applet引入本程序
public class MyJavaApplet extends Applet//JavaApplet中不需要有main方法,它的要求是程序中有且只有一个类是Applet的子类
{
public void paint(Graphics g)
{
g.drawString("Hello Java World!", 10, 20);
}
}
//Java Applet 是由若干个类定义组成的解释型程序,其中一个类必须是系统类Applet的子类;
//执行Java Applet时,需先将编译生成的字节码文件嵌入HTML文件,并使用内置Java解释器的浏览器来解释执行这个字节码文件
- Java Applet是由若干个类定义组成的解释型程序,其中有一个类必须是系统类Applet的子类。
- 执行Java Applet时,需先将编译生成的字节码文件嵌入HTML文件,并使用内置Java解释器的浏览器来解释执行这个字节码的文件。
3.Applet运行步骤
1)WWW浏览器向WWW服务器请求HTML文件
2)WWW浏览器从WWW服务器下载HTML文件
3)向WWW服务器请求Applet字节码
4)从WWW服务器下载Applet字节码
5)在本机解释执行Applet字节码
<HTML>
<BODY>
<APPLET CODE = "MyJavaApplet.class" HEIGHT = 200 WIDTH = 300>
</APPLET>
</BODY>
</HTML>
三.Java语言的特点
- 平台无关性
- 面向对象
- 安全稳定
- 支持多线程
- 简单易学