成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學習Java虛擬機沒用? 聽聽當事人是怎么說的!

開發 開發工具
如果你想一直生活在軟件開發的表層, 那肯定是沒有問題的, 如果你想像Neo那樣,把這個世界看個清清楚楚,明明白白,真真切切, 就需要修煉一下內力,做為Java程序員,理解Java虛擬機就是那個扎馬步的基本功。

我是大名鼎鼎的Java 虛擬機, 據說這個星球上每天有900多萬程序員和我打交道,這真是一個驚人的數字。 這900多萬人中不少人對我的技術內幕非常感興趣, 有事兒沒事兒都要把我“大卸八塊”, 深入了解一下。甚至還有人從我的出生地--源代碼--開始看起,弄得人家連一點隱私都沒有了。

當然也有很多人對我的運行機理愛理不理, 理由很簡單: Java虛擬機相關的事情只有在面試時才會問道,背誦一下那些垃圾回收算法,應付過去就可以了!

真的是這樣嗎? 面試官為什么喜歡問JVM原理? 難道他們沒什么可問的了? 或者是只是為了展示他們的卓爾不群? 高人一等?壓你一頭?

我想都不是, 請注意一下我的名字: Java虛擬機, 我是一個虛擬機啊!

雖然不是像VMWare, VirtualBox那樣可以完全虛擬出一個包括內存,硬盤,CPU的硬件計算機出來, 我至少也是個Soft CPU啊, 有自己的指令集,有自己獨有的可執行文件格式, 有自己獨特的基于棧而不是寄存器的執行方式,還有那久經考驗的垃圾回收機制......

作為一個口口聲聲說熱愛編程,立志有寫出偉大軟件來改變世界的程序員, 少年, 難道你竟然對這么有趣的東西視而不見?

對軟件技術的好奇心是你最終成為偉大程序員的第一驅動力, 如果你對技術不愿意深究, 不愿意了解背后的原理,如果你不愿意像一個調皮搗蛋的熊孩子那樣把一個玩具變成零件,然后再組裝起來(嗯, 實際上永遠都組裝不起來了) , 我真的懷疑你在這個行業能呆多久,走多遠。

我剛才提到了有趣, 那真的有用嗎?

表面上看是沒有用處的,至少短期看來是沒有用處的, 你寫程序,運行程序,然后吃飯,睡覺。

管你什么基于棧的虛擬機,什么方法區,堆, 垃圾回收, 生活很美好,世界也很大, 我想去看看, 不要用這些煩心事來煩我。

如果你想一直生活在軟件開發的表層, 那肯定是沒有問題的, 如果你想像Neo那樣,把這個世界看個清清楚楚,明明白白,真真切切, 就需要修煉一下內力, 做為Java 程序員, 理解Java虛擬機就是那個扎馬步的基本功。

舉個例子, 理解Class 文件格式, 就能理解ASM是怎么在運行時“艱難的”動態生成字節碼的, 然后就會知道CGLib是怎么改善它, 讓它容易使用的。 而CGLib可是Spring AOP賴以生存的一大基礎啊。 這一路走來,是不是對AOP的理解更加透徹了?

你腦海中甚至能想象出來字節碼怎么被動態的創建,被Classloader 加載, 形成新的Class, 然后對你的業務類進行攔截的過程。

看透世界的感覺不要太爽, 如果你非要說我會用Spring 的AOP就行了, 那我也沒辦法, 人各有志嘛。

擴展一下, 現在我的家中上入住了不少動態語言, Jython, JRuby , Clojure , Scala 等等, 他們可都需要動態的生成字節碼來運行啊(碼農翻身備注: Scala 也可以直接編譯成class 文件), 你看看理解了Class 文件格式得有多大的好處。

還有啊, 理解了一些重要的字節碼指令以后,你就會知道所謂的面向對象, 尤其是你寫的那些個漂亮的OO代碼, 在我這里已經“退化”成函數調用了, 不知道你會不會沮喪, 但是沒有辦法, 咱們計算機的本質就是這樣,順序,循環,分支, 函數調用。 作為補償, 我會讓你了解多態的秘密, 這可是很多面向對象語言的基礎。

說到函數調用, 你寫的Java程序在運行時會形成的棧幀, 這可真是一個超級重要的概念, 不僅在我這里有,物理CPU和內存在運行本地代碼的時候也有,雖然我和他們的結構不同, 但都是為了完成一個目的: 表達一個函數在運行時的結構。

了解了這個家伙, 你就知道函數在機器級是怎么調用的, 參數是怎么傳遞的, 遞歸是怎么回事, 尾遞歸是怎么回事(我竟然不支持!) 。 也許你會跑去看看匯編, 去看看緩沖區溢出攻擊, 各種知識點開始連接,形成一張大網,這種感覺是極爽的。

這樣的例子我還可以舉出很多,但是估計很多人已經不耐煩了,就此打住。

你們人類說計算機是門科學, 但是科學的成分在哪里呢? 在我看來更像一門工程或者技術, 核心的基礎概念真的不多, 花點功夫把他們掌握了,受益終生。

前些天我偷偷地閱讀了你們的小說《天龍八部》, 里邊的掃地僧可真是厲害, 輕輕松松就把慕容博和蕭遠山兩位絕頂高手制得服服帖帖,老老實實, 這說明的什么問題? 內功的修煉真是很重要啊。

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2018-07-02 12:08:05

2025-06-10 02:44:00

RAGAnthropic神經網絡

2018-01-05 10:48:54

混合云尚陽科技IDC

2019-01-09 08:42:18

2018-10-15 10:27:44

云桌面

2020-10-09 14:49:41

大數據社會治理人工智能

2021-06-23 08:30:30

KPI華為開發者

2017-03-30 15:01:59

嵌入式

2021-11-09 10:41:34

數字化轉型IT技術

2018-08-16 14:28:34

2019-03-20 09:26:02

區塊鏈物聯網IOT

2018-12-13 12:13:04

前端開發編程

2019-10-10 08:50:26

Facebook 開發開源

2023-09-03 17:05:20

虛擬機

2017-05-17 13:15:47

2021-12-02 15:12:01

Twitter隱私信息泄露

2023-09-02 21:35:39

Linux虛擬機

2009-06-12 15:41:01

Java虛擬機

2017-02-05 16:00:07

大數據數據科學數據庫

2023-09-22 23:00:11

Java虛擬機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费一二三区 | 免费一级做a爰片久久毛片潮喷 | 天天看天天摸天天操 | 亚洲精品乱码久久久久久按摩观 | 亚洲在线一区二区 | 午夜在线电影网 | 国产精品久久久久久久久久久免费看 | 久久偷人 | 在线一区 | 亚洲精品久久久蜜桃网站 | 欧美一级久久精品 | 欧美黄在线观看 | 一区二区三区四区在线播放 | 91网站在线看 | 亚洲欧美男人天堂 | 精精国产xxxx视频在线播放7 | 日韩精品一区在线 | 自拍视频在线观看 | 欲色av| 国产精品91视频 | 成人免费淫片aa视频免费 | 自拍视频精品 | 亚洲在线久久 | 不卡av电影在线播放 | 日韩高清国产一区在线 | 蜜桃在线播放 | 狠狠操天天干 | www.av7788.com | 91久久精品国产91久久性色tv | 91精品久久| 欧美日韩免费一区二区三区 | 夜久久 | 国产精品不卡一区二区三区 | 精品久久香蕉国产线看观看亚洲 | 亚洲成人三区 | 久久av一区二区三区 | 欧美在线一区二区三区四区 | 一区二区在线看 | 亚洲第一网站 | 在线一区视频 | 国产综合区 |