java的平台无关性,Eclipse,JDK,JRE,JVM

一.java的平台无关性

1.关于平台
平台=操作系统+cpu
用不同的语言编写好的程序经过编译链接后生成了可执行文件,平台来识别可执行文件完成运行
!!不同的平台可识别的机器指令不同!!
2.为什么说是与平台无关
①c++:针对不同的平台!!针对平台编译链接生成不同的机器指令(源代码—针对平台—>机器码)
②java:编译器不针对平台进行编译!!是针对虚拟机编译生成字节码,然后虚拟机(解释器起作用)再根据不同的平台生成不同的机器代码(源代码—针对虚拟机—>字节码—虚拟机—>机器代码)

所以说,java是与平台无关的他的虚拟机会依附平台生成不一样的机器指令大家就都可以用了

二.JDK,JRE,JVM,Eclipse

jdk:开发环境
jre:运行环境;
jvm:虚拟机(含有解释器,与解释器相互作用)

1.三者作用:
①jvm:将字节码根据不同的平台转化为不同机器码
jvm中有解释器,jvm操作着java解释器解释.class文件。
运行程序:通知操作系统运行程序,解释器解释一句,立刻执行一句。

②jre:运行java程序(以编译生成了.class文件)

③jdk:包含jre,含有javac.exe(编译器),用来生成.class文件,再用jre运行程序。

2.三者关系:
jre包含在jdk中,jdk=jre+编译器+调试器
jvm包含在jre中
jvm->jre->jdk
如果只是运行程序,只需要下载jre即可;还要编写程序就要下载jdk.

3.Elipse
我们可以在记事本上直接编写源代码,然后用javac.exe编译生成.class文件
Elipse相当于一个超级记事本,有很多附加功能,可以检查你写的代码是否正确。如果在记事本上写java源代码,需要自己手动调用编译器,而这个超级记事本可以自动调用编译器生成.class文件。

如果下载的Elipse不自带jdk,需要下载jdk才能使用,毕竟Elipse说白了只是用来编写代码,再检查一下写的代码是否有错误,编译运行还是要靠jdk的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值