本章目标:
了解SUN公司
了解Java语言的发展史
了解Java主要技术的三个分支
了解Java可移植性的实现原理
SUN公司:java的缔造者
Java发展简史:
Oak:Java的前身,1991年出现
基于C++开发的新语言,主要用于嵌入式设备开发
之后产生了HotJava浏览器
在1991年的时候SUN公司竞标一个Green的项目,此项目就类似于今天的嵌入式开发,但是最早是打算采用C++进行开发,可是很遗憾,C++的开发比较复杂,所以SUN公司的工程师在C++的基础之上开发了一个新的平台,称为Oak。SUN的开发者发现浏览器技术非常流行,所以由Oak又开发出了一套浏览器——HotJava,为之后的java诞生奠定基础。
1998年的时候对JDK进行了升级,怎么升级的?在整个java中,它之前最早使用大量的本机的系统函数,所以说这些组件都属于重量级的组件,而在我们的java2和JDK1.2之后它定义了许多新的轻量级组件,这些组件出现之后,使得java的可移植性又进一步发展,在JDK1.5也就是J2SE5.0,代号“猛虎”。对于软件开发而言,新的技术并不一定非在实际的开发中去采用。
为什么要从Oak发展到Java?
当时基于Oak产生了新的语言(后来被称为Java),但是此语言不能被注册,因为已经被注册过了,注册过之后,那么就只能为这个新的语言重新命名,重新命名的时候就想起了,经常喝一种咖啡,咖啡的名字就叫做Java。
J2ME:是一个微型版本,主要是做嵌入式开发的,有些手机都已经支持了Java,这个手机是支持Java程序的,但是这个嵌入式开发现在大部分情况下都只是针对游戏开发比较多,手机上办公是很难的,是终端设备限制的,玩游戏的比较多的。
JAVAEE部分和JAVA ME部分只是对应用程序部分进行了其他样式的封装,做JAVAEE要把JAVASE的面向对象部分要重点搞明白。
Java语言的特点:
1、简单有效
2、可移植性
3、面向对象
4、解释型
5、适合分布式计算
6、拥有较好的性能
7、健壮、防患于未然
8、具有多线程处理能力
9、具有较高的安全性
10、是一种动态语言
11、是一种中性结构
Java语言本身而言相对于其他语言是简单的,而且可移植性高,之所以把java重新升级成java2就因为它要保证它的可移植性,面向对象是java语言最重要的特点。随着计算机硬件的不断发展,java中原本的性能缺陷已经逐步得到改善。多线程也是一个很好的特点,可以同时处理多个程序,java的所有代码是以字节码文件保存的,而且传入的时候传入的并不是源文件。
.class是字节码文件,通过Hello.class这个文件才是真正要执行的,而每次如果java源程序改变之后,字节码文件必须重新编译,因为电脑只认识二进制的比特流数据,所以要经过虚拟机解释才能在电脑上执行。
Java中的最大特点:可移植性,一个程序可以同时在多个平台上执行,而不改变程序本身。但是如果要想实现这样的可移植性,则必须要利用JVM。所有的class文件找的是JVM,由JVM根据各个系统的不同,我安装不同的JVM,那么我们的程序就只认JVM,那么JVM帮我们去适应各个操作系统,从而达到了可移植性。这个理论在平台开发上,包括平台上都是非常常见的一个设计理论,但是是java提出的理论基础。
这个翻译就是Java虚拟机
小结:
1、了解整个Java的发展历史以及与SUN公司的关系
2、了解JVM的基本工作原理
Java开发环境搭建:
本章目标
安装JDK
配置Java开发环境
掌握path及classpath的作用
运行第一个程序
可以直接从www.sun.com上下载到JDK的最新版本,此处使用的版本是JDK1.6,到java的官网上去下载java的标准版,也就是JDK,JDK的安装过程其实就是个解压缩的过程,就是把文件解压缩到你的硬盘之上。
如果要想使用Java进行开发,则肯定要进行编译和解释,编译的java命令:javac.exe
解释的命令:java.exe JDK是属于单独配置的软件,如果要想可以直接在命令行中使用这两个命令的话,则需要配置path路径。
JDK文件夹中的bin目录下存放了所有可执行的java程序,因为每次命令行重新启动的时候都会重新读取所有的配置,所以一旦配置改变之后命令行要重新启动。
通过javac.exe编译文件,产生了*.class文件,之后再执行*.class文件。
第一个程序编写完成之后,大概了解了其基本应用,但是进一步分析一下,java程序的执行流程:
Java命令→要使用一个*.class文件(类文件)→通过classpath找到*.class文件所保存的真是目录,之后再进行加载执行。
如果在运行中出现了以上的错误,常见的问题有如下两种:
1.大小写写错了
2.路径不正确
set classpath = d:\testjava
一旦,设置了这样的一个命令,则表示以后的所有类都直接从d:\testjava目录中查找。
但是,一般情况下很少将一个classpath设置成一个指定的目录,最好的方式是在当前所在的文件夹中找到需要的*.class文件,所以此时就可以将路径设置成“.”,就表示从当前所在的文件夹之中查找内容,set classpath = .
小结:
1、path的主要功能是设置JDK的可执行命令。
2、classpath主要是在执行的时候起作用,告诉JVM类的保存路径,一般设置成“.”
注意:classpath只在java命令的时候起作用,而对于javac不起任何作用。
3.可以编写第一个java程序,了解其运行过程。