您的位置:首页 > 编程语言 > Java开发

java语言的跨平台原理以及环境的搭建

2015-06-07 19:55 483 查看
java语言的跨平台特性:

这里的平台指的是操作系统,但是并不是所有的平台都是操作系统。什么叫跨平台呢?就是指用java写了一款应用软件,这款软件可以在windows,在linux,在mac等各种系统下运行。(不见到垃圾,你就不明白这里有多干净。一样的道理)我们举个反例,例如c、c++语言写的软件只能在windows下运行,要到一台苹果pc上不行,运行部了!!!因为c语言系列(c++、c#)都是微软出品的,自然与自家的操作系统(windows)有良好的兼容性咯。由于这个java是最早在斯坦福大学发明的,鉴于国外文化发展的自由性(本人愚笨,始终无法理解为什么万里长城拦住谷歌???wsm!!),所以java跨平台特性也就应运而生了。对于java的跨平台特性有一句行话解读的很好:一处编写,到处运行。

那么问题来了,哎?为什么你这个java可以跨平台呢??而c系列或者其他编程语言做不到这一点呢?答案是java virtual machine。(身为程序猴子,这三个单词不懂的同学请自行面壁3分钟)是jvm实现的啊!!实现原理:如果没有jvm,跟其它编程语言一样,java语言编写的软件和各种操作系统之间也有一条同样不可逾越的鸿沟。jvm就像一条桥梁,完美地联通了这条鸿沟的两岸。java软件的运行与操作系统无关,它的编译解析运行都是jvm全权负责的。因此,只要您的pc上有一个jvm,您就可以放心的运行java写的各种软件啦!!那么问题又来了,不同操作系统的jvm是一个模版吗?也就是说java虚拟机可以跨平台吗?废话,肯定不能。java跨平台是因为jvm这个桥梁,那请问jvm再跨平台谁是桥梁呢?(这让我不由的想起了二阶,高阶导数问题)。每一个操作系统都有其对应的jvm,我曾想试着用高中生物上学的唯一的抗体对应着唯一的抗原来解释这个jvm不能跨平台的现象,但是考虑到其不够通俗易懂,还是绞尽脑汁的想了这样一个例子:就像一把钥匙对应着它的锁一样,钥匙(jvm)是不能跨锁(操作系统)这个平台的!

ok,以上正是java跨平台的原理。

java语言的环境搭建:

首先不得不提到的两个名词jre(java run environment)、jdk(java development kit)。

jre是提供给非程序猴子的也就是给用户使用的,如果您想在您的pc上使用一个java编写的软件,jre是您必须的,不要也得要的选择。就像鱼儿(java软件)没有水(jre)一样,没有水的鱼儿是活不成的。其中包括jvm和类库(java程序运行时需要的核心类库)。

jdk是专门为java程序开发人员(程序员)量身打造的一款软件包。其中除了上面说的jre,还有编译工具,打包工具等java开发工具。

请自行到www.oracle.com免费下载您需要的jre或者jdk。

由于之前写的太复杂难懂于2015年11月23日21:52:18修改

好多java程序开发工具都已经集成好了java的编译和运行环境,无需程序员手动配置,现在我们就脱离这个阻碍我们更深一步理解java的工具,来看看用cmd怎么让我们的java程序跑起来。

windows 下 java环境变量设置:

我们从ORACLE官网下载安装好JDK后,还需要设定好路径信息,以确保计算机能找到java和javac这两个文件。那么路径应该怎么设置呢?

第一步

在环境变量中,(建议在用户变量中)新建变量Path,值为javac.exe的目录,建议原封不动的复制进去。这样计算机就能找到javac编译器了。

第二步:

在环境变量中,(建议在用户变量中)新建变量XX,值为 . 这个英文状态下的句号表示当前(.java文件)文件夹。这样计算机就能找到javac编译完的.class文件了。如果还是找不到就把值改成

.;此处是你电脑里dt.jar的路径;此处是你电脑里tools.jar的路径

在CMD中运行:

第一步:

进入编辑好的.java所在的文件夹

第二部:

编译:javac XX.java [ENTER]

第三部;

运行:java XX [ENTER]

ok,祝和自己一样的广大的java程序员学习过程中开开心心,专研到底。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: