Java的乙個堆疊例子

2021-07-23 08:42:43 字數 670 閱讀 7158

package generics;

/** * 堆疊類

* 棧遵循先入後出規則

*/public class

linkedstack

private static class

node

node(u item, nodenext)

/*** 判斷是否是空棧

*/boolean end()

}/**

* 壓棧新的元素item 新的元素位置指標指向上一次入棧元素

* * @param item

* 入棧的新元素

*/private void push(t item)

/*** 出棧

* 如果是棧底,返回當前棧的元素 如果還沒到棧底,返回下乙個棧元素引用

*/public t pop()

}

輸出

! stun

on phases

這個例子使用了乙個末端哨兵來判斷堆疊何時為空。這個末端

哨兵是在構造linkedstack時候建立的。然後每呼叫pop()方法都會返回top.item,然後丟棄當前top所指的node,並將top移到下乙個node,但是到了末端哨兵就不再移動top了。如果到了哨兵末端繼續呼叫pop,會得到null。

Java產生死鎖的乙個簡單例子

思路是建立兩個字串a和b,再建立兩個執行緒a和b,讓每個執行緒都用synchronized鎖住字串 a先鎖a,再去鎖b b先鎖b,再鎖a 如果a鎖住a,b鎖住b,a就沒辦法鎖住b,b也沒辦法鎖住a,這時就陷入了死鎖。直接貼 public class deadlock class lock1 impl...

Java產生死鎖的乙個簡單例子

思路是建立兩個字串a和b,再建立兩個執行緒a和b,讓每個執行緒都用synchronized鎖住字串 a先鎖a,再去鎖b b先鎖b,再鎖a 如果a鎖住a,b鎖住b,a就沒辦法鎖住b,b也沒辦法鎖住a,這時就陷入了死鎖。直接貼 public class deadlock class lock1 impl...

請給乙個java執行緒同步的例子

遇到乙個筆試題 請寫出執行緒同步的方法!網上搜尋了半天沒乙個看懂得 我對執行緒的認識少之又少。誰能給乙個簡單點得執行緒同步 最好有些注釋 謝謝package synh class threaddemo implements runnablecatch exception e system.out.p...