1. 程式人生 > >每日一記--java細節之問01

每日一記--java細節之問01

重要性 內存 查找 刪除 動作 重要 分配 估計 生命周期

現在越來越覺得java基礎細節的重要性了,這樣才有交流的價值。

1、靜態變量與非靜態變量的區別?

①分配的空間:

靜態變量存在於虛擬機的方法區中,並且只有一份這樣的內存空間。

非靜態變量需要通過new出類實例才能夠存在,且分配於堆內存空間中,每new出一份類實例便存在一份變量。

②使用的方法上:

靜態變量的使用可以通過類名.變量進行調用。

非靜態變量需要先創建類實例,然後通過類實例.變量進行調用。

③生命周期

靜態變量的生命周期伴隨程序的整個階段。

非靜態變量的生命周期伴隨著類實例存在的生命周期。

2、數組與鏈表的區別

①內存空間的分配

數組在內存空間的分配上是連續的,且具有固定的長度。

鏈表在內存的空間的分配不需要連續的內存空間,且長度不受限制。

②性能上

數組的查找性能相之較好。

鏈表在插入和刪除上性能較好。

3、數組和鏈表的應用場景

數組:數據較少,需要做運算或者經常性的查詢。

鏈表:線性表的長度或者規模難以估計,插入和刪除的動作較多。

每日一記--java細節之問01