·计算机语言的发展史
▪ SUN公司是一家什么样的公司? – 美国SUN(Stanford University Network)公司 – 在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司” – 在台湾中文名为“升 阳电脑公司” 。
▪ Java为什么被发明? – Green项目。 – 应用环境:像电视盒这样的消费类电子产品 – 要求:
▪ 语言本身是中立的,也就是跨平台
▪ Java的发明人? – James Gosling
·java语言的发展历史背景
▪ 1991年,Sun公司的Green项目,Oak
▪ 1995年,推出Java测试版
▪1996年,JDK1.0
▪1997年,JDK1.1 1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,更名为Java2
▪1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生
▪2004年,J2SE 5.0 (1.5.0) Tiger老虎.为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。
▪2006年,J2SE 6.0 (1.6.0) Mustang野马.此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名为Java EE, J2SE更名为 Java SE,J2ME更名为Java ME
▪2009年4月20日甲骨文收购Sun公司,交易价格达74亿美元 2011年,JavaSE7.0▪ ▪ ▪ ▪ ▪ ▪
▪ 2014年 ,JavaSE8.0 2017年,JavaSE9.0 2018年3月,JavaSE10.0
▪2018年9月,JavaSE11.0
Java各版本和体系架构
▪ J2EE (JavaEE) – Java 2 Enterprise Edition: – 定位在服务器端的应用 ▪ J2SE (JavaSE) – Java 2 Standard Edition – 定位在个人计算机上的应用 ▪ J2ME (JavaME) – Java 2 Micro Edition – 定位在消费性电子产品的应用上
JVM(Java VIRTUAL MACHINE)
▪ JVM是一种规范。就是一个虚拟的用 于执行bytecodes字节码的计算机。 ▪ Java虚拟机是Java最核心技术,也是跨 平台的基础。 ▪ 可以使用软件来实现 – IBM, SUN, BEA等。你也可以自己 写一个JVM ▪ 可以使用硬件来实现 – 比如sun/intel公司正在研发的Java 芯片
Java的特点
▪ Java是跨平台的
▪ Java是简单的
▪ Java是安全的
▪ Java是完全面向对象的
▪ Java是健壮的
▪ Java是跨平台的 – Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设 备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运 行。
▪ Java是简单的 – 不再有#include 和#define 等预处理功能 – 不再有struct,union及typedef – 不再有函数、 – 不再有指针、不再有多重继承 – 不再有goto – 不再有操作符重载(Operatior Overloading) – 不再有全局变量 取消自动类型转换,要求强制转换 – 不再有手动内存管理
▪Java是安全的 –Java取消了强大但又危险的指针。由于指针可进行移动运算,指针可随便指向 一个内存区域,而不管这个区域是否可用,这样做是危险的,因为原来这个内 存地址可能存储着重要数据或者是其他程序运行所占用的, 并且使用指针也容 易数组越界。 –Java提供了自动内存管理机制,由垃圾回收器在后台自动回收, –Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。 –而在运行环境提供了四级安全性保障机制: ▪字节码校验器 -类装载器 -运行时内存布局 -文件访问限制
▪ Java是完全面向对象的 – Java和C++都是面向对象语言。也就是说,它们都能够实现面向对 象思想(封装,继承,多态)。 – 由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为 了带类的C语言,多少影响了其面向对象的彻底性! – Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。 它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其 他语言的不足之处,从根本上解决了c++的固有缺陷。
▪ Java是健壮的 – Java的强制类型机制、异常处理、垃圾的自动收集等是Java程 序健壮性的重要保证。 – 对指针的丢弃是Java的明智选择。 – Java的安全检查机制使得Java更具健壮性。
开始Java开发之前的准备
▪ 安装JDK
– 卸载JDK – 安装JDK – 验证JDK安装正确 ▪ Java -version
▪ 安装Java开发工具
▪ 常用Java开发工具 – 文本编辑器(选择任意一个) ▪ UltraEdit ▪ EditPlus ▪ notepad++ – 集成开发环境(IDE:Integrated Development Environment) ▪ Eclipse (http://www.eclipse.org) 解压即可(重点) ▪ MyEclipse:若进行J2EE开发,还要加MyEclipse插件。 MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环 境。现在直接安装集成Eclipse的MyEclipse即可。商业软件 ▪ IntelliJ IDEA:目前最火
▪ 准备JDK API
▪ JDK帮助文档 – SUN公司为JDK工具包提供了一整套文档资料,我们习惯上称 之为JDK文档。 – JDK文档中提供了Java中的各种技术的详细资料,以及JDK中提 供的各种类的帮助说明。 – JDK文档是Java语言的完整说明,大多数书籍中的类的介绍都 要参照它来完成,它是编程者经常查阅的资料。
▪ 掌握简单DOS命令
▪ 常用的DOS命令(文件夹/目录操作命令) – dir directory 查看当前目录下的文件和子文件夹 – cd change directory 改变当前文件夹 – md make directory创建当前文件夹 – rd remove directory删除当前文件夹 – cls clear screen清除屏幕 – 切换盘符 d: c: – Tab键 帮助自动完成文件名或者文件夹 – 上下箭头键 显示之前或者之后的命令
总结和提升
▪ 编程风格
– 注意缩进! ▪ 一定要有缩进。缩进就 像人得体的衣着一样!
– 成对编程! ▪ 括号、引号都应该写完 } 后,再往里加内容。
– 见名知意! ▪ 最基本的要求!
▪ 注释
– 作用 ▪ 注释就是程序员为读者作的说明,是提高程序可读性的一种手段
– 类型 ▪ // 单行注释 注释内容从//到本行结尾 ▪ 多行注释 注释不能嵌套 ▪ 文档注释 可以通过JDK提供的Javadoc命令,生成程序的 API文档 (面向对象编程时再讲)
– 注意 ▪ 注释不会出现在字节码文件中。 即Java编译器编译时会 跳过注释语句。
反编译工具
▪ 编译 – 源代码----->class
▪ 反编译 – class---->源代码
▪ 反编译软件 – jd-gui.exe
▪ 因为编译的时候不会对注释进行处理,所以反编译时不可能得到注释



