Re: [問題]javap java.util.Stack
※ 引述《Maxmaman.bbs@bbs.wretch.cc (混亂中...)》之銘言:
: Compiled from "Stack.java"
: public class java.util.Stack extends java.util.Vector{
: public java.util.Stack();
: public java.lang.Object push(java.lang.Object);
: public synchronized java.lang.Object pop();
: public synchronized java.lang.Object peek();
: public boolean empty();
: public synchronized int search(java.lang.Object);
: }
: 為什麼push不需synchronized?
這種時候去看一下 source code 就會明白了
Stack.java
---
public E push(E item) {
addElement(item);
return item;
}
---
呼叫到的是 Vector.addEleent()
接著再去看 Vector.java
---
public synchronized void addElement(E obj) {
modCount++;
ensureCapacityHelper(elementCount + 1);
elementData[elementCount++] = obj;
}
---
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.71.24
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章