今天的主题是JVM,此前也有过一些写作的经历,但是都是三分钟的热度就没了,今天写的这边博客,主要的目的:
1,记录自己所学
2,督促自己前进
今天的这边文章内容可能没有多少干货,只是自己学习的一个笔记,如果大家学到了一点,
看了我的文章多指导了一些东西,麻烦您高台贵手给个赞,如果有大佬觉得我写的文章有问题的,欢迎指出,互相学习,一起进步,好了废话不多说,进入主题。
今天我们的主题内容是JVM 全称叫做Java Virtual Machine 也就是java 虚拟机?他是干什么的了?有什么作用了?
负责执行字节码文件的就是java虚拟机,而我们的字节码文件,就是有程序员所编写的java 文件,经过javac(jdk) 编辑 生成字节码文件,
放在jre中运,而我们的java 虚拟机就运行在,jre中。
JVM 中都有什么:jvm 运行时数据区
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200522221810742.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNjk5NTk0,size_16,color_FFFFFF,t_70#pic_center)
其中有数据和指令两块内容,今天我这里主要分享的关于指令的部分内容。
**先说说指令是什么?**
指向当前线程正在执行的字节码的地址 行号
而我们的指令是在cpu 上面执行的,cpu 执行指令是抢占式的,他是由时间片来执行,在系统中,他是时间片,但是在我们的jvm 中他是线程,而我们的jvm 最小的执行单元就是线程。
其中有指到过cpu 是抢占式的,为什么是抢占式的,当前线程在执行的过程中,当一个更高级别的线程进来时,那么你当前的线程就会被暂停,由更高级别的先执行,当级别高的线程执行完毕之后,当前的线程会被唤醒,通俗点,我们都玩qq,我们在打qq 电话的时候,突然有个人打你的手机电话,那么在你接手机电话的过程中,qq 电话就会被暂停,当你手机电话挂掉的时候,qq 电话会重新连通。
**什么是栈?**
栈可以说是内存中的一块区域,存储着当前线程运行方法所需要的数据,指定,地址。
其中就包括局部变量表,操作数栈,动态链接,出口等,而我们的八大基础数据类型就是存储在栈之中,而引用数据类型是存储在堆中。
这是今天所学的一点知识,希望我的内容能对大家有帮助,如果有不好的地方,欢迎指定,写的比较菜,吐槽下手轻点,以后会越来越好,加油!
JVM 虚拟机一 指令
最新推荐文章于 2020-12-28 23:53:49 发布