作者tkcn (小安)
看板java
标题Re: [问题]javap java.util.Stack
时间Sun Jun 18 13:22:25 2006
※ 引述《[email protected] (混乱中...)》之铭言:
: 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