java学习总结--1.起源
javaoo已经学完一段时间了,感觉这些知识没有通过系统的归总,忘记是很容易的。为了不浪费这段学习时间,并且为了以后自己的温故而知新,故抽空出来将javaoo以自己的方式总结一下(不求优美,但求完整)。
尊重原创,转载请注明,哈哈哈。随意啦
一、初识java
1.java起源
网上都是以1995年5月23日sun公司在向sunword向观众宣布java技术诞生作为java元年。其实不然,java起源可以追溯到更早的1991年sun公司的green
项目的一个研究小组在开发一种不同家用电器的控制软件时,最初采用是当时最流行的c++语言,但是因为家用电器是由不同的计算机处理器控制的,又因为
电器是比较便宜的,制造商不愿意花费大量资金开发编译器。于是一种新语言开始了萌芽。
green小组开发语言时将翻译分成了两个步骤:1.程序首先被翻译成中间语言,这种语言成为字节码,一个程序被翻译成字节码后对所有电器都相同,
2.然后在使用一种程序,将字节码翻译成特定的机器语言
1992年演示产品star7产生,java吉祥物Duke产生。开始这门新编程语言为oak(橡树:Gosling窗外的橡树),后来因为这个名字被注册,恰巧小组人
员喝咖啡看到杯子上写着java(爪哇岛的咖啡),于是就叫java了(开发者对于这些取名都不喜欢动脑壳,开玩笑的)
1995年初,James Gosling在硅谷的某个会议演示了可控制旋转分子的模型,以及比较各种算法优劣的演示程序,好,java诞生了,James Gosling多了
个儿子。
1996年初JDK1.0发布。
1997年初JDK1.1发布,推出了just-in-time(JIT)编译器。
1998年12月JDK1,.2,进入java2时代,改名java2主要划分三个领域,J2SE(java标准版:普通PC和家用电脑)J2EE(java企业版
服务器版)、J2ME(java微型版手机家用设备)
2000年JDK1,.3 2003年J2SE1.4
2004年10月J2SE5,0,这次为显示此版本的重大升级,又把名字改为java SE、javaEE、javaME(外国程序员都挺无聊的)
2006年 javaSE6
2010年,Oracle收购了sun公司(我就不明白了,开发这么NB语言的公司就这么被收购了)
2011年4月20日 javaSE7发布(现在大部分企业也包括我在用)
Java技术可分java编程语言和java平台,平台解释程序运行的硬件或者软件环境,java程序是运行在操作系统上的JVM(java virtul Machine)
jjava平台包括java虚拟机java应用程序接口(java application programming interface)
2.java的类与对象
对于类和对象我的理解就是类就是一种抽象的概括,而对象则是具体的实例;类是模板一样的东西,对象就是模板出来的产品
3.java的编译和运行
翻译有两种一种是解释一种是编译;两种方式只是翻译的时间不同;编译性语言是在执行前需要把程序编译成特定的软件
平台或者操作平台的语言,比如exe文件,这也造成了其翻译的结果只针对于特定的软件平台或者操作系统,不能跨平台,比如c语言
解释性语言是运行时才翻译比如javascript,每次运行都需要翻译,翻译一条语句执行一条语句,效率低,但是也因为不需要编译成特
定的软件平台或者操作平台的语言,所以能实现跨平台。
java是一门半编译性半解释性的语言(个人在这里还是比较纠结这种说法的,特别查了下没有这种划分),java源程序先被编译为java字
节码的中间文件也就是.class文件(也叫java类文件),这个文件对所有的计算机都是一样的。作为解释性文件的特点就是字节码文件是
不能被直接执行的,需要java虚拟机翻译成本地的机器码才能执行,翻译一条执行一条(1.1引入的JIT编译器,每段代码执行前先解释为
本地机器代码,效率极大提高)这个过程是解释性的。也正符合sun公司所宣扬的"一次编写,处处运行"。
javaAPI是一些已经写好的软件组件,也就是一个庞大的类库(什么?内裤!),我们编写程序时都会使用这些组件,当然这些要学习了
javaoo才能理解。