面试题系列第6篇:JVM字符串常量池及String的intern方法详解?
《Java面试题系列》:一个长知识又很有意思的专栏。深入挖掘、分析源码、汇总原理、图文结合,打造公众号系列文章,面试与否均可提升Level。欢迎持续关注【程序新视界】。本篇为第6篇。关于字符串的比较在前面文章中已经详解过,本篇文章基于字符串常量池的存储及在使用intern方法时所引起的内存变化进行一步深层次的讲解。重点内容:当字符串调用intern方法后,再进行字符串的比较,会发生什么变化?本文....

面试必问|聊聊JVM性能调优?
大家好,我是冰河~~之前在写【字节码编程】系列时,不少小伙伴希望我能写一些关于面试的知识,出一些相对来说有一点技术深度的面试知识点。经过几天的思考,我决定暂时放下【字节码编程】的更新,先更新一些面试中经常会被问及的一些知识点,以便能够帮助小伙伴们系统的梳理面试中需要掌握的知识技能。主要的方式是以面试的角度,深度聊聊面试中经常被问及的各项知识点。对于工作3年左右的Java程序员来说,在面试大厂的过....

面试阿里,这篇JVM垃圾回收算法就够了(下)
4 GC算法知道了如何判定:一个对象是无效对象一个类是无用类一个常量是废弃常量也就知道了垃圾收集器会清除哪些数据,那么它们是如何清除这些数据的呢?4.1 标记-清除算法(Mark-Sweep)最基础的收集算法,因为后续算法也都是基于该思路,对其不足之处进行优化而得。首先判断需要清除哪些数据,并给它们做上标记然后清除被标记的数据缺陷标记和清除过程效率都不高,且标记清除之后存在大量内存碎片,降低了空....

面试阿里,这篇JVM垃圾回收算法就够了(上)
程序计数器、虚拟机栈、本地方法栈都是线程私有的,会随着线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出有条不紊的执行着出栈和入栈操作.每个栈帧中的本地变量表都是在类被加载的时候就确定的,每一个栈帧中分配多少内存基本上是在类结构确定时就已知了,因此这几块区域内存分配和回收都具备确定性,就不需要过多考虑回收问题了.然而,Java堆和方法区中的内存清理工作就没那么容易了.堆和方法区所有线程共享,并....

五分钟学Java:如何学习Java面试必考的JVM虚拟机
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 本文思维导图 为什么要学习JVM虚拟机 最近的你有没有参加Java面试呢?你有没有发现,Java面试中总是爱考一类问题,那就是JVM虚拟机,为什么面试官这么爱考察JVM的问题呢,这是因为,所有的Java程序本质上都是运行在JVM之上的,没有JVM虚拟机,也就没有Java语言的执行环境,只有掌握了JVM虚拟机的相关知识,你才能说你.....

Java虚拟机堆和栈详细解析,以后面试再也不怕问jvm了!
堆 Java堆是和Java应用程序关系最密切的内存空间,几乎所有的对象都放在其中,并且Java堆完全是自动化管理,通过垃圾收集机制,垃圾对象会自动清理,不需自己去释放。根据垃圾回收机制的不同,Java堆有可能拥有不同的结构,最为常见的就是将整个Java堆分为新生代(Young Gen)和老年代(Tenured Gen)。其中新生代存放新生的对象或者年龄不大的对象,老年代则存放老年对象。新生代分为....
面试必问:JVM类加载机制详细解析
前言 在Java面试中,简历上有写JVM(Java虚拟机)相关的东西,JVM的类加载机制基本是面试必问的知识点。 类的加载和卸载 JVM是虚拟机的一种,它的指令集语言是字节码,字节码构成的文件是class文件。平常我们写的Java文件,需要编译为class文件才能交给JVM运行。可以这么说:C语言代码——>二进制文件——>计算机硬件,就相当于Java代码——>字节码文件——&am...
Java面试之Jvm内存泄漏
今天我们讲解一下Jvm内存泄漏 内存泄漏和内存溢出的关系 内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。 从定义上可以看出内存泄露是内存溢出的一种诱因,但是不是唯一因素。 ....
这道面试必问的JVM面试题70%的Java程序员会做错
前言聊聊JVM,一个熟悉又陌生的名词,从认识Java的第一天起,我们就会听到这个名字,在参加工作的前一两年,面试的时候还会经常被问到JDK,JRE,JVM这三者的区别。JVM可以说和我们是老朋友了,但是在工作中的应用场景也许不如那些框架,但是在关键时候还是得靠它去搞定问题,俗话说得好,知己知彼,方能百战不殆,JVM作为前往高级工程师的一道坎,从这篇文章开始,我们会去逐步的分析,讲解,攻克这座大山....
拜托,面试别再问我JVM了!!!
搞了N年Java,不少朋友困惑:JavaWeb开发不成问题,DAO和MyBatis也用得很熟,但总感觉到了瓶颈,对JVM也深入不下去,到底该怎么办? 画外音:兄弟姐妹们有没有这样的感触?工具用得很熟,但底层却很模糊。 学习JVM,对理解Java有很大帮助。对于Java开发者来说,如果没有搞透GC策略,没有搞透JVM调优,谁敢说自己是Java专家? 画外音:面试时,基本也都会考核JVM相关的问题,....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
面试更多jvm相关
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注