JVM
  • 2024-07-02JVM8为什么要增加元空间 ?
    持久代持久代的大小为什么移除持久代?元空间元空间的特点:持久代持久代中包含了虚拟机中所有可通过反射获取到的数据,比如Class和Method对象。不同的Java虚拟机之间可能会进行类共享,因此持久代又分为只读区和读写区。JVM用于描述应用程序中用到的类和方法的元数据也存
  • 2024-07-02Java JVM——11. 执行引擎
    1.概述执行引擎属于JVM的下层,里面包括:解释器、即时编译器、垃圾回收器。执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而
  • 2024-07-02OOM 常见原因及解决方案
    当JVM内存严重不足时,就会抛出java.lang.OutOfMemoryError错误。本文总结了常见的OOM原因及其解决方法,如下图所示。如有遗漏或错误,欢迎补充指正。1、Javaheapspace当堆内存(HeapSpace)没有足够空间存放新创建的对象时,就会抛出 java.lang.OutOfMemoryError:Javaheapspac
  • 2024-07-01谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?(jvm)
    Java虚拟机(JVM)在运行时将内存划分为多个区域,以便有效管理和分配内存资源。这些内存区域包括堆(Heap)、方法区(MethodArea)、程序计数器(ProgramCounterRegister)、虚拟机栈(JVMStack)和本地方法栈(NativeMethodStack)。每个区域的作用和管理方式有所不同,某些区域在特定情况下可能
  • 2024-07-01千万别忽视基础!十张图带你一步步理解Java内存结构!
    作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发。但是一旦发生内存泄漏或者内存溢出,如果对Java内存结构不清楚,那将会是一件非常麻烦的事情!本文笔者将为大家详解Java内存结构。面试tips聊聊
  • 2024-06-30Java_JVM:垃圾收集算法
    GC最基础的算法有三种:标记-清除算法复制算法标记-压缩算法我们常用的垃圾回收器一般都采用分代收集算法。“标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。“复制”
  • 2024-06-22Java高手的30k之路|面试宝典|精通JVM(二)
    JVM基本结构类加载子系统:负责将.class文件加载到内存中,并进行验证、准备、解析和初始化。运行时数据区:包括堆(Heap)、方法区(MethodArea)、Java栈(JavaStack)、本地方法栈(NativeMethodStack)和程序计数器(ProgramCounterRegister)。执行引擎:包括解释器(Interpreter)、即时编译器
  • 2024-06-22【JVM】Tomcat 的类加载机制
    Tomcat是一个开源的JavaServlet容器,用于运行JavaWeb应用程序。它的类加载机制相对复杂,因为它需要在支持多种应用的同时保持隔离性和灵活性。以下是Tomcat类加载机制的详细描述。Tomcat类加载器的层次结构Tomcat采用了一种层次化的类加载器结构,以便在不同的应用
  • 2024-06-22JVM 垃圾回收
    文章目录1.如何判断对象可回收引用计数法可达性分析算法2.五种引用强软弱虚终虚引用终引用软引用案例软引用_引用队列弱引用对象3.回收算法标记清除算法标记整理复制回收4.分代垃圾回收堆内存大致分为两块:分代垃圾回收怎么工作:GC相关参数分析5.垃圾回收器相关概念:
  • 2024-06-21JVM类加载器与双亲委派机制
    通过上一篇Java的类加载机制相信大家已经搞明白了整个类加载从触发时机,接着我们就来看下类加载器,因为类加载机制是有加载器实现的。 类加载器的分类启动类加载器BootstrapClassLoader是Java虚拟机(JVM)的一部分,它负责加载Java核心库,也就是JavaRuntimeEnvironment
  • 2024-06-21JDK19特性
    JDK19特性一、JAVA19概述  JDK192022年9月20日正式发布以供生产使用,非长期支持版本。不过,JDK19中有一些比较重要的新特性值得关注。JDK19只有7个新特性:JEP405:RecordPatterns(记录模式)[1](预览)JEP422:Linux/RISC-VPort[2]JEP424:ForeignFunc
  • 2024-06-21JVM常见问题
    文章目录1JVM组成1.1JVM由那些部分组成,运行流程是什么?1.2什么是程序计数器?1.3你能给我详细的介绍Java堆吗?元空间(MetaSpace)介绍1.4什么是虚拟机栈1.5堆和栈的区别1.6能不能解释一下方法区?1.5.1概述1.5.2常量池1.5.3运行时常量池1.7你听过直接内存吗?1.8
  • 2024-06-21JVM内存区域
    目录一、程序计数器(线程私有)二、虚拟机栈(线程私有)三、堆(Heap-线程共享)-运行时数据区四、方法区/永久代(线程共享)五、本地方法区(线程私有)JVM内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA堆、方法区】、直接内存。
  • 2024-06-20JVM:不同垃圾收集算法和垃圾收集器 优缺点总结
     如何判断对象是否为垃圾:引用计数法:对象是否被引用,无法解决对象循环引用导致的问题可达性分析:也叫根搜索法 垃圾收集算法1、标记-清除(Mark-Sweep)示意图深蓝色:有引用深灰色:没引用白色:待分配回收前:对整个引用空间不连续的堆对象遍历回收后:引用的对象空间不变,清除:对全
  • 2024-06-20Jmeter 界面字体大小调整
    1.首先在bin目录下找到【jmeter.properties】文件,用记事本或Notepad++等文本工具打开配置文件,搜索【jsyntaxtextarea.font.size】找到对应行,去除注释符号#,修改数字大小。如302.bin目录下找到【jmeter.bat】文件,用记事本或Notepad++等文本工具打开配置文件增加如下代码,保持后重启
  • 2024-06-19# 猫头虎分享已解决Bug || **Out of Memory Error**: `java.lang.OutOfMemoryError: Java heap space`
  • 2024-06-19浅学JVM
    一、基本概念目录一、基本概念二、JVM运行时内存1、新生代1.1  Eden区1.2.ServivorFrom1.3.ServivorTo1.4MinorGC的过程(复制->清空->互换)1.4.1:eden、servicorFrom复制到ServicorTo,年龄+11.4.2:清空eden、servicorFrom1.4.3:ServicorTo和ServicorFrom
  • 2024-06-18jvm必知必会-类的生命周期图文详解
    类的生命周期描述了一个从加载、使用到卸载的过程;而其中的连接部分又分为一下三个阶段:验证准备解析6.1加载阶段Loading阶段第一步是类加载器会根据类全限定名通过不同的渠道以二进制流的方式获取字节码信息,程序员可以使用Java代码扩展不同的渠道。比如通过
  • 2024-06-18【JVM】详解双亲委派机制
    双亲委派机制是Java类加载器的一种工作模式,确保类加载的一致性和安全性。以下是详细的定义、优缺点以及如何破坏双亲委派机制的描述。双亲委派机制的定义双亲委派机制(ParentDelegationModel)是一种类加载器的工作模式。在这种模式下,类加载器在加载类时,会先将加载请求委派
  • 2024-06-18【JVM】类的⽣命周期和类加载的过程
    在Java中,类的生命周期和类加载过程是Java虚拟机(JVM)管理的核心部分。类的生命周期包括从类被加载到内存直到类被卸载的整个过程。类加载过程可以细分为多个阶段:加载、链接(包括验证、准备、解析)、初始化和使用。以下是详细的描述:类的生命周期加载(Loading)定义:将类的字节码
  • 2024-06-17大数据开发语言Scala入门
    引言随着大数据时代的到来,处理海量数据成为了技术领域的一大挑战。Scala作为一种结合了面向对象编程和函数式编程特性的语言,因其高效、灵活和与Java的兼容性,在大数据处理领域中得到了广泛的应用。本文将带你走进Scala的世界,从基础概念到实际应用,一步步揭开Scala的神秘面纱。
  • 2024-06-17FinalReference 如何使 GC 过程变得拖拖拉拉
    本文基于OpenJDK17进行讨论,垃圾回收器为ZGC。提示:为了方便大家索引,特将在上篇文章《以ZGC为例,谈一谈JVM是如何实现Reference语义的》中讨论的众多主题独立出来。FinalReference对于我们来说是一种比较陌生的Reference类型,因为我们好像在各大中间件以及JDK中
  • 2024-06-17JAVA面试中,面试官最爱问的问题。
    什么是JVM,JRE和JDK?JVM(JavaVirtualMachine)、JRE(JavaRuntimeEnvironment)和JDK(JavaDevelopmentKit)是Java开发和运行环境中的三个重要组件。它们分别扮演不同的角色,共同支持Java程序的开发和运行。###JVM(JavaVirtualMachine)JVM是Java虚拟机,它是Java程序的运行时环境。J
  • 2024-06-17JMETER 5.+ 内存不足或者修改堆内存方法
    一切答案其实官方的文档里:https://jmeter.apache.org/usermanual/get-started.html在bin目录下新建setenv.sh或者bat文件配置jvm参数,它的优先级高于jmeter脚本,覆盖该脚本参数。 Linux:可能需要设置一些环境变量来配置JMeter使用的JVM。这些变量可以直接在启动jmeter脚本的
  • 2024-06-17上周面了百度,问的很细~
    上周刚刚面了百度,问的问题不算很难,但却很细,我把这些面试题和答案都整理出来了,一起来看吧。重点介绍一个你觉得有意义的项目?回答技巧和思路:介绍的项目业务难度和技术难点要高一些,最好是微服务项目。简明扼要的讲清楚项目核心板块的业务场景即可,切忌不要讲的太细和太久,这只是面