Java對象依賴引用來操作,任何事物都是“按值傳遞”。Humen zhangSan = new Man(); zhangSan只是一個引用,指向這個人,但不是這個人本身。
- 對象在哪裏?
- 寄存器:處理器內部,最快的存儲區域,容量最小;
- 堆棧:RAM(隨機訪問存儲器),速度僅次於寄存器,對象引用所在,Java系統必須知道存儲在堆棧中所有項的生命週期,方便GC回收。是管理堆的棧,類似於引用和對象的關係。
- 堆:是一種通用內存池,RAM中,存放Java對象
- 常量存儲,靜態存儲區
- 非ROM存儲:流對象、持久化對象等
Java中的基本數據類型、數組(自動初始化)、容器、控制流程、操作符、import、static、switch、goto(label:)、註釋、Javadoc、enum、可變參數。知道了解不知道的學習。
- 基本類型
- char c =’x'。c爲變量直接存儲值,置於堆棧中
- boolean、char(16)、byte(8)、short(16)、int(32)、long(64)、float(32)、double、void(64)
- 成員變量初始化false ' ' 0-0 0.0
- 對於高精度的計算需要用到類BigDecimal、BigInteger
- 數組
- Java確保數組會被初始化,並且不能在它的範圍之外被訪問(代價:少量內存開銷及運行時的下標檢查),優:安全
- 初始化操作時將數組所佔部分的內存全部置0
- byte[] array = new byte[1024];
- 枚舉類型:可在switch中使用
- 定義:public enum Spi{NOT, MTLD}
- 使用:Spi ss = Spi.NOT; syso(ss);//NOT
- 方法:ordinal();//常量的聲明順序0
- 雜七雜八
- java是一種自由格式(free-form)語言,空格製表符換行不影響程序執行結果。
- 註釋 // /** */ /* */
- 作用域與生命週期
- javac java javadoc(@see @link @docRoot @inheritRoot @version @author @since @paran @return @throws @Deprecated)
- 類與包
- 字段
- toString 沒有被重寫A@1a46e30 表示的是類的名字和對象的地址
- 可變參數類型fun(int ... arr) 正常情況是將多個參數轉爲一個數組;特殊情況是當參數只有一個時,且強制轉化爲參數所需數組,則可當作數組傳入 如:fun(new int[]{1,2,3}) 則arr={1,2,3};不依賴於自動包裝機制;對於可以自動向上轉化的類型,重載時要注意 比如f(float,char...)與f(char...)
- 方法
- 方法簽名
- 參數、返回值
- imort 與import static (可直接使用方法)
- java.lang是默認導入每個Java文件中的
- label: break label; continue label;
- switch(integral-selector) {
case: ;break;default
}
- static 可修飾類和變量、代碼塊 表示屬於類型而不是對象
- 在將float或double轉換爲整形值時,總是對該數字進行截尾,如果想要得到舍入的結果,需要java.lang.Math.round()
- 分支、循環