1-22筆記
阿新 • • 發佈:2021-01-24
技術標籤:Java
1.理念總結:
-
主要考慮使用者需求
-
程式碼要簡潔,美觀,也要健壯,穩定。
2.方法總結
1 方法是什麼
- 處理滿足使用者的需求
- 對語句的編排,對指令的組織
- 處理問題的公式,有通用性
什麼是程式
- 資料
- 處理資料的方法
- 組織,處理資料
2 定義方法的原則
- 只處理一個業務邏輯
3 方法呼叫
- 可以呼叫庫中已經寫好的
- 可以呼叫自己寫的
4 方法的返回值
- 可以用return
- 返回值一定與方法名前的型別一致
- 可以接收,也可以不接收返回值
5 方法的執行
- 被呼叫時執行
- main方法不需要被呼叫也會被執行(應用程式入口,必須要有)
- main中沒有return,程式碼執行完畢自動結術(java中程式碼順序執行)
- main結束,程式不一定結束(多執行緒)
3 jvm記憶體結構
#棧
- 一種資料結構
- 後進先出
- 只有一個入口
- 存入資料:壓棧push
- 取出資料:彈棧pop
- 棧有大小,滿了就不能存了,否則會溢位
#記憶體空間
棧記憶體空間:
- 採用棧的操作
- 佔記憶體空間分配記憶體用於執行方法
- 方法的引數,static定義的常量、變數及資料存在這裡
- 方法被呼叫是壓棧,執行結束時彈棧
- 只存放區域性變數 (方法的引數,方法定義的非靜態變數,以及迴圈條件內的引數)
- 方法在棧中執行,方法中的區域性變數在械中分配空間方法執行完畢後,該方法所使用的記憶體空間都會釋放
- 遞迴層數過多或者沒有出口會造成棧記憶體空間溢位(stack over flow error)
- jvm調優:java-Xss xxxM/GB xxx.java
- 遞迴很危險,能用for while 解決精良不要遞迴
堆記憶體空間:
- 不是堆的操作
方法區記憶體空間:
- 不是用來存放方法的,與方法無關
- 存放程式碼片段(二進位制),常量,靜態資料
4 方法的過載
過載
封裝的原理
發生條件(同時滿足)
- 引數列表不同
- 型別不同
- 個數不同
- 位置不同
- 在同一個類
- 方法名相同
只有程式碼載入到記憶體中,cpu才可能執行
雙擊可執行檔案實際是將程式碼載入到記憶體的過程
cpu只能處理來自暫存器的資料,暫存器取記憶體的
一行內容來源於
https://blog.csdn.net/solo_jie/article/details/112995848
只是整理總結