如何理解Java是跨平台的语言
2011-05-30 21:08
766 查看
记得第一天上课,老师就说Java是跨平台的语言,.Net是跨语言的平台。
当时理解.Net是跨语言的平台好理解。它就是一个平台嘛,里面有C#,C语言等等很多语言在里面。虽然各种语言不同,但通过.Net的编译器,会把各种语言首先编译称微软的中间语言,然后再执行。
但当时对Java语言理解嘛,就说Java可以在Windows系统下,Liun系统下运行。这就是我当时理解的Java可以跨平台性。至于为什么,就不知道了。
今天通过学习,我觉得有些更深刻的理解了。要运行Java程序,必须要安装JDK(Java Development kit),不同的系统需要有不同的JDK。因为JDK内部有JVM(虚拟机),通过虚拟机,可以将我们的原文件化为机器最终可以识别的机器语言。虚拟机它其实是借助电脑本身的设备及其他功能来实现的,一个模拟机器。
那么虚拟机是怎么样把我们的原文件变为机器可识别语言的呢?
首先,我们编写的源程序(扩展名为.java),虚拟机通过JDK中的“javac.exe”此程序,就可以将我们的源程序转化为Java字解码程序(扩展名为.class)。
其次,转化为了自解码程序后,通过“java.exe”程序,可以将自解码程序在对应的操作系统下将Java自解码解释执行。通过操作系统,就实现了机器可识别的语言了。
值得注意的是,不是所有的系统都能运行Java的。因为如果此操作系统上,没有安装Java自解码程序,那么Java语言在这个平台上是运行不了的。
以上是一点小收获,恳请各位赐教!
当时理解.Net是跨语言的平台好理解。它就是一个平台嘛,里面有C#,C语言等等很多语言在里面。虽然各种语言不同,但通过.Net的编译器,会把各种语言首先编译称微软的中间语言,然后再执行。
但当时对Java语言理解嘛,就说Java可以在Windows系统下,Liun系统下运行。这就是我当时理解的Java可以跨平台性。至于为什么,就不知道了。
今天通过学习,我觉得有些更深刻的理解了。要运行Java程序,必须要安装JDK(Java Development kit),不同的系统需要有不同的JDK。因为JDK内部有JVM(虚拟机),通过虚拟机,可以将我们的原文件化为机器最终可以识别的机器语言。虚拟机它其实是借助电脑本身的设备及其他功能来实现的,一个模拟机器。
那么虚拟机是怎么样把我们的原文件变为机器可识别语言的呢?
首先,我们编写的源程序(扩展名为.java),虚拟机通过JDK中的“javac.exe”此程序,就可以将我们的源程序转化为Java字解码程序(扩展名为.class)。
其次,转化为了自解码程序后,通过“java.exe”程序,可以将自解码程序在对应的操作系统下将Java自解码解释执行。通过操作系统,就实现了机器可识别的语言了。
值得注意的是,不是所有的系统都能运行Java的。因为如果此操作系统上,没有安装Java自解码程序,那么Java语言在这个平台上是运行不了的。
以上是一点小收获,恳请各位赐教!
相关文章推荐
- 如何理解Java跨平台
- java学习笔记-理解java语言的跨平台
- 【深入理解Java虚拟机JVM】java如何实现跨平台
- 怎么理解,java语言是跨平台的?即什么是跨平台?C也说自己是跨平台的,怎么理解?
- 深刻理解JAVA中堆栈和内存是如何分配地址;有助于学习Java语言。
- "Java之所以能跨平台,本质原因在于jvm不是跨平台的"如何理解?
- 如何理解 Java 的跨平台特性?
- 如何理解JAVA的跨平台特性
- 学习java应该如何理解反射?
- 如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
- C语言指针专题——如何理解指针
- 编程语言基础:用“收集器”理解各种语言(C++、Java、Python)中的可变参数!
- Java与编码问题串讲之二–如何理解java采用Unicode编码
- 对java和c语言之中进程间通信的理解
- javaSE_8系列博客——Java语言的特性(一)--关于面向对象基本概念的理解(2)--对象
- 深入理解java语言的class文件格式(三)
- 零基础如何学习java及java语言的知识要点!
- 【Java语言】如何提高Java程序性能?
- java中如何理解overload , override 和 overwrite
- 如何构造真正理解语言的机器