# 深入理解Java虚拟机内存泄露 ## 流程 ```mermaid flowchart TD A(开始) B(了解内存泄露原理) C(分析代码) D(修复内存泄露) E(测试修复效果) F(结束) A --> B B --> C C --> D D --> E E --> F ``` ## 了解内存
原创 2024-04-22 05:41:45
35阅读
一、虚拟机 同样的java代码在不同平台生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集是不同的。同一个java代码在windows上生成的机器码可能是0101.......,在linux上生成的可能是1100......,那么这是怎么实现的呢?不知道同学们还记不记得,在下载jdk的时候,我们在oracle官网,基于不同的操作系统或者位数版本要下载不同的jdk版本,也就是说针对不同的
1.jvm基础知识  1.什么是 jvm ?  JVM全称Java Virtual Machine,翻译过来也就是Java虚拟机。 JVM的实际功能也是和翻译一样,类似于一台虚拟操作系统,是通过在实际的计算机上模拟各种计算功能来实现的。JVM有着自己完善的硬件架构,例如处理器、堆栈、寄存器等,还具有相应的指令系统。     JVM是JRE(Java Runtime Environment
转载 2023-07-12 15:18:42
119阅读
Java内存区域包含程序计数器、虚拟机栈、本地方法栈、Java堆、方法区五个区域。运行时数据区分类 Java内存区域一、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,可以看作是当前线程所执行字节码的指示器。字节码解释器通过改变这个计数器的值来选取下一条要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等功能都依赖于这个计数器。由于Ja
原创 2024-07-01 14:47:51
67阅读
作为一名Java程序员,Java虚拟机是我们不必学会就可以搬砖工作的一种技能点,但是小奇为什么还要讲一下呢?难道就是为了浪
原创 精选 2024-08-01 17:20:45
156阅读
第四章:java虚拟机命令行工具 1:jps命令行进程状况工具 jps [options] [hostid] C:\Users\lenovo>jps -l13824 sun.tools.jps.Jps14224 org.jetbrains.jps.cmdline.Launcher8528 org.j
转载 2018-06-03 22:32:00
174阅读
2评论
一、为什么要学习Java虚拟机? 这里我们使用举例来说明为什么要学习Java虚拟机,其实这个问题就和为什么要学习数据结构和算法是一个道理,工欲善其事,必先利其器。曾经的我经常害怕处理内存溢出的问题,因为不知道他为什么会出现这个问题,当我在看了这本书以后明白了垃圾回收算法,以及JVM是如何帮助我们处理GC的,这个时候当出现这个问题的时候我就明白需要查找GC Root,或者查看GC日志,去查找这个问题
原创 2021-07-29 11:14:00
191阅读
1、Java虚拟机原理所谓虚拟机,就是一台虚拟的机器。他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、Vmare就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java自己码指令。无论
原创 2022-08-31 22:22:11
132阅读
一、Java技术体系 1. 具体业务逻辑 Java程序设计语言。 Java类库API:提供各开发领域接口支持。 来自商业机构和开源社区的第三方Java开发框架(Spring、MyBatis等)。 2. 虚拟机 各种硬件平台上的Java虚拟机实现。 Class文件格式。 保障物理硬件平台的兼容性,管理内存等资源。 支撑Java程序运行。隐藏了复杂的底层技术以及机器与操作系统的差异性。运行程序的物理
原创 2023-12-21 09:52:58
82阅读
虚拟机-内存区域划分对象是怎么被创建出来的内存资源被耗尽-OOM揭秘对象消亡虚拟机都做了什么?
转载 2023-05-26 03:06:41
84阅读
本文内容来源于《深入理解Java虚拟机》一书,非常推荐大家去看一下这本书。本系列其他文章:【深入理解Java虚拟机】J
原创 精选 2023-11-09 10:52:36
265阅读
1 概述对于Java程序员来说,在虚拟机自动内存管理机制下,不再需要像C/C++程序开发程序员这样为内一个new 操作去写对应的delete/free操作,不容易出现内存泄漏和内存溢出问题。正是因为Java程序员把内存控制权利交给Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会是一个非常艰巨的任务。2 运行时数据区域Java虚拟机在执行Java
转载 2021-01-17 20:06:32
204阅读
深入理解jvm2022年10月30日10:21:50文章内容来自《深入理解java虚拟机》第二章--java内存区域与内存溢出异常第三章--垃圾收集器与内存分配第七章--虚拟机类加载机制第八章--虚拟机字节码执行引擎第二章--java内存区域与内存溢出异常2.2 运行时数据区就这张图还不值得一个赞嘛?FullGC:收集整个方法区和堆中的垃圾收集,图中画箭头太丑,就省略了2.2.1 线程私有1、程序
jvm运行时内存结构前言jvm运行时内存结构程序计数器虚拟机栈本地方法栈堆方法区 前言因为最近在准备春招实习嘛,就想着认真的阅读一下这本书,周志明老师的这系列书真的是经典了,我是在微信读书app上读的(因为实体书太贵了而且等寄过来就没时间了,说到微信读书app真的不得不夸一下,比起qq阅读,微信读书真是好太多了,页面整洁不说,书也很多,不会给你推荐一堆无脑言情小说,我觉得用来阅读一些专业书或者其
转载 2024-06-29 10:15:56
65阅读
最近开始看周志明著的《深入理解Java虚拟机》一书,此书作为Java虚拟机的经典畅销书,果然是非常优秀的,在学习它的过程中逐渐理解Java运行机理、内存分配与回收等知识,收获颇多。 要学习Java虚拟机,首先要了解其历史与基本构造。Java虚拟机的发展历史不做详述,大家只要知道SunJDK和OpenJDK中所带的是HotSpot虚拟机,我们之后的学习也是基于HotSpot虚拟机就可以了。其他还
3、垃圾收集和内存分配策略程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,内存的分配和回收具有确定性,不需
原创 2017-04-16 17:20:19
151阅读
# 深入理解 Java 虚拟机 HotSpot Java 语言以其跨平台特性和丰富的生态系统受到开发者的广泛欢迎。而这一切的背后,都离不开 Java 虚拟机 (JVM),尤其是 HotSpot 版本。本文将深入探讨 Java 虚拟机 HotSpot 的工作原理,包括内存管理、垃圾回收和性能调优等重要概念,并附上相应的代码示例,以帮助读者更好地理解。 ## Java 虚拟机的基本概念 Java
原创 10月前
102阅读
# 深入理解Java虚拟机 Java虚拟机(JVM)是Java程序执行的环境,负责将Java字节码转化为机器代码并执行。理解JVM的工作原理对于优化Java应用、提高性能是至关重要的。本文将通过具体示例来探讨JVM的基本概念和机制。 ## JVM的架构 JVM的基本结构可以分为几个主要部分: | 组件 | 作用
原创 9月前
24阅读
# 深入理解Java虚拟机 Java是现代编程中最重要的语言之一,其优势之一在于Java虚拟机(JVM)提供了平台无关性。这篇文章将带你深入了解Java虚拟机的工作原理、其架构及其在Java程序执行中的重要性,并辅以相关的代码示例。 ## 什么是Java虚拟机Java虚拟机(JVM)是一个抽象的计算机,它能够执行Java字节码。开发者编写的Java源代码经过编译后生成字节码(`.clas
原创 2024-10-05 04:16:43
20阅读
1.各个文件里存放有不同编译好的class 2. import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; public class MyClassLoader extends C
原创 2022-11-08 10:10:57
105阅读
  • 1
  • 2
  • 3
  • 4
  • 5