对java 语言 跨平台的理解

 在计算机的世界里,计算机只认识0和1 ,所以无论什么语言都会最终被翻译成0 和1 ,才能被计算机执行,
 像java 语言,它是高级语言,而非二进制语言,所以要想计算机认识我们写的java代码,他必须经过编译成0和1,
    那么怎么才能把java 代码编译成0 和 1 呢?    只需经过两步:
前端编译:那么什么是前端编译呢?首先我们在eclipse生写一个端java 代码,那么这个java文件名的后缀一定会是.java. eclipse
内置了前端编译器,可以把.java 文件编译成.class 文件。这样的一个流程:

  HelloWorld.java -------javac---------HelloWorld.class

后端编译:这是就需要我们安装的jdk了 ,它里边含有JVM java 虚拟机 ,它可以将.class 文件    编译成计算机认识的二级制文件。这样的流程:

 HelloWorld.class--------JVM---------010101010101 (二进制文件)
那么问题来了 为什么说java语言是跨平台的?
 因为:比如在A操作系统执行a+b 最终可能被翻译成 0 10 10 1 0 1 计算机执行,而在 B操作系统中 可能被翻译成1111000 被计算机执行。这个工作主要是JVM 来完成的,如何做到跨平台呢? 不同的操作系统安装不同的JVM 就比如   windows 和 linux 的 jdk 指定是不一样的。所以java 语言的跨平台是依赖于 JVM的跨平台。也就是说针对不同的操作系统    开发了不同jdk。    上边说的很关键 :大致的意思是: 有了统一的class    文件,以及可以在不同的平台上将class文件翻译成对应二进制文件的java    虚拟机,java就可以实现跨平台了。       但是事实上还有很关键的地方才能真正做到跨平台:
 这些地方是依赖 java 语言本身的努力和设计:
  举个例子 在java 语言中 定义一个 int 类型 那么无论在任何操作系统中 它都占4 个字节,但是在C++中却不是固定的了。在16位计算机上,int类型的长度可能为两字节;在32位计算机上,可能为4字节;当64位计算机流行起来后,int类型的长度可能会达到8字节。(这里说的都是可能哦!)
 综上所述:跨平台
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值