第一代语言:打孔机-纯机器语言
第二代语言:汇编
第三代语言:C、Pascal、Fortran面向过程的语言
C++面向过程/面向对象
Java跨平台的纯面向对象的语言
.NET跨语言的平台
二、Java语言的特点
与平台无关,提供程序运行的解释环境;
对C/C++取其精华,弃其糟粕。
1.简单性:由于软件对象可以对现实世界中的真实对象建模,所以减少了程序的复杂度,使得程序结构变得既清晰又简单。
2.模块性:每个对象可构成一个单独的模块,该模块的内部工作方式与系统的其他部分相分离。模块性是OOP具有可重用性和可扩展性的基础。
3.可重用:可重用性是指我们在一个项目中开发的模块,不仅能够在这个项目中使用,而且可以重复的在其他项目中使用。
4.可扩展:可扩展性是对现在应用软件提出的又一个重要要求,即要求应用软件能够很方便、容易地进行扩充和修改。
三.Java程序核心机制及运行过程
java两种核心机制:
Java虚拟机(Java Virtual Machine)(无平台,一次编译多次执行):
1.可以理解成一个以字节码为机器指令的CPU(虚拟的机器)
2.对于不同的运行平台,有不同的虚拟机。
3.Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”
【编译:直接可以编译成为操作系统可以认识的可执行文件的格式,如C/C++
解释:编译成Java自己的可执行文件.Class,.class在执行过程之中,需要Java的虚拟机查出Class里面的代码,一行一行的解释,翻译成各个操作系统平台认识的可执行文件的格式。所以java是解释型的语言】
垃圾收集机制(Garbagecollection)使程序健壮
1.不再使用的内存空间应回收--垃圾收集
2.在C/C++等语言中,由程序员负责回收无用内存
3.Java语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况,并在JVM(Java Virtual Machine)的空闲时,检查并释放那些可被释放的存储器空间。
4.垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。
重要定义:j2sdk(Software Devleopment Kit软件开发包)是JAVA的开发环境包它包含JDK(Java Devleopment Kit)(开发工具包)--开发需要和JRE(Java Runtime Environment)(运行时环境包)--用户执行需要
四、Java的核心技术
1.JavaServlet
Servlet是服务器端的Java小程序,Servlet全部由Java编写并且生成Html文档,它扩展了Web服务器的功能。当客户端发送请求时,服务器端便开始执行Servlet程序。
2.JDBC
JDBC(JavaDataBase Connectivity)为访问不同的数据库提供了统一的途径。像ODBC一样,JDBC对开发者屏蔽了一些细节问题,使得JDBC对数据库的访问也具有平台无关性。
3.JavaBean和EJB
JavaBean实际上是用Java写的控件,类似于微软的ActiveX。EJB是企业级的JavaBean。它们提供了一个框架来开发和实施分布式商务逻辑,从而显著地简化了具有可伸缩性和高度复杂性的企业级应用的开发。
4.JSP
JSP(JavaServer Pages)是Sun公司1999年推出的一种动态网页技术标准,是一种运行于Web服务器端的脚本语言。JSP和Microsoft的ASP(Active Server Pages)技术相似,不同的是编程语言:ASP采用VBScript,JSP采用Java。
5.XML
XML(eXtensibleMarkup Language)是一种可以定义标记的语言,主要用于在不同的商务过程中共享数据。虽然XML的发展和Java是相互独立的,但它们的共同目标都是平台无关性。将Java与XML组和可以得到一个完美的具有平台独立性的解决方案。
五、Java Application初步
1.Java源文件以“java”为扩展名,源文件的基本组成部分是类(class)
2.一个源文件中最多只能有一个public类。其他类的个数不限。如果源文件文件包含一个public类,它必须按类名命名。
3.Java应用程序的执行入口是main()方法。它的固定的书写格式:
public staticvoid main(String args[]){…}
4.严格区分大小写
5.方法由一条条语句构成,每个语句以分号结束。
6.三种注释方式://单行注释 /* 多行注释*/ /** *用于多行注释,且可以被doc工具解析 */