java 大數(shù)據(jù) 為什么java運(yùn)行效率低,而目前的大數(shù)據(jù)平臺卻都用java而不用C 開發(fā)?
為什么java運(yùn)行效率低,而目前的大數(shù)據(jù)平臺卻都用java而不用C 開發(fā)?Java的啟動速度確實(shí)很慢,但是在系統(tǒng)穩(wěn)定運(yùn)行后,JIT編譯器可以大大提高Java的運(yùn)行速度。在使用了專業(yè)定制的商業(yè)JDK之
為什么java運(yùn)行效率低,而目前的大數(shù)據(jù)平臺卻都用java而不用C 開發(fā)?
Java的啟動速度確實(shí)很慢,但是在系統(tǒng)穩(wěn)定運(yùn)行后,JIT編譯器可以大大提高Java的運(yùn)行速度。在使用了專業(yè)定制的商業(yè)JDK之后,Java的運(yùn)行速度不再是問題,比如alijdk。而且,對于互聯(lián)網(wǎng)企業(yè)來說,可以通過虛擬化技術(shù)大規(guī)模增加機(jī)器,也可以使用云計(jì)算,機(jī)器的性能還不夠?,F(xiàn)在有了一種混合技術(shù),甚至機(jī)器資源都可以共享。一般來說,Java的效率并不是瓶頸。
另一方面,Java的生態(tài)已經(jīng)非常成熟。通用的框架、大量的程序員、各大公司的商業(yè)應(yīng)用都是Java的芯片。Java最成功的技術(shù)是虛擬機(jī)技術(shù),現(xiàn)在kotlin和其他基于JVM的語言誕生了。可以說,Java的地位在短時(shí)間內(nèi)是不可撼動的。
Java誕生于C之后,它解決了C的許多問題,如指針引起的安全問題。已經(jīng)做了很多優(yōu)化,比如去掉完全面向?qū)ο蟮慕Y(jié)構(gòu)化編程,添加垃圾回收機(jī)制以避免內(nèi)存泄漏。如果你不需要操作底層,比如修改內(nèi)存數(shù)據(jù)和操作硬件,但是做純粹的上層應(yīng)用程序,C就不如Java好。分享學(xué)習(xí)筆記和技術(shù)總結(jié),涵蓋Java技術(shù)、軟件架構(gòu)、前沿技術(shù)、開源框架、數(shù)據(jù)結(jié)構(gòu)與算法、編程感悟等領(lǐng)域,歡迎使用微信公眾號“程序心”。
學(xué)java web好,還是學(xué)大數(shù)據(jù)好呢?
感謝您的邀請:
從復(fù)雜的角度到簡單的分析:
首先看一下大數(shù)據(jù)和Java的定義:
大數(shù)據(jù)需要一種新的處理模式,具有更強(qiáng)的決策能力、洞察力和流程優(yōu)化能力,以適應(yīng)海量、高增長率和多樣化的信息資產(chǎn)。
大數(shù)據(jù)的5V特性(IBM提出):量(大)、速度(高速)、多樣性(多樣性)、價(jià)值(低值密度)、準(zhǔn)確性(真實(shí)性)。
Java具有簡單性、面向?qū)ο笮?、分布式、健壯性、安全性、平臺無關(guān)性和可移植性、多線程、動態(tài)性等特點(diǎn)[2]。Java可以編寫桌面應(yīng)用程序、web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等
如果您對數(shù)據(jù)分析和數(shù)據(jù)挖掘感興趣,它就是大數(shù)據(jù)。
Java和Java大數(shù)據(jù)的區(qū)別是什么?
Java是一種編程語言,大數(shù)據(jù)是Java開發(fā)的一個(gè)領(lǐng)域。要學(xué)好大數(shù)據(jù),首先要學(xué)好java。沒有扎實(shí)的java知識作為基石,很難學(xué)好大數(shù)據(jù)。關(guān)注我@Java大數(shù)據(jù)架構(gòu)師一起學(xué)習(xí)進(jìn)步,免費(fèi)分享海量學(xué)習(xí)資料!