1.java程序的執行過程:先編譯后解釋。也就是我們在idea寫的文件叫做java源文件(.java結尾的文件),經過編譯器會生成字節碼文件(.class結尾的文件),再通過解釋器進行實現
2.棧用來存儲引用類型的地址,該地址指向堆里面的對象
3.JVM簡單的內存劃分
兩個棧的區別:
本地方法棧:會執行一些底層由C/C++代碼實現的方法
java虛擬機棧:就是我們平時泛指的“棧”
4.如果一個對象一直沒有人引用它,此時,就會被JVM自動回收
5.如果2個引用對象同時指向一個對象的時候,通過任何一個引用都能修改這個對象的值
6.array1=array2,代表array1這個引用指向了 array2這個引用指向的對象
7.給引用=null,代表這個引用不指向任何對象
8.4類8種基本類型
整數型:byte,short,int,long
浮點型:float,double
布爾型:boolean
字符型:char
9.十進制首位不能為0,二進制以0b或0B開頭,八進制以0開頭,十六進制以0x或0X開頭
10.int的取值范圍:-2^31~2^31-1,因為int是4個字節,總共32比特位,其中第一位是符號位,所以只有31個數值位
11.浮點數默認是double類型的,整數型默認是int類型的
12.從小轉大問題不大,從大轉小問題很大
13.數據溢出畫個圓就可得
14.在java中,0和1不能代表假和真,字符串也沒有所謂的\0結尾的說法
15.常量的值是在編譯的時候確定的,變量的值是在運行的時候確定的
16.從小到大:Bit? ? Byte? KB? ?MB? ?GB? TB? ?PB,進制1024
17.科學計數法:123.45可表示為1.2345E+2,即1.2345*10^2(E=10)
18.標識符可以用字母,數字,下劃線_,美元符號$組合,但是不能以數字開頭,關鍵字不能當作標識符使用
19.常考的轉義字符:\b(后退一格),\n(換行),\t(橫向跳格tab),\\(輸出一個\),\uxxxx(1~4位十六進制數,表示對應Unicode字符),\0(ASCII碼值為0的空字符)
20.boolean——1字節,byte——1字節,short——2字節,int——4字節,long——8字節,float——4字節,double——8字節,char——2字節,轉換優先級為byte—>short—>char—>int—>long—>float—>double,boolean不能轉換