簡單理解面向對象
面向 對象 (Object Oriented)是 軟件開發方法 ,一種編程範式 對應的還有 面向過程,面向函數 等
是對現實世界的抽象和模型化
用代碼做現實世界的對照
1 | ⾯向過程 :⾯向過程性能⽐⾯向對象⾼。 因爲類調⽤時需要實例化,開銷⼤,比較消 |
JAVA語言有哪些優點,那些缺點
優點
支持多線程,垃圾自動回收,面向對象,跨平臺
缺點
面向對象,運行速度慢,容易被反編譯,啓動時間慢,屬於高級語言不支持底層操作
JDK與JRE
JDK 開發環境,包含編譯器,JRE的所有功能
JRE 運行環境,包含JVM,JAVA類庫
JVM
JVM是用來運行JAVA編譯之後的字節碼
重寫與重載
重寫 是覆蓋原有方法
重載是同名不同個數或類型的入參
String StringBuffer 和 StringBuilder 的區別是什麼?
StringBuffer 對方法加了同步鎖,線程安全
StringBuilder 未加鎖,現成不安全
String 爲什麼是不可變的?
因爲在string 中 存儲數據的句柄用了 final 修飾,成員變量值不可改變
String s=”1”;s=”2”; 中創建了兩個對象
== 與 equals(重要)
== 比較相等,判斷兩個對象是不是同一個對象,基本類型比較的是值,引用類型比較的是內存地址
默認情況下 equals()等價與==
hasCode
又稱散列碼 ,對數據進行摘要,提取指紋,具有 以下特性
對相同數據運算,結果相同
對不同數據運算,結果長度相同
運算單向不可逆
(重點) JAVA的方法參數只有值傳遞
形參只是實參的一個copy
如果形參的實際引用變了,實參不變
如果形參的成員變量變了,實參跟着改變
1 | public class Main { |
簡述線程、程序、進程的基本概念。以及他們之間關係是什麼?
系統運行程序到停止就是一個進程創建到消亡的過程,而線程則是進程的更小單位
- 版權聲明: 本博客所有文章除特別聲明外,均採用 反996許可證版本1.0 許可協議。轉載請註明出處!