#### 創建階段
> 為對象分配存儲空間
> 構造對象
> 從超類到子類對static成員進行初始化
> 遞歸調用超類的構造方法
> 調用子類的構造方法
#### 應用階段
> 當對象被創建,并分配給變量賦值,狀態就切換到應用階段
> 這一階段至少有一個強引用(new),或者顯示的使用軟引用、 弱引用、虛引用
> 軟引用(內存空間足,不會 回收,內存不足,就會回收)
> 弱引用(不管有沒有空間,都會去回收,只是不一定能立刻發現它)
> 虛引用(任何時候都會去回收它)
#### 不可見階段
> 程序中找不到對象的任何強引用,比如已經超出了對象的作用域。
#### 不可達階段
> 垃圾回收器發現不可達
#### 收集階段
> 垃圾回收器準備好要對該對象的內存空間器進行分配
#### 終結階段
> 當對象執行完finalize后仍然不可達,該對象進入終結階段,等待垃圾回收空間
#### 對象空間重新分配階段
> 垃圾回收時,這個對象就會徹底消失
- 虛擬機
- JVM內存結構
- JVM調優手段
- java對象生命周期
- 垃圾回收判斷對象死亡
- 垃圾回收算法
- 垃圾收集器
- JAVA基礎知識
- java事件機制
- java反射機制
- jvm創建對象
- java異常
- finally語句一定會執行嗎?
- 集合類介紹
- ArrayList
- LinkedList
- HashMap
- ConcurrentHashMap
- 多線程
- 為什么要使用線程池
- 線程死鎖
- 死鎖檢測和解除
- jstack
- jconsole
- 死鎖預防
- 常見線程池
- 線程池參數
- 工作隊列介紹
- 拒絕策略
- ThreadLocal
- CAS
- ReentrantLock
- AQS
- CountDownLatch
- Spring
- spring中bean的作用域
- REDIS
- redis數據結構
- redis hash實現
- redis rehash與hashmap擴容的區別
- Redis使用場景
- Redis為何這么快
- redis連接數不足導致錯誤
- 分布式
- 分布式事務
- ACID
- CAP
- BASE
- 事務隔離性
- 一致性哈希算法
- 負載均衡算法
- Hystrix 信號量和線程池隔離的差異
- Spring Cloud
- eureka
- MYSQL
- mysql優化經驗
- undo redo binlog
- web
- http協議
- http和https區別
- Cookie和session
- TCP三次握手、4次揮手
- TCP的time_wait和close_wait
- 算法問題
- 編輯距離算法
- MQ
- RabbitMq
- Kafka
- 安裝教程
- Win ELK安裝