java和c++哪個(gè)好 python是用C實(shí)現(xiàn)的,Java是用C 實(shí)現(xiàn)的,那為什么不直接用C或C 呢?
python是用C實(shí)現(xiàn)的,Java是用C 實(shí)現(xiàn)的,那為什么不直接用C或C 呢?Java、Python封裝得好,好多東西都不用自己寫,C 好多東西都得自己寫。所以大部分情況下,Java和Pytho
python是用C實(shí)現(xiàn)的,Java是用C 實(shí)現(xiàn)的,那為什么不直接用C或C 呢?
Java、Python封裝得好,好多東西都不用自己寫,C 好多東西都得自己寫。所以大部分情況下,Java和Python寫程序比C 容易得多。
這就像建房子,Java和Python是給了你磚,甚至有時(shí)候給了半間屋子,湊一湊就能用。C 還得從攪拌泥燒磚開始。
為什么軍工行業(yè)不用java,而是選擇繼續(xù)用c ?
怕正在stop the world的時(shí)候被別人炸死
Java語(yǔ)言和C語(yǔ)言是同一個(gè)級(jí)別的嗎?
如果你把C語(yǔ)言搞明白的話,再學(xué)C ,然后學(xué)Java的話就比較容易學(xué)了。Java是已經(jīng)有了積木塊,用積木塊一塊一塊搭起來(lái)就是項(xiàng)目了。而C語(yǔ)言還得一步一步做積木塊,在一步一步搭起來(lái)才是項(xiàng)目。
用相機(jī)來(lái)簡(jiǎn)單可能比較貼切的比喻是,Java是傻瓜式,而C要比較復(fù)雜的設(shè)置才能出來(lái)比較好的相片。Java是有很多的方法別人已經(jīng)給你做好了,你拿來(lái)用就可以了。但C的話你得自己去寫那些方法,然后再用。
如果C學(xué)好了,你能明白很多比較深入的計(jì)算機(jī)語(yǔ)言的原理,而Java學(xué)好了,你就是在別人搭建好的平臺(tái)上的應(yīng)用專家。但C還是有很多很多應(yīng)用的地方。
C 與Java比較類似。
java虛擬機(jī)是用什么語(yǔ)言編寫的?它的原理誰(shuí)能通俗的講出來(lái)嗎?
java虛擬機(jī)功能就是執(zhí)行Java字節(jié)碼,其編碼實(shí)現(xiàn)就是一個(gè)死循環(huán),每一次循環(huán)就是取字節(jié)碼,執(zhí)行字節(jié)碼的過(guò)程,所以跟其它程序沒有什么本質(zhì)區(qū)別。主流的javaVM還是用C語(yǔ)言實(shí)現(xiàn)的居多,再以匯編為輔助,用java實(shí)現(xiàn)javaVM的情況有,但不多。
下面是一個(gè)在智能設(shè)備里用C語(yǔ)言實(shí)現(xiàn)虛擬機(jī)的片段。
這一段代碼就是對(duì)short加法這個(gè)字節(jié)碼的實(shí)現(xiàn)。
而這一段代碼就是取字節(jié)碼并執(zhí)行,是不是覺得JavaVM也不過(guò)如此呢。
有不少人會(huì)為了優(yōu)化虛擬機(jī)的效率,而選擇用匯編把這些執(zhí)行頻度很高的代碼重寫一下。
總結(jié)就是C實(shí)現(xiàn)的多,會(huì)結(jié)合匯編作為輔助。其它語(yǔ)言也有,但不是主流。