记得第一天上课,老师就说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语言在这个平台上是运行不了的。
以上是一点小收获,恳请各位赐教!