1. package testjavapro;
  2. import java.util.*;
  3.  
  4. public class testjava {
  5.  
  6. static void showpush(Stack<Integer> st, int a) {
  7. st.push(new Integer(a));
  8. System.out.println("push(" + a + ")");
  9. System.out.println("cur stack: " + st);
  10. }
  11.  
  12. static void showpop(Stack<Integer> st) {
  13. System.out.print("pop -> ");
  14. Integer a = (Integer) st.pop();
  15. System.out.println(a);
  16. System.out.println("cur stack: " + st);
  17. }
  18.  
  19. public static void main(String args[]) {
  20. Stack<Integer> st = new Stack<Integer>();
  21. System.out.println("stack: " + st);
  22. showpush(st, );
  23. showpush(st, );
  24. showpush(st, );
  25.  
  26. showpop(st);
  27. showpop(st);
  28. showpop(st);
  29.  
  30. try {
  31. showpop(st);
  32. } catch (EmptyStackException e) {
  33. System.out.println("empty stack");
  34. }
  35. }
  36. }

输出

  1. stack: []
  2. push()
  3. cur stack: []
  4. push()
  5. cur stack: [, ]
  6. push()
  7. cur stack: [, , ]
  8. pop ->
  9. cur stack: [, ]
  10. pop ->
  11. cur stack: []
  12. pop ->
  13. cur stack: []
  14. pop -> empty stack

java 栈的更多相关文章

  1. 从几个sample来学习JAVA堆、方法区、JAVA栈和本地方法栈

    最近在看<深入理解Java虚拟机>,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程,大部分的程序员在写程序时不会太关注Java运行时数据区域的结构: 感觉有 ...

  2. java栈内存堆内存和GC相关

    java栈内存堆内存 Java把内存分成两种,一种叫做栈内存,一种叫做堆内存,有着不同的作用.栈内存用来存储局部变量和方法调用.栈内存归属于单个线程,每个线程都会有一个栈内存,其存储的变量只能在其所属 ...

  3. JAVA栈帧

    简介 Java栈是一块线程私有的内存空间.java堆和程序数据相关,java栈就是和线程执行密切相关的,线程的执行的基本行为是函数调用,每次函数调用的数据都是通过java栈来传递的. Java栈与数据 ...

  4. java虚拟机 jvm 出入java栈 栈空间内存分配

    java栈空间是一块线程私有的内存空间,java堆和程序数据密切相关,那么java栈就是和线程执行密切相关.线程最基本的执行行为就是函数的调用.每次函数调用其实是通过java栈传递数据的. 数据结构中 ...

  5. java虚拟机 jvm java堆 方法区 java栈

    java堆是java应用程序最密切的内存空间.几乎所有的对象都存在堆中.java堆完全自动化管理,通过垃圾回收机制,垃圾对象会自动清理,不需要显式释放. 根据java垃圾回收机制的不同,java堆可能 ...

  6. java 栈 最大深度

      1. 概述 某公司面试,总监大叔过来,问了图论及栈的最大深度,然后^_^ 一直记着,今天搞一下 2. 代码 package com.goodfan.test; public class JavaS ...

  7. 【多线程】死锁与Java栈跟踪工具

    今天面试有一道题,写一个死锁的程序,自己也是短路了,没写出来,回来写下. 死锁常见的情况是A线程持有a锁.阻塞于b锁,B线程持有b锁,阻塞于a锁,形成一个循环阻塞的状态. import java.ut ...

  8. java栈的最大深度?

    1. 概述 某公司面试,总监大叔过来,问了图论及栈的最大深度,然后^_^ 一直记着,今天搞一下 2. 代码 package com.goodfan.test; public class JavaSta ...

  9. JVM(1)之 JAVA栈

    开发十年,就只剩下这套架构体系了! >>>   若想使自己编写的Java程序高效运行,以及进行正确.高效的异常诊断,JVM是不得不谈的一个话题.本"JVM进阶"专 ...

  10. Java栈的实例模拟

    前言: “后进先出”---是栈(Stack)这种数据结构最基本的特点.很多程序设计语言都具有封装好的Stack工具,本文就带领大家一起将栈温习一下并附上一个模拟栈的程序. Java内存分配中,每通过n ...

随机推荐

  1. C# Thread was being aborted

    先重现问题 1.新建一个aspx页面项目,插入两个页面WebForm1.aspx,WebForm2.aspx, WebForm1代码修改如下 protected void Page_Load(obje ...

  2. mac下安装和运行redis

    第一部分:安装    第一步:直接从官网下载**.tar.gz这个包.并用tar -zxvf **.tar.gz -C 指定目录 示例命令: tar -zxvf redis-5.0.5.tar.gz ...

  3. kvm虚拟机日常管理与配置

    1.  查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录.    (2) vir ...

  4. eclipse使用maven,启动工程tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.Contex

    maven是个不错的管理jar包工具,但是我们在eclipse使用maven时,总是遇上这样那样的问题,比如今天,我编译工程,启动过后,tomcat报错:java.lang.ClassNotFound ...

  5. .net Core 学习笔记(增加Nlog日志)

    https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-2  (日志下载) https://github.com ...

  6. Spring Boot 运行原理 - 核心注解

    https://www.jianshu.com/p/23f504713b94 核心注解 打开上面任意一个AutoConfiguration文件,一般都有下面的条件注解,在spring-boot-aut ...

  7. iviewUI 前端静态页面实现增删改查分页

    完整代码部分 (仅供参考哈): <template> <div> <label prop="name"> 姓名: </label> ...

  8. 用友U9 刷新当前页面代码

    this.Action.NavigateAction.Refresh(null, true);//刷新当前页

  9. Python学习笔记之测试函数

    11-1 城市和国家:编写一个函数,它接受两个形参:一个城市名和一个国家名.这个函数返回一个格式为City, Country 的字符串,如Santiago, Chile.将这个函数存储在一个名为cit ...

  10. 了解MySQL

    目前流行的数据库 MySQL Oracle Microsoft SQLServer Microsoft Access PostgreSQL DB2/UDB InfoMax MySQL介绍 世界上最流行 ...