java基礎難記知識小總結
1.不同修飾符可以修飾那些內容
2.java的運算子及結合性
3.對於BigDecimal的大小比較
4.BigDecimal加減乘除: 加法:add() 減法:subtract() 乘法:multiply() 除法:divide()
5.oop理解: oop即是面向物件:是一種程式設計思想,強調的是將功能封裝進物件,是更符合人們思考習慣的一種思想,將複雜的事情簡單化了,將程式設計師從執行者變成了指揮者,面向物件開發就是建立物件,使用物件和指揮物件做事情,例如:Scanner cin = new Scanner(System.in);就是建立了一個控制檯輸入的物件,cin.nextInt();就是指揮物件做事情,建立物件和指揮物件做事情就是使用物件
6.過載和重寫的區別: 過載(overload):是在一個類中,有一個以上的同名方法,它們的引數的型別或個數或型別的順序必須不同,返回值可以不同,其作用是豐富類中的方法 重寫(override):是子類繼承父類,在子類中建立一個與父類中的方法名、引數、返回值相同的方法,其作用是豐富父類中的方法
7.JVM、JRE和JDK的區別: JVM(Java Virtual Machine):java虛擬機器,用於保證java的跨平臺的特性。 java語言是跨平臺,jvm不是跨平臺的。 JRE(Java Runtime Environment):java的執行環境,包括jvm+java的核心類庫。 JDK(Java Development Kit):java的開發工具,包括jre+開發工具
8.類和物件: 類:對現實世界中某類事物的描述,是抽象的,概念上的定義。 物件:事物具體存在的個體。
9.成員變數和區域性變數的區別: (1)作用域 成員變數:針對整個類有效。 區域性變數:只在某個範圍內有效。(一般指的就是方法,語句體內) (2)儲存位置 成員變數:隨著物件的建立而存在,隨著物件的消失而消失,儲存在堆記憶體中。 區域性變數:在方法被呼叫,或者語句被執行的時候存在,儲存在棧記憶體中。 當方法呼叫完,或者語句結束後,就自動釋放。 (3)初始值 成員變數:有預設初始值。 區域性變數:沒有預設初始值,使用前必須賦值。
10.餓漢式和懶漢式的區別: ** 餓漢式是類一載入進記憶體就建立好了物件; 懶漢式則是類才載入進記憶體的時候,物件還沒有存在,只有呼叫了getInstance()方法時, 物件才開始建立。 ** 懶漢式是延遲載入,如果多個執行緒同時操作懶漢式時就有可能出現執行緒安全問題,解決執行緒安全問題 可以加同步來解決。但是加了同步之後,每一次都要比較鎖,效率就變慢了, 所以可以加雙重判斷來提高程式效率。 注:開發常用餓漢式,因為餓漢式簡單安全。懶漢式多執行緒的時候容易發生問題