零基础学Java——Java概述

一、Java的起源

  Java起源于1991年,SUN公司做一个Green的项目,打算用C++进行开发,但是C++的开发比较复杂,所以SUN公司的工程师James Gosling在C++的基础上开发了一个新的平台,称为Oak,也就是Java的前身。

  1994年,互联网的兴起令Java在计算机网络上被广泛使用。同年Oak改名为Java。

  1995年Java正式问世并且有了自己的标识:

  

二、Java的发展历史

  1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。9月,约8.3万个网页应用了Java技术来制作。10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。

  1997年2月,JDK 1.1面世,在随后的3周时间里,达到了22万次的下载量。4月2日,Java One会议召开,参会者逾一万人,创当时全球同类会议规模之纪录。9月,Java Developer Connection社区成员超过10万。

  1998年12月8日,第二代Java平台的企业版J2EE发布。

  1999年6月,Sun公司发布了第二代Java平台(简称为Java2)的3个版本:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。

  1999年4月27日,HotSpot虚拟机发布。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机  。

  2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,几周后其获得了Apple公司Mac OS X的工业标准的支持。

  2001年9月24日,J2EE1.3发布。

  2002年2月26日,J2SE1.4发布。自此Java的计算能力有了大幅提升,与J2SE1.3相比,其多了近62%的类和接口。在这些新特性当中,还提供了广泛的XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新的I/OAPI、正则表达式、日志与断言。

  2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0(内部版本号1.5.0),代号为“Tiger”,Tiger包含了从1996年发布1.0版本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化I/O及可变参数。

  2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。 

  2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布的有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改。 

  2009年,甲骨文公司宣布收购Sun  。

  2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。

  2011年,甲骨文公司举行了全球性的活动,以庆祝Java7的推出,随后Java7正式发布。

  2014年,甲骨文公司发布了Java8正式版。

三、Java语言的特点

  Java是简单的、面向对象的、分布式的、解释的、健壮的、安全的、结构中立的、 轻便的、高性能的、多线程的动态语言。这句话恰恰指明了Java语言的特点和工作原理。

  

 简单易学

  Java与C++极为相似,但却简单的多。一方面,Java舍弃了C++中很难理解和令人困惑的特性,如指针、运算符重载、多继承等,而且增加垃圾自动回收机制;另一方面,Java的系统非常小,因此Java应用软件能在相当小的系统上独立工作。

 

 面向对象

  Java是一个纯的面对对象的程序设计语言。面对对象技术是近年来软件开发中用的最为普遍的程序设计思想,它把客观事物进行分类、分装。

 

 跨平台

  这是Java最吸引人的地方——一次编写,处处运行

  JVM:Java虚拟机,它采用编译成字节码文件。在解释成不同的机器码来执行的思想,屏蔽了具体的平台环境要求,只要支持JVM,就可以运行Java程序,从而实现跨平台。

  Java虚拟机:在一台计算机上由软件或硬件模拟的计算机。

  

 

 

 多线程

  Java中提供了专门的类,可方便的用于多线程编程。

  它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此互相独立。

  多线程的程序可同时执行多个任务,具有更好的交互性、实时性。

 

 动态性

  适合于一个不断发展的环境,可以在类库中自由的加入新的方法和实例变量而不会影响用户程序的执行。

 

 安全性

  Java可以构建出无病毒、安全的系统。

 

 分布式

  分布式包括数据分布和操作分布。

  数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同的主机上处理。

 

四、Java平台

 

 移动平台

  J2ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。根据Sun的定义:J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。J2ME技术在1999年的JavaOne Developer Conference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。

 

 桌面应用平台


 J2SE商业版本,标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程。

 J2SE 包含那些构成Java语言核心的类。
 

 企业级平台


 J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition)

 J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

 J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。

 

五、Java 运行环境和编程环境

  Java 运行环境,即 JavaRuntimeEnvironment,简称为JRE,是在任何平台上运行Java编写的程序都需要用到的软件。终端用户可以以软件或者插件方式得到和使用 JRE。Sun 公司还发布了一个JRE的更复杂的版本,叫做JDK,即Java 2开发包,里面包含了Java需要的编译器、参考文档和调试器等。

  Java编程环境,即JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK  。另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境。

  JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。

 编程工具

  Eclipse:一个开放源代码的、基于Java的可扩展开发平台。

  NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。

  IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。 

  MyEclipse:由Genuitec公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。

  EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。

 

下面是一个简单的Java程序。

public class Helloworld{
	
	public static void main(String args[]){
		
		System.out.println("hello world");
	}
}

 

注意:  

  ;  代表一条语句的结束

  {}  作用域

  当Java文件发生改变的时候需要重新编译

  Java严格区分大小写

  Java文件名称必须和类名一致

  Java类名每个单词首字母应大写

 

Java程序的编译运行:

  javac 文件名称.java  (编译)

  java  文件名称     (执行)

  编译的是.java文件

  执行的是.class文件

 

end......

posted @ 2018-03-10 17:18  THEMIE  阅读(773)  评论(0编辑  收藏  举报