原创 (七)永久代(方法區)的垃圾回收

方法區裏的類會被回收的,但是需要滿足一定的條件 1.首先該類的所有對象已經從堆內存中回收了 2.加載該類的ClassLoader已經被回收了 3.對該類的Class對象沒有任何引用

原创 (五)年輕代以及他的垃圾回收算法

爲什麼要區分年輕代和老年代呢? 年輕代裏存放的大多數對象是短期存活的對象,需要用複製回收算法。老年代裏存放的對象是長期存活的對象,用的是標記-整理算法。所以才需要區分年輕代和老年代。 一種不太好的回收思路 思路:標記出哪些對象是可以被GC

原创 linux一切都是文件???

對所有文件(目錄、字符設備、塊設備、 套接字、打印機等)操作,讀寫都可用fopen()/fclose()/fwrite()/fread()等函數進行處理。屏蔽了硬件的區別,所有設備都抽象成文件,提供統一的接口給用戶。這就是“一切皆是文件”

原创 第三方接口的技術難題

涉及到很多第三方接口,那必然會出現一些技術難題。 1.耦合性: (1)如果第三方接口如果性能出現抖動,那必然會導致我們核心流程的性能變差。(異步解耦) (2)如果第三方接口突然升級了,比如說原來只需要5個入參,現在需要6個入參了,那我們本

原创 TCP之四次揮手和timewait狀態

爲什麼是四次揮手? 因爲TCP連接是雙向的,所以在關閉連接的時候,兩個方向各自都需要關閉。 client先發送FIN告知對方我已經完成數據發送了,server回覆ack來確定我知道了。這樣一個流程,就關閉了client到server的發送

原创 (二)JVM的類加載機制

前言 我們都知道Java是跨平臺的,是因爲不同平臺下的JVM能將字節碼文件解釋爲本地機器指令,JVM是怎麼加載字節碼文件的?答案就是ClassLoader。 今天我們仔細的來看看"類加載"這個過程,看看JVM的類加載機制到底是怎麼樣的?

原创 MySQL索引有哪些,基於數據結構的分類一下?基於hash和B+樹的有什麼區別、複雜度?

1.全文索引,hash索引,BTree索引。 2.(1) HASH HASH索引可以一次定位,不需要像樹形索引那樣逐層查找,因此具有極高的效率。但是,這種高效是有條件的,即只在“=”和“in”條件下高效,對於範圍查詢、排序及效率不高。 H

原创 爲什麼垃圾收集器需要兩個S區呢?

如果只有一個S區的話,假設Eden和S現在對象都放滿了,需要垃圾回收,此時複製算法需要先把存活對象標記出來,放入一個地方,那此時沒有一個空白區域給他放,怎麼辦呢?所以必須要兩個S區來使用

原创 HashMap、ConcurrentHashMap1.7和1.8的區別

1.數據結構上:在JDK1.7版本中,ConcurrentHashMap的數據結構是由一個Segment數組和多個HashEntry組成 ;JDK1.8的實現已經摒棄了Segment的概念,而是直接用Node數組+鏈表+紅黑樹的數據結構來

原创 多態以及原理

1.Java多態概述 Java的方法重載,就是在類中可以創建多個方法,它們具有相同的名字,但可具有不同的參數列表、返回值類型。調用方法時通過傳遞的參數類型來決定具體使用哪個方法,這就是多態性。 Java的方法重寫,是父類與子類之間的多態

原创 (五)年輕代、老年代

爲什麼要區分年輕代和老年代呢? 年輕代裏存放的大多數對象是短期存活的對象,需要用複製回收算法。老年代裏存放的對象是長期存活的對象,用的是標記-整理算法。所以才需要區分年輕代和老年代。  

原创 (七)哪些JVM內存中的對象會被GC?

1.可達性分析 通過可達性分析算法來判定哪些對象是可以回收,哪些對象不是不可以回收的。 可達性分析算法:對每個對象,會一層一層往上查找,看看是否有GCRoots對象引用他。 方法的局部變量、類的靜態變量、常量都能作爲GCRoots對象。

原创 (六)永久代(方法區)的垃圾回收

方法區裏的類會被回收的,但是需要滿足一定的條件 1.首先該類的所有對象已經從堆內存中回收了 2.加載該類的ClassLoader已經被回收了 3.對該類的Class對象沒有任何引用

原创 既然反射可以拿到private裏的值,那private的意義在哪裏?

1、Java的private修飾符不是爲了絕對安全設計的,而是對用戶常規使用Java的一種約束。就好比飯店廚房門口掛着“閒人免進”的牌子,但是你還是能夠通過其他方法進去。 2.private的意義是OOP(面向對象編程)的封裝概念。 3.

原创 通俗易懂講解JVM之新生代GC、老年代GC、永久代GC的觸發時機

新生代GC 新生代GC一般在Eden區域滿了後就會觸發GC 老年代GC 1.執行MinorGC之前進行檢查,如果“老年代連續可用內存空間大小<歷次新生代MinorGC後進入老年代的平均對象大小”,說明此次"MinorGC後進入老年代的對象