肥宅钓鱼网
当前位置: 首页 钓鱼百科

深入理解jvm知识点(jvm学习记录二)

时间:2023-07-01 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

深入理解jvm知识点?虚拟机栈都知道是运行咱们方法的,实际上他的里面放了一个一个的栈针,同时每一个线程中都会独有一份虚拟机栈的内存空间。我们的每一个栈针中存放的又是什么呢?因为我们java代码在服务器运行,然而具体到jvm中就是每一个栈针。同时我们的局部变量表是一个有序的数组,他的第一个元素放的使我们的this,然后就是一次放我们的定义好的各种变量。但是这样命名却是也没有问题。

深入理解jvm知识点?1.先从最不熟悉的来,虚拟机栈虚拟机栈都知道是运行咱们方法的,实际上他的里面放了一个一个的栈针,同时每一个线程中都会独有一份虚拟机栈的内存空间这是为什么呢?可以想一想,如何不是每个线程独有一份,那栈里面的栈针(每一个栈针就是一个方法)谁知道是哪个线程的,jvm也不是上帝(QUQ).所以我们的jvm大佬在设计jvm的时候每一个线程都会有一根栈资源和对应的程序计数器(各自记录自己的垃圾代码执行到哪里了),下面我们就来聊聊关于深入理解jvm知识点?接下来我们就一起去了解一下吧!

深入理解jvm知识点

上一章大致介绍了jvm内存模型,下来接着各区的详细内容

1.先从最不熟悉的来,虚拟机栈。

虚拟机栈都知道是运行咱们方法的,实际上他的里面放了一个一个的栈针,同时每一个线程中都会独有一份虚拟机栈的内存空间。这是为什么呢?可以想一想,如何不是每个线程独有一份,那栈里面的栈针(每一个栈针就是一个方法)谁知道是哪个线程的,jvm也不是上帝(QUQ).所以我们的jvm大佬在设计jvm的时候每一个线程都会有一根栈资源和对应的程序计数器(各自记录自己的垃圾代码执行到哪里了)。

我们的每一个栈针(就是每一个java方法)中存放的又是什么呢?和我们写的java代码又有什么关系呢?考点必会**

1.局部变量表(又叫本地变量表,都是一个意思),在这里面存放的就是我们在方法中定义的一个一个的变量,包括了咱们java的基础数据类型和引用类型(这些变量又是怎么进入到我们的栈中的呢?这个会在下文中解释,不急!),具体的比如咱么定义的int类型变量,或者new出来的对象。。。

为什么需要把这些变量放在局部变量表中呢?(补充,局部变量中还存放着咱们的当前类的对象的this,相信大家都用过,但是如果是static修饰的方法既没有,因为这个东西是属于类的)。因为我们java代码在服务器运行,然而具体到jvm中就是每一个栈针(再详细的可以查看我们的字节码文件)。

同时我们的局部变量表是一个有序的数组,他的第一个元素放的使我们的this,然后就是一次放我们的定义好的各种变量。这里提到一个问题,我们的变量放在我们的栈中是要占用我们的虚拟机内存的,所以我们的栈会发生垃圾回收吗(GC)?显然不会的,如果我们的栈中方法太多,比如我们写了一个递归,但是因为种种原因(代码太垃圾),导致没有结束,那我们的栈中会因为有太多的方法而导致stackoverflower错误(英文不知道写对没有)。或者我们的局部变量表太大,比如我们定义了1万万的数组,往里面装满了值。(你认为会出问题吗?)*

2.操作栈,这个地方大家可以简单的记住就是用来计算的。他计算的又是什么呢?其实这个地方计算的就是比如:1 1等于几(不要觉得简单,你知道底层原理吗?)类似的东西,当然不会这么简单。比如我们定义了2个变量相加,我们会把a变量先压入操作数栈,然后把b变量压入操作数栈,然后相加,最后的出的数值出栈然后赋值给我们接受计算结果的比如c变量。其实就是这样(具体的可以反编译我们的的字节码文件进行查看,后文会详细介绍这个技能,当前等级不够还不能用这个技能!!!!!!)

插播一句,作者码子不易,看了觉得有用的大佬请点一下关注,后面会接着记录学习过程,和大家一起共同成长!!!!

3.动态链接,这个东西一看有点蒙。但是这样命名却是也没有问题。因为这个东西关联到了我们方法区中的东西(java8叫元空间),我们都知道,我们的字节码中的(没看过字节码的自己看看,如果不想看先忽略后文问有详细介绍)会有很多的符号引用,在我们运行java代码的过程中,比如我们引入一个int类型的变量a他的值是5,虽然我们写java代码的时候知道我们自己写了这一段代码,但是我们需要把我们的java代码转换成字节码,然后转换成机器指令(01010101.。),首先java代码转换成字节码的时候,我们就需要告诉jvm我们的代码逻辑是什么,我们先执行那个再执行那个,同时我们的代码在编译成字节码的时候,我们的类信息是放在我们的方法区的,所以我们需要一些符号引用放在我们的栈针中,这里会有一个问题,我们的数据不都有一个内存地址吗?为什么不用这个,而是用符号引用,我可以告诉你就是为了简洁,所以我们的动态链接就是指向的我们的方法区一个个符号引用,他们在运行时候会转换成一个一个的直接引用(在讲方法区的时候会详细介绍),为什么叫动态,因为他是运行的时候用的,还有的叫静态链接没他事类加载,初始化的时候用到,总结一句话就是:我们的类信息,包括类中的方法,修饰符,变量,变量类型,字面量,这些东西都是放在方法区的,如果我们的栈针中要用,就要去方法区中找,然而找的时候就是用的符号引用,就是相当于他们的序号,二这就叫动态链接,不知道懂了没有,后面会懂得(嘿嘿嘿),

    推荐阅读
  • 青海失联女大学生遗骸(青海无人区惊现非他杀女大学生遗骨)

    2020年7月30日晚上8点钟左右,青海省海西州格尔木市公安局在可可西里自然保护区清水河南侧无人区发现了一具人体尸骸,并随后在附近发现了身份证、学生证及相关随身物品。经过DNA比对之后,确认那具尸骸为失联女大学生黄某某遗骸,而经过调查初步排除了女孩被他杀的可能,可可西里无人区的严寒和恶劣的气候条件是女孩的直接死因。

  • 关于王爷休妻的小说(她为了惩治王爷)

    后果真是不堪设想!沈影虽然不认得她摘了什么东西,但将此事向王爷一禀,楚王爷自然是心知肚明。两人距离有些近,少女身上独有的香甜气息钻入小侯爷的口鼻。严绯瑶放手,福身道谢。纪元敬冲她笑了笑,加快脚步回到楚王爷身边。纪元敬敲了下她的头,咬牙威胁。楚王爷一行在严家人的恭送之下,缓缓离去。沈影一口气,把偷听来父女两人的对话和盘托出。楚王爷还未开口。楚王爷靠进硕大的枕囊中。“是,花鸟使们已经在统计名单了。”

  • 如何提高网络文学质量(网络文学作者如何全面提升职业素养)

    报告显示,我国网络文学作者数量已达1750万人。今年4月23日,中国作协召开全国网络文学重点网站联席会议,共同拟定并发布了《提升网络文学编审质量倡议书》。如果网络作者为了榜单、打赏的商业目的,生产提供迎合用户低级趣味的故事与内容,将会伤害用户的身心健康,影响其人格成长。其中首要是获得强壮坚韧的体力。

  • 古人开车有哪些手势(古代交规很严格)

    如果因此造成人员伤亡的,交钱即可赎罪,即罚款。如果再严重,就判船主有期徒刑两年。汉文帝时,皇太子与其弟梁王驾车时犯了“交规”,时任廷尉,相当于现在公安部部长的张释之依法扣押两人,直到皇太后出面求情,汉文帝亲自为儿子道歉,张释之才释放了他们。不久,一名普通百姓违反“交规”,冲撞了汉文帝的车驾。为维护“交规”的严肃性,张释之宁可得罪皇帝,也不违规处罚,这一点实在不易。

  • 三八妇女节的来历由来(三八妇女节的影响)

    在联合国介绍国际妇女节的网页上,把“三八”国际妇女节的起源归因于20世纪初期一系列的妇女运动大事,这些事件包括:,我来为大家科普一下关于三八妇女节的来历由来?20世纪初这一系列发生在欧洲和美洲的女权运动共同促成了“三八”国际妇女节的诞生。国际妇女节是妇女创造历史的见证,妇女为争取与男性平等所走的斗争道路十分漫长。这个日子是联合国承认的,同时也被很多国家确定为法定假日。

  • 洗衣粉的主要成分是什么(洗衣粉的主要成分)

    以下内容大家不妨参考一二希望能帮到您!洗衣粉的主要成分是什么洗衣粉的主要成分是阴离子表面活性剂,烷基苯磺酸钠,少量非离子表面活性剂,再加一些助剂,磷酸盐、硅酸盐、元明粉、荧光剂、酶等,经混合、喷粉等工艺制成,现在大部分用4A氟石代替磷酸盐。洗衣粉是指粉状(粒状)的合成洗涤剂。洗衣粉是一种碱性的合成洗涤剂,是用于洗衣服的化学制剂。

  • 灵域宋婷玉结局是什么(灵域剧情简介)

    灵域宋婷玉结局是什么宋婷玉结局是:炎日岛负责人,玄天盟盟主宋禹的女儿,擅长魅惑意境。在第一处神葬场中,中了巫毒被秦烈舍命解救,对秦烈芳心暗许。在金阳岛船上假戏真做情况下失身秦烈。获得太古遗体八目狻猊传承突破到如意境初期。后来全权负责炎日岛势力的资源调度、对外关系与日常管理。这群热血少年,在寻找身世真相和追求更高力量的路上,不断遇到良师挚友,共同守护灵域大陆。

  • 小米手机通话自动录音怎么设置(小米手机怎么设置手机通话自动录音功能)

    当在接听重要的电话时,可以开启通话自动录音功能。那小米手机通话自动录音怎么设置的呢吧~小米手机通话自动录音怎么设置1、在桌面点击电话app,点击右上角的设置图标。本文以小米11pro为例适用于MIUI12.5系统

  • 李泊文名字打分103分(李泊言名字)

    文章目录:一、李泊文相关名字打分98二、李泊文相关名字评分105三、李泊文相关名字推荐四、李泊文相关名字大全五、其他人还看了一、李泊文相关名字打分98李鲁云李营李息李松桃李礼李天元李世忠李世东李小珍李雅兰李恂李定山李天鸽李永恒李会江李和忠李佩甫李培培李光升李军杰李凯莉李雅文李莉李启汉李兴春李好臣李诗卉李来凤李潇洒李长恒李冬敏李纯信李天胜李正兵李媛丽李乐民李杏花李嘉祥李茂贞李万虎李温李林贵李从心李金

  • 戏剧点亮人生(绽放青春风采体验戏剧人生)

    新华网北京10月30日电“绽放青春风采,体验戏剧人生”,日前,北京市一零一中学高二年级话剧节拉开帷幕,一零一中学校长郭涵、副校长熊永昌、刘子森等参加了本次活动。话剧节是一零一中学语文组的传统活动之一。第一个上场的剧目是弦弦扣人的《福尔摩斯》。致敬经典,最引人瞩目的传统剧作《雷雨》登场。新时代的激情诠释是于无声处的一声呐喊,如郁闷已久的雷雨骤然爆发,荡涤灵魂。