zoukankan      html  css  js  c++  java
  • C/C++与Java的区别

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827273.html
     
     
    C/C++:
               
    C/C++代码——编译(不同的系统编译出不同的机器码,所以同一个C/C++文件不一定可以在某些系统执行,因为编译出的机器码不同)——机器码————在操作系统中由硬盘读取到内存中运行——内存——CPU——输出结果
     
     
     
     
    Java:
                      
    Java代码————编译得到字节码文件(.class)————JVM执行字节码文件(字节码在虚拟机上运行,虚拟机相当于翻译官,不同的系统JVM不同,转换规则不同,把同一个字节码文件转换为相应的系统的机器码)————机器码在相应系统运行——内存——CPU——结果
     
     
    由于JVM的存在,只需在不同的系统上安装相应的JVM,同一个.class文件在相应的系统的JVM运行就会输出相应系统能解析的机器码,从而成功运行。
    这就是,一次编译,到处运行。
    打个比方,就是:
    一本汉字写的书(源码),去到不同的国家(系统),每个国家有相应的翻译官(JVM虚拟机)把汉字翻译成其所在国家的文字(比如这本书传到英国被翻译成英文书),之后就可以在这个国家流传开了(相当于程序成功运行)。
     
    另外,补充一点: 
    JAVA有两特性:
    移植性:一次编译,到处运行(上面已解释)
    安全性:自动回收内存中不常用的命令垃圾,防止内存溢出。
  • 相关阅读:
    dubbo-admin 2.0安装部署
    一文多发神器
    springboot整合druid踩坑记录
    thymeleaf中的重定向的绝对路径问题
    路径问题
    sp_executesql介绍和使用
    java.net.UnknownHostException: api.weixin.qq.com解决办法
    调用百度地图示例
    浅析分布式架构
    城乡医保用户角色未分配修改
  • 原文地址:https://www.cnblogs.com/ygj0930/p/5827273.html
Copyright © 2011-2022 走看看