博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM 中的栈思考
阅读量:6149 次
发布时间:2019-06-21

本文共 477 字,大约阅读时间需要 1 分钟。

  hot3.png

用xmind画的jvm脑图

我在想能不能更好的更容易的理解jvm。

       假如说:我在一间大房子里面,我需要去看电视,我所做的一个流程就是,找到电视遥控器,打开电视,坐沙发上看电视。

       这里面,我把房子比作JVM,我比作线程,看电视比作这个线程要做的事。

       我只去想房间里面只有我,我要去看电视,首先房子里需要能容得下我,然后我身上的东西还是我自己的,别人不能占有我的东西,我要能自己去看电视在这个房间里面。这个一个符合逻辑的需求。

       所以JVM中的栈可以用这个来比喻,JVM中有自己的虚拟机栈,虚拟机栈是线程创建时分配的,每个线程有自己独立的栈,在一个线程需要做一个操作的时候需要一系列的动作才能完成这个操作。你正在做的就是当前任务,正在执行的变量就是当前变量。

      下面我画了一幅图,但是有些思考的部分,我在想现实世界当中,看电视是连续的动作,而jvm中线程栈是先进后出的动作。这个是有区别的,但是整个来说完成这一系列动作才能完成看电视这个操作

网上找了一下栈结构,参考图片

转载于:https://my.oschina.net/ohalo/blog/2221910

你可能感兴趣的文章
并发中的流程控制
查看>>
用Redis存储Tomcat集群的Session
查看>>
CentOS 6.3下rsync服务器的安装与配置
查看>>
dockerfile
查看>>
nginx+lua+redis(openresty)配置
查看>>
很好的飞信!
查看>>
laravel开发资源
查看>>
vue-todolist-example学习
查看>>
Innodb存储引擎 读书笔记
查看>>
Java编程笔试面试题:分析下列程序的执行结果
查看>>
【逐渐提高】ios 代码库 集合类
查看>>
JSONArray转List<T>
查看>>
分享一个 ftp下载、解压、更新依赖库文件的 python 脚本
查看>>
inner class 多线程实现
查看>>
android Setting
查看>>
CentOS6.5常用命令
查看>>
小白javascript做考试页(一)
查看>>
Java使用SQLServerBulkCopy实现数据库批量操作
查看>>
Web开发中需要了解的东西
查看>>
PHP如何在CLI命令模式下连接Postgresql
查看>>