一路走来,觉得有很多东西值得总结,在这里把我对java的理解还有java的特点,以及一些常用术语大概写一下,与大家分享,希望对其他初学者有帮助。本人文采有限,对java理解也不深,有写的不对的地方大家拍砖指正,我也好有进步,呵呵!
java的“娘家”sun公司觉得家电分布式开发(就是我们熟悉的家电自动化)很有发展前景,就组织人用c++编这套系统,可c++的的多继承模式很复杂,把程序员整的焦头烂额,于是为了方便在家电控制系统上实现,sun的一个开发小组决定开发一种面向对象的语言,因为纯计算类的语言无法实现这么复杂的工程,而且这种语言要,简单易懂,占用内存小,以便在家电那种配置低,内存小的机器上能够使用。
为了实现简单易懂,java借鉴了c语言的关键字,数据类型,数组的定义,同时去掉了易错的指针类型,代之以一种new的格式;为了面向对象,java有了类和包;为了减少内存的占用,java开发了垃圾自动回收机制,从而较为有效的解决了c++中delete用法的捉襟见肘。
不过java最强悍的设计,应当首推jvm(java virtural machine)。java选择字节码作为底层实现,这样无论是在windows,linux还是在unix操作环境下,生成的字节码是一样。而这些字节码在运行时,会被二次编译,由java虚拟机编译成能被操作系统识别的机器码。
其他一些语言如c,c++,都是直接编译成机器码文件,比方说把windows操作系统下生成的这些机器码文件放到其他操作系统(比如linux)时,是无法使用的。而java可以做到很好的跨平台效果,因为依靠javac编译出来的是字节码文件,也叫class文件。不同的操作系统有不同的java 虚拟机,这样,被放进不同操作系统的class文件在运行时,都可以交由虚拟机二次编译,生成可被操作系统识别的机器码再执行。简言之,Java和其他很多语言的区别就在于,java把可通用的class文件进行传递,而其他语言把不可通用的机器码文件进行传递。
1996年java推出了第一款java开发包----jdk1.0,即java development kit,其中包括了jvm,以预定义的类库(又叫接口或API),以及javac(java编译器)等一些小工具。我们一般把jvm和接口统称为java平台,其中使用最广范的是jre(java runtime environment),它包括了jvm和一些基本类库,这是最大众化的java平台。当然,如果你下载了JDK其中就包括了JRE。Jdk虽然被官方称为java开发环境,不过它的开发环境真的不令人满意。我们普遍使用的java开发环境(或者叫开发工具)多为第三方软件,如eclipse,jbuilder等,这些软件统称为java IDE(java integrated development environment)java集成开发环境。当然,只有java IDE不装jdk,是不能编java程序的,因为虚拟机终究要官方授权。
1999年,java一分为三:J2SE(java 2 platform standard edition),后被改称java SE;
J2EE(java 2 platform enterprise edition),后被改称java EE;
J2ME(java 2 platform micro edition),后被改称 javaME.
有趣的是,在家电领域java的春天一直没来,倒是无心插柳,java在internet和跨平台的商务领域红的一塌糊涂。
9 个解决方案
#1
受教了
#2
大家一起进步!
#3
学java主要学技术了哦。还是技术为主吧。其他历史方面,了解即可!
#4
这是特性?明明是历史啊。。。
#5
#6
了解,正在学习中
#7
我当时也纠结是叫历史,还是其他的,学了一段时间,想有个总结,就写这么多,当时也没个思路,想起啥就写啥。写完了,发现是个杂烩。。。见谅啊
#8
我当时,就一股脑写的,也没理清思路,写出来才发现写了个杂烩。。。见谅
#9
共勉,共勉
#1
受教了
#2
大家一起进步!
#3
学java主要学技术了哦。还是技术为主吧。其他历史方面,了解即可!
#4
这是特性?明明是历史啊。。。
#5
#6
了解,正在学习中
#7
我当时也纠结是叫历史,还是其他的,学了一段时间,想有个总结,就写这么多,当时也没个思路,想起啥就写啥。写完了,发现是个杂烩。。。见谅啊
#8
我当时,就一股脑写的,也没理清思路,写出来才发现写了个杂烩。。。见谅
#9
共勉,共勉