范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

面试被问到Java虚拟机,用这篇文章怼过去

  前言
  又是这个学弟的文章,关于面试他已经写了俩篇了,分别是:
  面试被问到Spring IOC、AOP和动态代理,用这篇文章怼过去
  作为Java后台,这些都不会的话,就别去面试了。
  看过这俩篇文章的小伙伴,有没有感觉现在的年轻人真的是不得了了。
  想要他联系方式的小伙伴,可以后台私信我。Jvm内存结构
  Jvm内存结构,一般是面试官对Java虚拟机这块考察的第一问。讲真,还没背会,自己罚自己面壁思过。
  Java虚拟机的内存结构一般可以从线程共有和线程私有两部分起头作答,然后再详细说明各自的部分,类似树状结构的作答,好处就是思路清晰,面试官听着也舒服。
  线程共有的包括Java堆和方法区,线程私有的包括虚拟机栈、本地方法栈和程序计数器。这些内容回答一遍后,就可以开始详细叙述每个点的详细部分。
  Java堆是用于存放Java程序运行时所需的对象等数据,Java堆又分为新生代和老年代。我们平常所说的垃圾回收,主要回收的就是堆区。更细一点划分新生代又可划分为Eden区和2个Survivor区(From Survivor和To Survivor)。
  方法区中最为重要的是类的类型信息、常量池、域信息、方法信息。总之,方法区保存的信息,大部分来自于 class 文件,是 Java 应用程序运行必不可少的重要数据。
  程序计数器用于存放下一条运行的指令,这里是唯一无内存溢出的区域。如果当前程序正在执行一个Java方法,则程序计数器记录正在执行的Java字节码地址,如果当前线程正在执行一个Native方法,则程序计数器为空。
  虚拟机栈和本地方法栈用于存放函数调用堆栈信息。虚拟机执行java程序的时候,每个方法都会创建一个栈帧,栈帧存放在java虚拟机栈中,通过压栈出栈的方式进行方法调用。
  很多人分不清虚拟机栈和本地方法栈的区别,因为本地方法栈(Native Method Stacks)与虚拟机栈所发挥的作用是非常相似的,其区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的Native方法服务。垃圾回收算法
  当你回答Jvm内存结构,八九不离十,下一问就问你垃圾回收算法。
  我简单说一下,垃圾回收算法你可以先回答引用计数法,回答完后说明一下此算法的缺点(无法解决互相引用问题),再引入标记-清除算法,再说一下它的缺点(空间碎片问题),然后说一下复制算法、标记-压缩算法如何解决空间碎片问题,最后说一下分代。到了这个时候,你完全可以举例新生代,老年代使用的是哪种算法,进行一个补充。一般回答到这,面试官就没得问了。如果还要继续深入,你可以了解垃圾回收器,CMS、G1、并行、串行等,已备不时之需。
  下面分别说一下上面提到的算法。
  引用计数法:引用计数法的实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减一。只要对象A的引用计数器的值为0,则对象A就不能再被使用。
  标记-清除算法:标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。一种可行的实现是,在标记阶段,首先通过根节点,标记所有从根节点开始的可达对象。因此,未被标记的对象就是未被引用的垃圾对象。然后,在清除阶段,清除所有未被标记的对象。
  复制算法:将原有的内存空间分为两块,每次只使用其中一块,在垃圾回收时,将正在使用的内存中的存活对象复制到未使用的内存块中,之后,清除正在使用的内存块中的所有对象,交换两个内存中的角色,完成垃圾回收。
  标记-压缩算法:首先从根节点开始,对所有可达的对象做一次标记,但之后,它并不是简单的清理未标记的对象,而是将所有的存活对象压缩到内存空间的一端。之后,清理边界外所有的空间。
  分代:将内存区域根据对象的特点分成不同的内存区域,根据每块区域对象的特征不同使用不同的回收算法,以提高垃圾回收的效率。
  说在这里,我非常想补充一个冷门的考点,也是面试官不一定问的问题。
  哪些可以作为GC中root的对象?这个问题的标准回答如下:
  1.被启动类加载的类和创建的对象
  2.栈内存中引用的对象
  3.方法区中静态和常量引用的对象
  4.本地方法中JNI引用的对象垃圾收集器
  垃圾收集器有独占式的串行收集器,也有加了多线程的并行收集器。如何选择一个合适的垃圾收集器主要参考的就是GC策略的指标。包括以下几个部分:
  吞吐量:指在应用程序的生命周期内,应用程序所花费的时间和系统总运行时间的比值。 举个例子,如果系统运行了 100min,GC 耗时 1min,那么系统的吞吐量就是(100-1)/100=99%。
  垃圾回收器负载:和吞吐量正好相反,垃圾回收器负载指垃圾回收器耗时与系统运行总时间的比值。
  停顿时间:指垃圾回收器正在运行时,应用程序的暂停时间。对于独占回收器而言,停顿时间可能会比较长。使用并发的回收器时,由于垃圾回收器和应用程序交替运行,程序的停顿时间会变短,但是,由于其效率很可能不如独占垃圾回收器,故系统的吞吐量可能会较低。
  垃圾回收频率:指垃圾回收器多长时间会运行一次。一般来说,对于固定的应用而言,垃圾回收器的频率应该是越低越好。
  反应时间:指当一个对象被称为垃圾后多长时间内,它所占据的内存空间会被释放。
  堆分配:不同的垃圾回收器对堆内存的分配方式可能是不同的。一个良好的垃圾收集器应该有一个合理的堆内存区间划分。
  科普完以上知识后,我简单说一下串行、并行、CMS、G1。
  串行回收器主要有两个特点:第一:使用单线程进行垃圾回收;第二:独占式垃圾回收。并行回收器只是简单的把使用单线程进行垃圾回收改为多线程进行垃圾回收,它依旧是独占式垃圾回收。
  CMS是Concurrent Mark Sweep的缩写,意为并发标记清除,从名称上可以得知,它使用的是标记-清除算法,同时它又是一个使用多线程并发回收的垃圾收集器。与CMS收集器相比,G1收集器是基于标记-压缩算法的。
  那为什么CMS和G1不是独占式的垃圾回收器?
  CMS工作时,主要步骤有:初始标记、并发标记、重新标记、并发清除和并发重置。其中初始标记和重新标记是独占系统资源的,而并发标记、并发清除和并发重置是可以和用户线程一起执行的。因此,从整体上来说,CMS收集不是独占式的,它可以在应用程序运行过程中进行垃圾回收。说下阅读感悟
  周志明的《深入理解Java虚拟机》很好很强大,但阅读起来颇有点费劲,尤其是当你跟随作者的思路一直探究下去,开始会让你弄不清方向,难免有些你说的啥子的感觉。但知识不得不学,于是天天看,反复看,就慢慢的理解了。
  我其实不想说这种硬磨的方法有多好,我甚至不推荐,我建议大家阅读这本书时,由浅入深,有舍有得,先从宏观去理解去阅读,再慢慢深入,有条不紊的看下去。
  具体来说,当你看书的某一部分时,先看这部分的章节名,了解这部分这一章在讲什么,然后再看某一章,我拿"类文件结构"这一章来说,我必须先知道类文件结构都有什么,然后看到有魔数、Class文件版本、常量池等,然后我再去看魔数是什么,Class文件版本在哪里,常量池是什么?再深入下去,常量池有字面量和符号引用,再深入下去,可能你看懂后还想深究,可能你到这里就已经看不下去了。这都没事,我想说的是,此时看不下去的知识,就不要看了,略过看下一节,我们先把最表面的那一层看完,了解,再去深入到某个点。
  这本书的知识就像是一个多叉树,我们先把上面的那层看完再步步去深入到下一层,我觉得这样阅读起来比较轻松,不至于读到难处还要硬读下去。

TCL小蛮腰免污洗衣机,同级标杆无敌?洗衣机是目前每个家庭当中都必不可少的家用电器之一,在家庭中更是有着不可替代的地位。但是在日常使用过程中,相信每个人都面临着两个问题一是长期使用后的清洁问题,也就是我们经常说的洗衣机野外运动装备系列(二十七)袖珍卫星通讯器总部座落于美国堪萨斯州的Garmin公司,新近推出了inReachMini2型卫星通讯器。其娇小的体积,不仅大大减轻了旅行者背包的压力,还有着更长的电池寿命和更宽泛的兼容性。inR好物推荐25期华为羡慕的徕卡光圈马克杯超快的家庭NAS私有云这期为大家推荐两款大家看了眼馋的物品曾经与华为互相成就的徕卡出品的光圈标尺马克杯,不仅摄影爱好者喜欢,有华为情怀的朋友也可以来一个与手机搭配,他家的其他产品也是价格不菲另一款性价比影响家里WIFI速度的原因小伙伴们在家里是不是都遇到了卧室信号差,下载速度慢或者网络一直转圈圈呢,下面呢我就给大家分析一下我们家里影响网速的一些原因,来给大家参考。影响家里WIFI速率的原因呢,主要有以下情元宇宙可能落在巨头们的布局之外准确来说,元宇宙并不是一个新概念,而是在数字技术下的一个经典概念重生。然而受技术和产业规模限制,目前对于元宇宙的前景预测以及场景展望较多,距离其实际应用仍有很长的路要走。面对热度持TPLINK将推新一代路由器,3月5日发布IT之家2月25日消息,TPLINK现已宣布将在3月5日1930举行新品发布会,预计将发布新一代路由器。目前,TPLINK官方尚未公布本次发布会的新品信息。IT之家了解到,去年3月真香预定!顶级6nm120Hz直屏,OPPO携6000mAh新机亮相提前OPPO这个智能手机品牌,想必大家脑海里浮现的就是充电五分钟,通话两小时这句广告词,还有的朋友会想起OPPO的手机外观颜值颇高,并且主打轻薄时尚体验,外观精致。不过随着科技不断几乎没有差评,2022年最值得考虑的4款手机,看看你怎么选?几乎没有差评,2022年最值得考虑的4款手机,看看你怎么选?第1款iPhone13Pro对于去年的iPhone13系列,怎么会有差评,很多人都说十三香。再者,iPhone13Pro杨元庆PC消费趋于高端化,对中国信息产业出口增长很有信心未来三年内,我们有信心在上一个财年的基础上继续让净利润率翻番,而且保持增长。未来PC是会继续保持增长的一个行业。2月23日下午,在联想发布最新财报后的财报分析会上,联想集团董事长兼重磅!微信8。0。20更新,支持4K视频发送(附下载)微信8。0。20安卓微信8。0。20内测版已经发布,2022新年安卓版微信也是更新一些重磅功能。铃声变化我的里面,点击头像新增来电铃声入口选项,点击铃声进入可以更换自己喜欢的来电铃嘉世达的洒拖机器人上央视了今年我们要攻克一个世界级技术难题,让我们的机器人不仅能扫地拖地,还能实现擦高层玻璃,实现一机五用。2月14日,在央视新闻频道稳中求进干在实处中国工业经济开新局栏目中,作为山西专精特
别再踩雷了,你不知道的装修知识点,专业人士来为你解答别再踩雷了,你不知道的装修知识点,专业人士为你解答!许多业主在买房的时候都会精心挑选和对比,最后选出了合适的房源,却因为第一次装修,什么都不懂,白白踩了许多雷,要想不踩雷,在装修前装修结束了,心也凉了,这13处小失误不注意,住进去才后悔装修结束了,心也凉了,这13处小失误不注意,住进去才后悔!唉,别提了,就是因为自己的假专业好面子让整个装修变得十分拉胯,再加上自己手头也不是那么宽裕,在自己装修房子之前,满满的自信以美元为主要储备货币而产生的担忧所有国家的中央银行都持有黄金和外汇作为官方储备,这些储备用来清偿对外债务,并在必要的时候干预外汇市场支持本币,在过去80年里美元一直是世界上最主要的储备货币目前美元储备大概占总储备据说,所有人都有一个毛病,越是喜欢谁据说,所有人都有一个毛病,越是喜欢谁,就越爱欺负谁玲子住在乡下,两层的破旧木屋,东北风偶尔会从缝中漏点出来,厨房中也是简简单单的锅碗瓢盆,一只小猫咪爬在房檐,瘦成骡子一样,两眼东倒生死两轮回,青龙伏虎富贵豪的父亲富仁仨,长期盘踞此地。白稚青山,云脉巍峨高耸,虎踞中原,山阴有大河,山阳乃鸽重镇(阳锁城),扼天下咽喉,平川连绵百里,峰峦起伏高峰有七峰,耸高入云,平日里只见白云环绕山上红楼之人定胜天上红楼,游碧海知己甚难侯,寻遍芳踪迟迟夜依旧,满腔心事谁说,唯余惆怅南方的私家园林已如旧家的毛草,湾湾牙挂不到天空的际边,不见了明亮,连空中点点星头少无寥几,南郡硬仗之声不在了。红做一个忙忙碌碌的姑娘平时我们每天都是忙忙碌碌的,为了生活,每天都要早出晚归,要努力去上班赚钱,所有想要享受生活,过上自己心中理想的生活很难。但其实有时候并没有自己想的那么难,现在的很多姑娘生活都是很多喝茅台的冲动,红脸爆空头今天A股喝着小酒,酝酿爆空头国庆期间,贵州茅台一酒难求,甚至交订金都不行。05年前买一瓶80年代黑酱只需要5000左右,现在是350000还多。厂家盈利,及市场对品牌的认可。不外乎2020年10月16日晚,纳斯达克开盘前10医药股占6个今晚美国开盘上来医药股全线飘红,纳斯达斯前10位,医药股占据6位。可以想象美国生病的人有多少?总结起来就是,生病了先去福泰会诊,去亚力克拿药,回到再生元打针,提供拜马林式医疗服务,20世纪末,街头采访谁也没有想到21世纪看中国速度。有一种速度叫中国速度,有一种奇迹叫中国奇迹。1995年记者大街采访采访的问题是你认为中国在21世纪会是什么样子?大街上挂满了青涩的小脸一位女孩接受了278天前,买了2支基金体验今天无意间翻到278天前在华安财富随机买了体验金。这么算来好像是2020年1月份左右购买的,当时也是为了模拟自己对股票基金的判断,当做参考体验一下。当时选择的是华安媒体互联网混合和