jvm
文章平均质量分 92
JJge97
日常学习
展开
-
jvm面试题集锦
运行时数据区主要是应用程序在运行过程中的内存部分,其中主要包括了线程不共享的,随着线程的创建而创建,随着线程的销毁而销毁的程序计数器、本地方法栈、java虚拟机栈,线程共享的堆、方法区,总共5部分。原创 2024-05-21 15:10:28 · 386 阅读 · 0 评论 -
05.垃圾回收机制
程序计数器:线程不共享,随着线程的创建而创建,随着线程的回收而回收。java虚拟机栈:线程不共享,随着线程的创建而创建,随着线程的回收而回收。本地方法栈:线程不共享,随着线程的创建而创建,随着线程的回收而回收。方法区:一般不需要回收,在一些特定的技术中 通过回收类加载器的方式去回收堆:进行垃圾回收的主要内存部分,由垃圾回收器进行回收。原创 2024-05-20 14:03:01 · 877 阅读 · 0 评论 -
04.运行时数据区
jvm运行时数据区原创 2024-05-17 13:50:28 · 613 阅读 · 0 评论 -
03.类加载器
双亲委派机制指的是:当一个类加载器接收到加载类的任务时,会自底向上查找是否加载过,在由顶向下进行加载;向上查找如果已经加载过,就直接返回Class对象,加载过程结束。这样就避免了一个类的重复加载如果所有的父类加载器都无法加载该类,则由当前类加载器自己尝试加载。所以看上去是自顶向下尝试加载。向下委派的优点:加载优先级自底向上查找,自顶向下加载当一个类加载器去加载某一个类的时候,会自底向上查找是否加载过,如果加载过就直接返回,如果一直到最顶层的加载器都没有加载,在由顶向下进行加载。原创 2024-05-16 21:18:59 · 988 阅读 · 0 评论 -
02.基础篇:类的生命周期
类的生命周期主要被分为5个阶段:加载-》连接-》初始化-》使用-》卸载也会被人称为7个阶段,即:加载-》验证-》准备-》解析-》初始化-》使用-》卸载在此过程中,类的初始化可以人为的进行干预,所以此阶段最为重要静态变量的定义使用final 关键字,这类变量会在准备阶段直接进行初始化(除非要执行方法)。直接访问父类的静态变量,不会触发子类的初始化。子类的初始化执行之前会先执行父类的初始化。原创 2024-05-16 16:38:55 · 672 阅读 · 0 评论 -
01.基础篇:初始jvm
java Virtual Machine 中文译名:java虚拟机JVM本质上是一个运行在计算机上的程序,他的职责是运行java字节码文件主要是 .java文件 通过 javac命令编译为 .class(字节码文件)文件 进而通过java命令 运行代码。原创 2024-05-16 16:23:59 · 975 阅读 · 0 评论