1. 程式人生 > 其它 >1-22筆記

1-22筆記

技術標籤: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


只是整理總結