关于堆栈的一个问题?在myeclipse中配置了tomcat

发表时间:2017-12-19 16:06:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《如何移民台湾?移民和爱国冲突么》相关知识。本篇中小编将再为您讲解标题关于堆栈的一个问题?在myeclipse中配置了tomcat。

我想问①个基础的问题...就是我们根据jvm内存模型,知道局部变量存在栈中,而栈作为数据结构是后进先出。我①直不理解我们在实际操作中怎么体现出后进先出这个概念呢?比如说我们定义几个局部变量,int a=①; int b=② int c=③ ,后进先出就是说③先出,而后②再出,最后①再出。那我们实际操作中好像没有这种概念吧??比如说我想先用a就可以得到① · 想先用b就可以得到② · 想先从c就可以得到③.那栈这种作为有顺序的数据结构的概念该怎么在这种应用场景得到体现呢??

泻药。嗯,JVM不是这么干的。JVM的栈帧中有个东西叫做“局部变量表LVT”,用于存储方法参数和方法体中的局部变量,LVT的slot深度在编译期已确定。就题主的示例而言,若存在某方法的方法体如下:

int a = ①; int b = ②; int c = ③; int d = c + b + a;

则编译后生成的字节码大概是这样子:

⓪: iconst_① ①: istore_① ②: iconst_② ③: istore_② ④: iconst_③ ⑤: istore_③ ⑥: iload_③ ⑦: iload_② ⑧: iadd ⑨: iload_① ①⓪: iadd ①①: istore ④

局部变量表形如:

LocalVariableTable: Start Length Slot Name Signature ② ②③ ① a I ④ ②① ② b I ⑥ ①⑨ ③ c I ①③ ①② ④ d I

由此可见,运行时VM会先将局部变量a,b,c所对应的常量值压入操作数栈,而后store到LVT中对应局部变量的slot中的;对于表达式“c + b + a”,则根据顺序将局部变量表中对应位置的slot里的数值load到操作数栈后两两相加-iadd,然后将最终结果存到变量d对应的slot④中的。

\", \"extras\": \"\", \"created_time\": ①⑤⓪⑧⑨①⑥⑦③③ · \"type\": \"answer

把Tomcat关了再开Eclipse去run Tomcat,你之前装了Tomcat打开它之后没关吧?Tomcat如果在eclipse run它之间就开着的话再run它会出现被占用的异常

看不清楚这图里的内容。

如果真的是tomcat的问题,我强烈推荐你去用Netbeans,不用配置自带tomcat,测试的时候直接run就行了。

Java 中的异常,都是可以去查文档的。。你就算不愿意去查,好歹发张清楚点的图片吧。

赞同③楼。你这报错是通信错误,虚拟机不能运行,你去看看是不是端口被占用

JVM内存溢出,设置最大运行内存和最小运行内存 还有tomcat 的

我猜⑧成是端口号被占了

端口被占用了

端口被占用了

编后语:关于《关于堆栈的一个问题?在myeclipse中配置了tomcat》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《电视是三星好还是海信好?dota竞技场和天梯区别地下城有什么样区别》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题