JVM
文章平均质量分 96
TimeFriends
这里没有天赋异禀,也没有天资聪颖,只有每天的陪伴。万物瞬息万变,但唯一不变的只有变化。抓住变化的根本,以时间为伍,以坚持为伴,做时间的朋友。
展开
-
JVM内存模型
在本文中,我将重点关注JVM 规范中描述的**运行时数据区。**这些区域旨在存储程序或 JVM 本身使用的数据。我将首先介绍 JVM 的概述,然后介绍字节码是什么,最后介绍不同的数据区域。内容[显示]JVM 是底层操作系统的抽象。它确保无论 JVM 在什么硬件或操作系统上运行,相同的代码都将以相同的行为运行。例如:注意:有时,JVM 实现的行为与另一个不同,但通常是相同的。此图给出了 JVM 的概述:注意:如果经常使用,许多 JVM 实现的执行引擎会将字节码编译为本机代码,而不是总是解释字节码。它被称为即时原创 2022-07-14 11:34:17 · 1267 阅读 · 63 评论 -
JVM内存分配,深入理解堆 栈 方法区
基本概念:每运行一个java程序会产生一个java进程,每个java进程可能包含一个或者多个线程,每一个Java进程对应唯一一个JVM实例,每一个JVM实例唯一对应一个堆,每一个线程有一个自己私有的栈。进程所创建的所有类的实例(也就是对象)或数组(指的是数组的本身,不是引用)都放在堆中,并由该进程所有的线程共享。Java中分配堆内存是自动初始化的,即为一个对象分配内存的时候,会初始化这个对象中变...原创 2019-07-14 23:59:29 · 1181 阅读 · 0 评论 -
深入理解Java类加载器,类加载器的执行流程
jvm类加载器分类JVM预定义的三种类型类加载器,当一个 JVM启动的时候,Java缺省开始使用如下三种类型类装入器:启动(Bootstrap)类加载器:引导类装入器是用本地代码实现的类装入器,它负责将 <Java_Runtime_Home>/lib下面的核心类库或-Xbootclasspath选项指定的jar包加载到内存中。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直...原创 2019-07-15 00:38:15 · 1385 阅读 · 0 评论 -
内存溢出的原因以及解决方案
内存溢出内存溢出是什么1.系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出2.意思就是你用资源的时候为他开辟了一段空间,当你用完时忘记释放资源了,这时内存还被占用着,一次没关系,但是内存泄漏次数多了就会导致内存溢出内存溢出的原因1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM...原创 2019-07-27 07:52:48 · 2179 阅读 · 0 评论