Java 版 (精华区)
发信人: DreamWeaver (dw.hit.edu.cn改版啦), 信区: Java
标 题: Java从零开始 之 初步了解
发信站: 哈工大紫丁香 (2003年05月23日09:35:44 星期五), 站内信件
/**
* Javor@Lilac
* 本篇旨在使用户能够初步对Java有所了解
* 创建日期:2003-05-21
* 最后修改日期:2003-05-21
* hdpan@hit.edu.cn
*/
阅读本篇文章时,缺省的认为你是一个准备开始学习和使用Java的新手。
Java于1995年 5月23日诞生于 Sun公司,从此掀起Java热潮,至今未退。
而继2001年微软推出DotNet之后,Java技术与DotNet技术的竞争激烈异常,孰
优孰劣,拭目以待。如果你想了解更多Java的历史,请参看精华区<Java趣话>
目录。
Java的最大的特性是跨平台(Write Once,Run Anywhere!),也就是说
你用Java写好一个程序,他既可以在Windows平台运行,也可以在Linux平台运
行,可以在Solaris、Mac等所有有Java虚拟机的平台运行。Java虚拟机?Java
虚拟机是什么?
第一个概念:虚拟机(JVM)
皮之不存,毛将焉附,可以这样理解:具体的平台是骨肉,虚拟机是皮,
Java程序就是毛了。所有的Java程序都是需要运行于虚拟机之上的,看到这里
我想你已经明白了Java程序为什么能够跨平台了,就是因为不同的平台有着不
同的虚拟机实现,这些虚拟机可以把Java程序运用不同的实现方法来运行于不
同的平台之上。所以有的人说,Java并没有跨平台,毕竟需要为每个不同的平
台来编写不同的虚拟机。我感觉这里有人在偷换概念了,什么叫平台?不同的
操作系统就是不同的平台,能说Java没有跨平台吗?Java虚拟机技术开拓了另
一种软件设计思路,他在Java程序和不同的平台之间形成一个缓冲,让Java程
序员面对的是不同平台的相同的程序实现方法。凡事有利就有弊,因为要兼顾
各个平台,就不可能针对某个具体的平台进行特殊的优化,所以Java程序的效
率等问题一直是反Java阵营叫嚣的热点。随着Java虚拟机技术的不断发展,例
如 HotSpot技术的出现,虚拟机的效率将会得到成倍的提高。
Java程序到底是怎样由Java源程序通过不同的虚拟机运行在不同的平台之
上的呢?学过编译原理的一定知道,程序设计语言编译方式分为编译型的和解
释型。而Java是介于两者之间的,即编译又解释的一种语言。最终在不同平台
运行的不是Java的源程序,而是由Java的源程序编译而来的Java目标代码(即
字节代码byte code)。什么是字节代码?
第二个概念:字节代码
字节代码是使Java源程序经由Java编译器javac编译生成的后缀名为.class
的文件,他并不能像二进制代码一样可以在操作系统上直接运行,需要借助Java
虚拟机,Java字节码就是Java虚拟机的指令集,类似于运行于真实机器上的微码。
至此,我们应该知道了Java程序到底是怎么运行的了。
程序编写阶段 Java编译器
+------------+ 编译 +---------------------+
| Java源代码 | =================> | Java目标代码(字节码)|
+------------+ +---------------------+
-----------------------------------------------------------|------------
程序运行阶段 目标代码被检查 |
然后装入虚拟机 |
===================
|
V
+-------------------------------+
| Java虚拟机 |程序由虚拟机
| |解释运行
| +---------------------------+ |
| | Java解释器 | |
| +------------|--------------+ |
+--------------|----------------+
|解释器处理所有与操作系统有关的
V 通信
+-----------------------------------------+
| 操 作 系 统 |
+-----------------------------------------+
所以,对于一个Java程序员,不需要知道和管理任何系统底层的东西,例如不
需要管理内存,因为这一切,可爱的 JVM已经为你做好了,你要做的只是放松心情
专心好程序,说到这里,不得不说到Java的另外一个特性:面向对象!
面向对象的有关知识请参考PPT[1],
/*
这里需要进一步修改
*/
[1]可以在http://dw.hit.edu.cn:8080/java/document/DoingInJava/下载]
[完]
--
┌――╮
│┼☆│ │︳││ │︳
││↑│ㄟ↗╭→╮╭︿╮ ╭┬╮│︳││ │︳╭→╮╭︿╮ ↑ ↑╭→╮ㄟ↗
││↑│ ↑ │ ││ │ ↑↑↑│︳││ │︳│ ││ │ │ ││ │ ↑
│┼╯│ │ ├→┘│ │ ↑↑↑│︳ ☆ │︳├→┘│ │ │ │├→┘ │
└――╯ ▲ ╰→╯╰─≈ ↑↑↑ ↖↗ ↖↗ ╰→╯╰─≈ ↖↗ ╰→╯ ▲
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.4]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.968毫秒