Java Reference vs Object vs Instance vs Class 2

 以上圖為例House blueHouse = new House("blue")是創建 House 類別的新實例。記住 House 是一個藍圖,我們將它分配給 blueHouse 變數。 換句話說,它是對記憶體中物件的引用。 下一行 House anotherHouse = blueHouse; 在記憶體中創建對同一物件的另一個引用。 這裡我們有兩個引用指向記憶體中的同一個物件。 仍然是一所房子,但對那個物件有兩個引用。舉例來說,我們有兩張紙,上面寫著房子建造地點的實際地址。接下來我們有兩個打印 blueHouse 顏色和 anotherHouse 顏色的 println...

Java Reference vs Object vs Instance vs Class

 如果以蓋房子來比喻類別(Class)基本上是房子的藍圖。使用藍圖,我們可以根據這些計劃建造任意數量的房屋。我們建造的每個房子(換句話說,使用 new 關鍵字)都是一個物件(Object)。這個物件也可以稱為實例或實體(Instance),通常我們會說它是類別的實例。 所以在這個例子中我們會有一個 house 的實例。我們建造的每棟房子都有一個地址。換句話說,如果我們想告訴別人我們住在哪裡,我們就給他們我們的地址。 這稱為參考(Reference)。我們可以根據需要多次復制該引用,但我們仍然只引用一所房子。換句話說,我們複製的是地址,而不是房子本身。我們可以將引用作為參數傳遞給構造...

Docker Image & Container

 Docker Image: single file with all the dependencies and config required to run a program.Docker container: Instance of an image. Runs a program.kernel是作業系統的核心元件,負責處理應用程式和硬體之間的溝通。只要運行docker, 一個linux VM也在你的電腦上運行。在linux vm內,會有一個linux kernel負責在容器中運行和托管...

什麼是Goroutine?

什麼是Goroutine? 以這張圖為例,最上面的Go program就是我們寫的程式。在 Go 語言中,每個 Go program都運行在一個稱為 Go runtime 的運行系統之上。Go runtime是什麼?In Go, the runtime is an essential part of the language that manages memory allocation, garbage collection, and scheduling of goroutines. The Go program interacts with the runtime through...