关于java跨平台原理,求助! 初学java,看了很多资料,一直对java跨平台原理这个概念很模糊,本人意见是由于java虚拟机的存在,但有些地方始终琢磨不透,前辈们能给个详细点的解释吗?谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样类比。你的电脑是5v的,在中国用220v的变压器。在美国用110v的变压器。但对于你的电脑来说它是不用管你外电是多少,他只要5v的电。你的java基本的java运用通过jvm的变换才到具体系统运行。jvm象一个变压器隔离了操作系统的变化。当然win32下你要用win32的jvm,linux下你要用linux的jvm。 这个跟计算机原理差不多,处理器能执行的只能是二进制代码也就是.exe文件,都是010101010,java的跨平台就是因为,java有了自己是虚拟机就能够解释执行.class的文件。所以说,无论是在哪个平台上,只要有java虚拟机,遇到的.class就能就能够解释执行 .java--->.class----->执行 | 虚拟机 java跨平台特性不是说在windows下的编的,java程序就一定能在linux下编译运行,相反,高手能让非跨平台语言一处编写到处运行,菜鸟即使用跨平台语言也编不出跨平台的程序来,所以,个人觉得java跨平台特性并没有什么好吹嘘的! 何谓跨平台?我的理解就是不同的OS,不同的硬件环境,不同的web服务器。结合java程序的执行过程:针对不同平台采用通用的java编译器将java源程序编译成字节码文件,然后由JVM对字节码文件解释执行。关键就是在把.class文件解释执行成为机器识别的机器码这一步,正是由于JVM的存在,才有了java 的跨平台?还想问一下,不同平台,JVM是一样 的吗? 还想问一下,不同平台,JVM是一样 的吗?实现的细节应该不一样! 一句话,java解释器能将字节码译成适用于不同平台环境的机器码,显然对于不同的平台,运行时环境肯定是不一样的 Gen<? extends T> 什么意思。。谁明白给说明下 自定义加载器如何加载JAR包 请教一个SWT应用程序窗口最大化最小化问题? 感觉不是太难,相信大家一定能帮忙! 最简单的从键盘输入的输入流怎么写? 【JAVA POI】excel插入Time问题 想写一个类,该类具备File类的所有功能,但是可能要覆写File的某些方法,该怎么办? 刚学JAVA程序所遇到的问题,大家帮帮我!!! 菜鸟级问题,关于getCodeBase( ) 请教一道SCJP的考题,谢谢。 怎么把".java"文件转换成".exe"文件 初学者救助
你的电脑是5v的,在中国用220v的变压器。
在美国用110v的变压器。但对于你的电脑来说它是不用管你外电是多少,他只要5v的电。你的java基本的java运用通过jvm的变换才到具体系统运行。jvm象一个变压器隔离了操作系统的变化。当然win32下你要用win32的jvm,linux下你要用linux的jvm。
|
虚拟机
java程序就一定能在linux下编译运行,
相反,高手能让非跨平台语言一处编写到处运行,
菜鸟即使用跨平台语言也编不出跨平台的程序来,
所以,个人觉得java跨平台特性并没有什么好吹嘘的!
结合java程序的执行过程:针对不同平台采用通用的java编译器将java源程序编译成字节码文件,然后由JVM对字节码文件解释执行。关键就是在把.class文件解释执行成为机器识别的机器码这一步,正是由于JVM的存在,才有了java 的跨平台?还想问一下,不同平台,JVM是一样 的吗?