C语言和JAVA语言的运行机制有何不同

很简单,如果你有学习过编译原理就会明白的。C和Java都是高级编程语言,计算机是不会明白的,而要让计算机明白,就得找个“翻译”。而这个“翻译”有两类,第一个是“翻译程序”,第二个是“解释程序”。“翻译程序”的工作就是一次过将高级编程语言编写的代码翻译成低级语言代码,让计算机执行翻译后的...
C语言和JAVA语言的运行机制有何不同
c语言是直接在电脑系统上可以运行的,而java运行,则需要在电脑上安装java运行虚拟机jvm即JRE才能运行,不然就缺少库类,jar不能被识别~

另外,在编译的时候,二者也是不同的。C++编译器将C++编译成C,然后C语言直接转换成机器指令运行。而java通过java编译器之后则变为Bytecode,然后变成机器指令被识别。
java爱好者很高兴为你解答2010-10-20
很简单,如果你有学习过编译原理就会明白的。
C和Java都是高级编程语言,计算机是不会明白的,而要让计算机明白,就得找个“翻译”。
而这个“翻译”有两类,第一个是“翻译程序”,第二个是“解释程序”。
“翻译程序”的工作就是一次过将高级编程语言编写的代码翻译成低级语言代码,让计算机执行翻译后的代码。
“解释程序”的工作就是读取一句高级编程语言写的指令就解释成低级语言编写的指令,而采取一边解释一边执行的方式。
C就是翻译之后,让计算机执行翻译得到的程序。
Java很特别,在翻译这一步上,它不是翻译成直接可以运行的程序,而是“字节码”。“字节码”由当前操作系统安装的Java虚拟机一边解释一边执行,注意,相同程序得到的“字节码”是一样的,但是在不同操作系统下的虚拟机则不同。这样,就可以“一次编写,处处运行”。但是,一边解释一边执行是效率很低的,所以Java又出了JIT技术,就是Just In Time Compiler及时编译器,在执行时对一些常用的类花费一定时间进行编译,但是编译后执行效率很高,而编译只需要很少的时间,相对于浪费运行的时候宝贵的相应时间来说是很值得的。
总之,C写的程序是编译后由系统直接运行,Java是编译成字节码再由JVM执行解释执行字节码来运行程序,前者执行效率高,后者相对低。2010-10-21
C是运行在操作系统上的。java是运行在java虚拟机上的。2010-10-20
mengvlog 阅读 33 次 更新于 2025-09-07 16:53:40 我来答关注问题0
  •  翡希信息咨询 java和c语言的区别是什么

    Java:Java具有自动内存管理机制,也称为垃圾回收机制。在Java中,程序员无需手动管理内存分配和释放。当对象不再被使用时,Java运行时环境(JRE)会自动回收内存。这种机制简化了内存管理,减少了内存泄漏的风险。C语言:C语言需要程序员手动管理内存。使用malloc、calloc或realloc等函数分配内存,并在使用完...

  • C语言:语法相对简单,但需要程序员手动管理内存,如动态分配和释放内存,这增加了编程的复杂性和出错的可能性。Java:语法更加复杂,但提供了自动垃圾回收机制,减少了内存管理的复杂性,使程序员可以更加专注于业务逻辑的实现。运行机制:C语言:程序在编译后直接在硬件上运行,因此通常运行得更快,但这也...

  •  宜美生活妙招 java和c语言的区别

    一、跨平台性 Java:Java代码易于跨平台运行。Java程序通过Java虚拟机(JVM)进行解释和执行,只要目标平台安装了JVM,Java程序就可以在该平台上运行,具有良好的通用性和移植性。C语言:C语言代码不易跨平台。C语言程序通常直接编译为目标平台的机器码,因此需要在每个目标平台上进行专门的编译,才能实现跨...

  • 总之,C写的程序是编译后由系统直接运行,Java是编译成字节码再由JVM执行解释执行字节码来运行程序,前者执行效率高,后者相对低。

  •  翡希信息咨询 java和c语言的区别

    Java:需要第三方jar包支持才能进行串口操作。C语言:可以直接操作串口,因为C语言更接近底层硬件。线程管理:Java:线程管理已经封装好,提供了高级别的线程抽象和同步机制。C语言:线程管理更加灵活,但也需要程序员手动处理更多的细节,如线程同步和互斥锁等。应用场景:Java:适用于Web应用开发,因为Java有...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部