1. 程式人生 > >實習小白java面試基礎知識彙總-day1

實習小白java面試基礎知識彙總-day1

實習小白java面試基礎知識彙總-day1

1.簡單敘述java的跨平臺原理

不同的作業系統支援的指令集不是完全一致的,因此我們的程式會在不同的作業系統執行的不同的程式程式碼。這時,java提供了統一的介面,針對不同的作業系統我們可以安裝相對應的jvm(虛擬機器),然後java程式只要遵循java規範,就可以實現在所有的作業系統中執行java程式。

2.分析JVM,JRE,JDK

JVM:java虛擬機器,java依靠虛擬機器實現跨平臺性
JRE:java的執行環境,由JVM和java的核心類庫組成
JDK:java的開發工具包,由JRE和java的開發工具(如編譯工具javac.exe、打包工具jar.exe)組成
注:由於開發完的程式,要執行一下看看結果,所有JDK中包含一個JRE

3.java基本資料型別

資料型別 大小(二進位制位數) 預設值 大小
byte 8 0 -128~127
short 16 0 -32768~32767
int 32 0
long 64 0
char 16 ‘u0000’(unicode編碼,表示null,控制檯輸出空格)
boolean 1 false
float 32 0.0f
double 64 0.0d
注:引用資料型別由:介面,陣列,類,列舉,註解

4…面向物件的特徵有哪些方面

抽象:將事物的相似和共性找出來,再將這些事物形成一個類,這個類可以看成物件,雖然存在屬性和行為,但是沒有具體的實現過程。而且抽象類不能直接例項化
封裝:將資料和操作資料的方法繫結在一起,對資料的訪問有提供已定義的介面(get/set)
繼承:從已有類獲得繼承資訊創造新類的過程。提供繼承資訊的類叫父類,獲得繼承資訊的類叫子類。
多型:父類引用變數指向子類的物件.多型通常具有三個條件:方法重寫,繼承,向上轉型

5.四個許可權修飾符的區別

在這裡插入圖片描述

6.包裝型別,裝箱和拆箱

對於基本資料型別有相對應的包裝型別
eg:int–>Integer…
出現包裝型別的原因:雖然基本資料型別存在棧中,對變數的建立和銷燬速度快於 存入堆中的類物件,但是java語言本身是面向物件(oop)的程式語言。
裝箱:將基本資料型別轉換為包裝型別,如Integer,valueof(1)
拆箱:將包裝型別轉換為基本資料型別,借用intValue()方法
具體參考https://www.cnblogs.com/dolphin0520/p/3780005.html

7.“==”和equals的區別

==:運算子,在基本資料型別中用於比較資料的值,在引用資料型別中比較在堆中的地址是否一致
equals:方法,所有基於Object的類都存在,不用於基本資料型別,一般來說是比較引用型別指向的物件所在的堆的地址。但是像String.Date對該方法進行了重寫,進行的是值的比較。