java底層
❶ 如何研究java的底層實現原理
首先介紹下如何導入jdk源碼,需要下載jdk(不是jre),jdk包中會有一個src.zip,這個就是源碼包
直接查看src.zip裡面的java源文件非常費勁,可以在idea中查看,新建一個普通的java項目,設置下jdk則會自動把源碼導入
隨便打開一個jdk類庫中的類Character,則可以看到源碼了
jdk源碼導入進來之後,則可以按照自己的需要進行閱讀了,比如想了解HashMap的實現原理、查找效率、演算法,則可以打開類搜索框,輸入關鍵字則可以快速打開HashMap類源文件
jdk類庫中源碼很多,可以先挑幾個感興趣的去看,還可以結合測試代碼一起看效果更明顯。可以看ThreadLocal實現、線程池ThreadPoolExecutor、各種隊列Queue的實現,NIO的實現等等,可以學習和研究的知識很多。
❷ 既然JAVA這么底層,為什麼還需要C和C++語言
不依賴操作系統的程序才是最上層的程序,cpu的匯編碼還有晶元要求那,你能說他過時??沒這個一切都沒了,能跨平台是因為他站的太高,抬個腿就過去了,單你卻忽視了在他下面的程序是什麼開發的,你只知道有虛擬機就能用java ,虛擬機下面還用東西,不是直接佔到硬體上的。。。所謂的不依賴操作系統是只是代碼不依賴,因為他們的編譯代碼是中間代碼,並非機器碼,在運行時才編譯成機器碼。。。。。
不是所有程序都需要跨平台,比如你玩個魔獸爭霸你還要支持手游嗎,用java 通常是由跨平台需要,如果沒有這個需要,那就會有其他方面考慮,其他方面的優勢java未必有,很多軟體開發都有需要大量第三方組件,如果java缺乏這些東西,或者效果不好,自然不會用。。。。還有即使一些低端CPU系統非常簡單,就不可能去支持虛擬機,甚至連系統都沒有,這些程序誰開發。。。微軟公司對windows進行優化難道要靠java嗎???
編程出發點不同罷了, java不可能取代c和c++ ,就像裁縫不能取代廚子一樣。。。。。
還有c++,c只是一種語法,不支持跨平台是因為編的是機器碼,如果你做個編譯器能把他編譯成java的中間碼,為什麼不能跨平台。。。
❸ 教俺怎麼深入到java底層,還有框架底層
我建議結合面試題來夯實基礎;當基礎知識都掌握扎實後,可以來閱讀jdk/hotspot源碼,了解JVM的底層原理;在這個過程中,你就會慢慢熟悉網路,操作系統,演算法,編譯原理相關的東西。始終要記住,上層的東西不論它再怎麼牛都離不開底層的支持。
❹ 到底JAVA的底層是什麼
java底層,匯編啊。。
有部分庫(比如渲染等需要高速運算的)可能是C/C++
而且,這個,java底層這個概念。本來就存在某些問題。因為java是解釋型語言啊,應該問他的編譯器是啥語言實現的。
❺ 有沒有推薦一本java的底層原理的書
不建議買書看,市面上的書種類很多,但是寫得都很泛泛,主要還是停留在表面,看完不一定能有多大提高。要了解底層的原理,可以直接把框架的代碼下載下來,自己慢慢啃,如果啃不動,可以到網上搜索牛人的博克文章,或者讀書筆記,網上的資源還是很實用的。而且技術更新快,書籍裡面介紹的東西很多在新版本中已經發生變化了。
概括一下,大概下面這幾方面結合起來,效果會比較不錯:
1.啃源代碼(需要面向對象方面的基礎,還有需要了解設計模式,java基礎)
2.搜索牛人的博克文章,專欄 (一些平台,網路傳課,騰訊網易雲課堂,csdn論壇,蛙課)
3.讀書筆記
4.動手實踐
❻ java的底層是用什麼語言編的
JVM的話是C++實現的。而c++則需要考慮效率,任何在windows下運行的程序,底層都是C/C++或者ASM,這是硬體指令系統決定的。
Java類庫是Java實現的。java主要面向於實現。
❼ java的頂層,底層什麼意思
底層就是硬體驅動,跟硬體最接近的驅動程序。頂層當然就是應用層,例如我想開空調,按開關是頂層, 通電,壓縮機啟動,抽風等都可以為後台底層.
❽ java是很底層的語言嗎
顯然不是啊。。。Java是高層語言,運行在一個叫JVM的虛擬機之上。。。跟JAVA最相似的語言,是C#。。。這兩門語言,就像英式英語和美式英語的關系一樣。。。原理,思想完全一樣,語法也差不多。。所以基本掌握其中一門,另一門也就自然懂了七八成
C#依賴的是.net framework。。。而JAVA則依賴JVM虛擬機,這兩個是高層語言的代表。
比較底層的語言有C語言和C++,更加底層的是匯編語言。。最底層的,當然就是機器碼了(也就是1和0)
❾ java底層類是什麼
沒有聽說過底層類,在java中有封裝好的靜態類和靜態方法,我們可以直接用,比如說:string類,我們可以直接用它的toString()方法。
至於你問的,不知道是什麼意思
❿ Java底層是什麼計算機底層是什麼
JVM 的話是 C++ 實現的。而c++則需要考慮效率,任何在windows下運行的程序,底層都是C/C++或者ASM,這是硬體指令系統決定的。
Java 類庫是 Java 實現的。java主要面向於實現。