機器級表示。今天斷斷續續看了2小時,粗讀了這章一半的內容。數組
計算機底層是01;但可讀性很差,因此有了彙編語言。但彙編語言可讀性也不好,因此又有了編譯器,造成了各類貼近人類語言的Java、C之類的。性能
還一直覺得本身乾的是把人語言翻譯成計算機呢,原來也是個中間層。優化
爲何要理解彙編?我想到了日常工做時的需求理解。現場的需求先和現場實施說,實施再找咱們這邊的設計,最後纔到咱們開發這裏。這樣子的需求每每就失真了許多。作出來的效果每每就不是很好,我通常都會採用開發完後屢次發現場驗證的方式來解決。翻譯
彙編在計算機中的角色可能就至關於現場實施吧,編譯器翻譯咱們的代碼,但不必定是效率最高的寫法,因此得看懂編譯後的代碼才能針對性優化代碼性能。然而平常工做並沒用到,工做中的系統彷佛最大的性能問題仍是SQL執行過慢。設計
歷史故事是我最喜歡看的,Intel是作處理器的,性能是平均18個月性能就會提高一倍,已經持續50多年,這是計算機革命基礎。對象
指令集,彷佛也是一種抽象,用的最多的指令抽象成指令集?內存裏面則是虛擬地址,抽象成一個巨大的字節數組。內存
數據存放在寄存器或內存,操做數的可能有三種:當即數、寄存器、內存引用。嗯,,可能就是日常寫代碼時頭疼的引用對象出現的緣由吧。開發