【322天】我愛刷題系列081(2017.12.24)

叨叨兩句

  1. ~

牛客網——java專項練習060

1

下面哪一種狀況會致使持久區jvm堆內存溢出?
正確答案: C
A 循環上萬次的字符串處理
B 在一段代碼內申請上百M甚至上G的內存
C 使用CGLib技術直接操做字節碼運行,生成大量的動態類
D 不斷建立對象java

建議看看這篇博客 入門 通俗易懂 http://blog.csdn.net/sivyer123/article/details/17139443
簡單的來講 java的堆內存分爲兩塊:permantspace(持久帶) 和 heap space。
持久帶中主要存放用於存放靜態類型數據,如 Java Class, Method 等, 與垃圾收集器要收集的Java對象關係不大。
而heapspace分爲年輕帶和年老帶 
年輕代的垃圾回收叫 Young GC, 年老代的垃圾回收叫 Full GC。
在年輕代中經歷了N次(可配置)垃圾回收後仍然存活的對象,就會被複制到年老代中。所以,能夠認爲年老代中存放的都是一些生命週期較長的對象
年老代溢出緣由有  循環上萬次的字符串處理、建立上千萬個對象、在一段代碼內申請上百M甚至上G的內存,既A B D選項
持久代溢出緣由  動態加載了大量Java類而致使溢出

2

如下集合對象中哪幾個是線程安全的()
正確答案: C D
A LinkedList
B ArrayList
C Vector
D Hashtable安全

簡單記憶線程安全的集合類: 喂!SHE!  喂是指  vector,S是指 stack, H是指    hashtable,E是指:Eenumeration
相關文章
相關標籤/搜索