java是什么 為什么java運行效率低,而目前的大數(shù)據(jù)平臺卻都用java而不用C 開發(fā)?
為什么java運行效率低,而目前的大數(shù)據(jù)平臺卻都用java而不用C 開發(fā)?Java的啟動速度確實很慢,但是在系統(tǒng)穩(wěn)定運行后,JIT編譯器可以大大提高Java的運行速度。在使用了專業(yè)定制的商業(yè)JDK之
為什么java運行效率低,而目前的大數(shù)據(jù)平臺卻都用java而不用C 開發(fā)?
Java的啟動速度確實很慢,但是在系統(tǒng)穩(wěn)定運行后,JIT編譯器可以大大提高Java的運行速度。在使用了專業(yè)定制的商業(yè)JDK之后,Java的運行速度不再是問題,比如alijdk。而且,對于互聯(lián)網(wǎng)企業(yè)來說,可以通過虛擬化技術大規(guī)模增加機器,也可以使用云計算,機器的性能還不夠?,F(xiàn)在有了一種混合技術,甚至機器資源都可以共享。一般來說,Java的效率并不是瓶頸。
另一方面,Java的生態(tài)已經(jīng)非常成熟。通用的框架、大量的程序員、各大公司的商業(yè)應用都是Java的芯片。Java最成功的技術是虛擬機技術,現(xiàn)在kotlin和其他基于JVM的語言誕生了??梢哉f,Java的地位在短時間內是不可撼動的。
Java誕生于C之后,它解決了C的許多問題,如指針引起的安全問題。已經(jīng)做了很多優(yōu)化,比如去掉完全面向對象的結構化編程,添加垃圾回收機制以避免內存泄漏。如果你不需要操作底層,比如修改內存數(shù)據(jù)和操作硬件,但是做純粹的上層應用程序,C就不如Java好。分享學習筆記和技術總結,涵蓋Java技術、軟件架構、前沿技術、開源框架、數(shù)據(jù)結構與算法、編程感悟等領域,歡迎使用微信公眾號“程序心”。
請問編程中的上層和底層是什么意思?比如有人說"游戲用JAVA或c#做上層,用匯編或c/?
底層更接近硬件,即直接控制線程來控制程序的執(zhí)行。上層只封裝了語言。例如,如果函數(shù)很常見,但代碼很長,則可以將其封裝到代碼塊中。你只需要調用一個單詞就可以執(zhí)行一個長代碼。這些是編程語言,其中匯編語言是最低的,其他的是由代碼封裝的高級語言。高級語言可以減少開發(fā)過程中的代碼編寫量
感謝您的邀請,
語言的選擇應該根據(jù)您自己的情況來決定,而不是別人怎么說或怎么想您自己的決斷?,F(xiàn)在我就根據(jù)自己的編程經(jīng)驗來分析一下
有些人是自動化或者物聯(lián)網(wǎng),非常適合嵌入式開發(fā)。畢竟,學校學到的一些理論知識是有的,可以作為以后發(fā)展的鋪墊。
嵌入式學習,主要是要掌握C語言,C,數(shù)據(jù)結構,最好用Linux,所以基本上是嵌入式開發(fā)的基礎,C語言是入門語言的必備。
有些是軟件工程或計算機應用,以及計算機科學和技術。這種選擇空間很大,入門級語言的選擇也比較廣泛。目前的語言可以選擇Java或python,這兩種語言入門并不難。這是一個不錯的選擇
根據(jù)市場情況,這是一個很好的就業(yè)機會。畢竟,選擇Java是從就業(yè)的角度來考慮的,對于Java來說還是一個很大的選擇。無論是客戶端還是云,從普通網(wǎng)站到企業(yè)級的發(fā)展無處不在。2017年最流行的語言排名第一。
與Java相比,Java不是最好的工作。
如果您想玩app或從事云開發(fā),可以直接選擇Java。如果你對人工智能感興趣,它不是一兩種語言。你需要制定一個學習計劃。
選擇方向不是語言的問題,編程語言只是一個起點,一個直接的興趣選擇。
當你得到一些東西時喜歡它