java 程序員常說的底層是指什么?
程序員常說的底層是指什么?當(dāng)我們現(xiàn)在開發(fā)軟件時,有很多種庫或組件可以被引用。這將提高軟件開發(fā)的效率,當(dāng)然也降低了開發(fā)的難度。它通常指“本機開發(fā)”,即不使用或使用其他人封裝的較少代碼庫的軟件開發(fā)!例如,
程序員常說的底層是指什么?
當(dāng)我們現(xiàn)在開發(fā)軟件時,有很多種庫或組件可以被引用。這將提高軟件開發(fā)的效率,當(dāng)然也降低了開發(fā)的難度。
它通常指“本機開發(fā)”,即不使用或使用其他人封裝的較少代碼庫的軟件開發(fā)
!例如,對于Windows應(yīng)用程序的開發(fā),使用Visual C或C#,它們對系統(tǒng)的具體實現(xiàn)有很多封裝。對于開發(fā)人員來說,它是透明的,他們不知道它的具體實現(xiàn)過程是怎樣的。
但是如果使用Windows系統(tǒng)提供的原始API進行開發(fā),則需要掌握系統(tǒng)的具體實現(xiàn)過程,了解其原理,才能進行軟件開發(fā)。而這是提高一個人系統(tǒng)開發(fā)能力的最佳途徑
!因此,作為一名專業(yè)軟件開發(fā)人員,我們應(yīng)該從所謂的“底層”了解系統(tǒng)的工作原理。這樣,我們在開發(fā)軟件時,就可以利用它對代碼進行改進和優(yōu)化,提高軟件的效率和健壯性。而不是僅僅能夠?qū)崿F(xiàn)特定的功能,而不關(guān)心軟件的實現(xiàn)效率等問題。
當(dāng)我們熟練地掌握這些“底層”原則時,我們將在軟件開發(fā)過程中更加得心應(yīng)手。只有這樣,所開發(fā)的軟件才能更加健壯和可維護
!如果你認為我的回答對你有幫助,請喜歡。謝謝您
java的底層是用什么語言編的?
JVM是用C實現(xiàn)的。而C需要考慮效率。在windows下運行的任何程序的底層都是C/C或ASM,這是由硬件指令系統(tǒng)決定的。Java類庫是用Java語言實現(xiàn)的。Java主要面向?qū)崿F(xiàn)。
java虛擬機是用什么語言編寫的?它的原理誰能通俗的講出來嗎?
Java虛擬機的功能是執(zhí)行Java字節(jié)碼,其編碼實現(xiàn)是一個死循環(huán)。每個循環(huán)都是獲取字節(jié)碼并執(zhí)行字節(jié)碼的過程,因此與其他程序沒有本質(zhì)區(qū)別。主流的JavaVM大多是用C語言實現(xiàn)的,然后用匯編語言輔助實現(xiàn),用Java實現(xiàn)JavaVM的情況有一些,但不多。
下面是使用C語言在智能設(shè)備中實現(xiàn)虛擬機的一個片段。
此代碼是短加法字節(jié)碼的實現(xiàn)。
這段代碼只是獲取字節(jié)碼并執(zhí)行它。你認為JavaVM就是這樣嗎。
為了優(yōu)化虛擬機的效率,很多人選擇用匯編的方式重寫執(zhí)行頻率高的代碼。
小結(jié)是C語言實現(xiàn)的許多,將與匯編結(jié)合起來作為輔助工具。有其他語言,但不是主流。
對于java基礎(chǔ),是應(yīng)該掌握底層原理,還是方法的熟練使用?
兩者都要掌握并深入實踐。
學(xué)技術(shù),學(xué)java好還是C 好,兩個之間有何區(qū)別啊?
那一個很好學(xué)。因人而異。這很不一樣。但是一般來說,Java沒有C難,要學(xué)好這兩種語言幾乎同樣困難。
Java:
其開源生態(tài)鏈系統(tǒng)非常龐大,各種框架涵蓋了所有開發(fā)領(lǐng)域、各種衍生技術(shù)和業(yè)務(wù)應(yīng)用領(lǐng)域。然而,與C語言相比,它的入門難度要小一些,但更難深入、準確地學(xué)習(xí)。一般來說,三五年沒有坑,所以很難被稱為大神。
此外,Java和C不是主要的正面競爭關(guān)系。Java的主要競爭語言是C#、PHP、pyhton等,因為主要應(yīng)用領(lǐng)域不同。
C:
基本上,計算機的底層是C/C,C系統(tǒng)更復(fù)雜,分支更多。除了常規(guī)的桌面程序開發(fā)外,只要對性能、計算速度等方面有要求,基本上都適合C,應(yīng)用領(lǐng)域更廣。但學(xué)好C語言需要三五年的時間。
總結(jié):
一般來說,Java比較容易入門,但很難深入學(xué)習(xí)和很好地使用。
一般來說,C進入的難度相對適中。同樣,要學(xué)好和用好它也是很困難的。
祝你學(xué)習(xí)成功!