JVM
文章平均质量分 84
JinziH Never Give Up
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
聊聊Java的垃圾回收机制
垃圾回收机制是JVM中非常重要的知识点,也是面试的高频问题。这篇文章就来简单的探讨一下有关JAVA中的垃圾回收的问题,包括堆的分区、垃圾回收算法等。前面提到了堆分了新生代和老年代,新生代又分为eden和survivor区,survivor区又分为from和to区。垃圾回收主要在堆中进行,介绍完堆的分区之后,就可以开始进入今天的主题了。以往我们编写程序时候,经常会创建很多对象,但我们从未对这些对象进行回收,那么是谁帮我们完成了对象的回收呢?答案:JVM帮我们做了(自动回收垃圾)垃圾是什么:只要对象不原创 2022-06-27 10:52:20 · 314 阅读 · 1 评论 -
一篇文章理解双亲委派机制
文章目录前言一、类加载器二、双亲委派机制总结前言在java从编译到执行的过程文章中提到过类加载器和双亲委派机制的概念,但未进行详解。本章主要介绍了类加载器的分类以及双亲委派机制的含义以及优点。一、类加载器类加载器:将类的信息加载到内存中,充当一个快递员角色。装载规则:JDK中的核心类一般由启动类加载器(Bootstrploader)装载JDK中内部实现的扩展类一般由扩展加载器(ExtClassLoader )实现装载自己写的程序中的类则由应用程序加载器(AppClassLoader )原创 2022-05-30 20:11:49 · 439 阅读 · 0 评论 -
还不明白Java从编译到执行的过程?看这一篇
文章目录前言一、跨平台二、编译三、加载四、解释五、执行总结前言之前我们都只是编写运行java程序,很少了解java程序从编译到执行到底经历了什么。从编译到执行大致可以分为四个阶段:编译->加载->解释->执行,本文介绍了这几个阶段主要发生的事情以及作用。一、跨平台Java程序是由JAVA虚拟机负责解释执行的,而非操作系统.实现java程序的跨平台运行,运行相同的java程序只需要安装不同版本的java虚拟机即可.不同的操作系统使用不同版本的java虚拟机.这种方式使得jav原创 2022-05-28 21:29:54 · 1741 阅读 · 0 评论 -
你不得不知道的JVM知识-垃圾回收(一)
文章目录前言一、自动内存管理1.1 不回收垃圾会怎么样?1.2 自动内存管理的优点1.3自动内存管理的担忧二、应该关心哪些区域的回收?三、 如何确定垃圾?3.1垃圾标记阶段3.2引用计数算法3.3可达性分析算法总结前言java提供了自动的垃圾回收机制,使程序员不用过多地操作内心管理问题。自动化的内存分配和来及回收方式已经成为 了现代开发语言必备的标准。一、自动内存管理1.1 不回收垃圾会怎么样?1.内存迟早都会被消耗完,就好像不停地生产生活垃圾 而从来不打扫一样2.垃圾回收以便 JVM 将整原创 2022-02-19 20:38:25 · 387 阅读 · 0 评论 -
你不得不知道的JVM知识-堆的分区
文章目录前言一、堆的分区二、一个对象怎么从新生代变成老年代总结前言一个 JVM 实例只存在一个堆内存,堆也是 Java 内存管理的核心区域。《Java 虚拟机规范》中对 Java 堆的描述是:所有的对象实例都应当在运行时分配在堆上,方法结束后,堆中的对象不会马上被移除,仅仅在垃圾收集的时候才会被移除。一、堆的分区JAVA8 及之后堆内存分为:新生区(新生代)+老年区(老年代)新生区分为 Eden(伊甸园)区和 Survivor(幸存者)区为什么分区(代)?1.将对象根据存活概率进行分类原创 2022-02-19 20:20:08 · 3109 阅读 · 0 评论 -
你不得不知道的JVM知识-JVM内存结构
文章目录前言一、JVM 内存结构二、程序计数器三、虚拟机栈和本地方法栈3.1虚拟机栈3.2本地方法栈四、堆五、方法区总结前言JVM内存结构(也叫内存区域)是JVM中非常重要的部分。JVM内存结构指的是运行时数据区,分为五个部分:方法区、程序计数器、本地方法栈、堆、虚拟机栈。一、JVM 内存结构线程私有区域:程序计数器 虚拟机栈 本地方法栈线程共享区域:堆 方法区线程私有区域的生命周期与线程相同,随线程的启动而创建,随线程的结束而销毁。线程共享区域随虚拟机的启动而创建,随虚拟机的关闭原创 2022-02-19 19:54:33 · 840 阅读 · 0 评论