美文网首页
C/C++与Java

C/C++与Java

作者: 风之谷的煤煤球 | 来源:发表于2017-09-06 00:51 被阅读0次

    C/C++都是强类型语言,而Java是弱类型语言,因为它其实是在解释的时候才进行内存空间的分配,所以它的变量类型是可以在实例化的时候再根据具体的赋予值进行内存分配(它可以做强制类型转换)。

    其实,进行内存分配会在分在三个阶段:1.像C语言就会是在编译的时候,所以它会要求你一开始就定义好类型;2.像Java这种弱类型语言就是在进行实例化(赋值)的时候;3.像Python语言就是一句一句翻译的时候再进行分配。  

    那么这种不同的机制会造成什么呢?首先我们可以把语言按照更适应计算机到更适应人的思维排个位,C是更接近底层的,而python当然是更人性化,他甚至允许程序员不定义变量的类型,但这样的代价就是它所编译的程序在运行时需要临时去分配内存,去建立指针等。每一条语句都会多一段这样的时间,哪怕是很短很短的一段时间,但对于现在的大数据时代,很多大型的产业,这样的耗能其实是非常高的。

    比如电信公司每天都要处理数以千万记的用户信息或者用户指令,哪怕是每一条指令慢那么0.001s,累积起来可能会多一天的耗能;同样,即使是一些小应用,比如在饭店吃饭、支付或点单,顾客多登上几秒都是超不耐烦的,所以此时内核的编译是用什么语言写的就超有体现啦~

    但是近年来也有一门辅助Java的技术,可以让Java实现与C语言一样的速度,其原理也就是让Java内部分代码进行预先编译,到时候直接换上去。

    相关文章

      网友评论

          本文标题:C/C++与Java

          本文链接:https://www.haomeiwen.com/subject/phhujxtx.html