本笔记为阅读周志明老师的《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》所整理的重点知识和一些自己整理的学习笔记,方便加深记忆与理解。自动内存管理1. Java内存区域与内存溢出异常c++层序开发人员需要对每一个对象负责,即他们需要担负每个对象生命从开始到终结的维护责任。Java程序员,在虚拟机自动内存管理机制下,不需要对每个对象进行delete/free,不容易出现内存泄漏或者内存
深入理解Java虚拟机——Hotpot虚拟机对象 Java对象的创建 当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 在类加载检查通过后,
转载 2021-05-14 09:30:00
295阅读
2评论
引言通过上篇博客,我们已经了解了Java虚拟机的内存区域的划分及每个区域存储的内容,那么,本篇博客将以HotSpot虚拟机和内存区域Java堆为例,继续深入了解内部是如何创建、布局和访问的。探秘之旅1. 对象的创建Java是一门面向对象的编程语言,Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,仅仅是一个new关键字而已,而在虚拟机中,又是怎样一个过程呢? 1) 检查,如果没有被加
转载 2023-07-12 14:15:27
83阅读
深入理解Java虚拟机读书笔记(四) 文章目录深入理解Java虚拟机读书笔记(四)加载验证准备解析初始化类加载器方法调用 类加载流程 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化 (Initialization)、使用(Using)和卸载(
1.jvm基础知识  1.什么是 jvm ?  JVM全称Java Virtual Machine,翻译过来也就是Java虚拟机。 JVM的实际功能也是和翻译一样,类似于一台虚拟操作系统,是通过在实际的计算机上模拟各种计算功能来实现的。JVM有着自己完善的硬件架构,例如处理器、堆栈、寄存器等,还具有相应的指令系统。     JVM是JRE(Java Runtime Environment
转载 2023-07-12 15:18:42
112阅读
Java虚拟机运行原理 一、虚拟机栈(线程私有)        概念:虚拟机栈简称栈,存放着基本类型的变量数据和对象的引用,但对象本身不存在栈中,而存放在堆中或者常量池中。        原理:①栈的分配:每个主线程分配一个栈;   &n
转载 2023-09-13 21:54:14
36阅读
对于一门语言实现一种通用执行环境,可以叫做虚拟机(系统与进程的通用平台),也可以叫做解释器。需要实现以下几个部分:1语言内置对象在虚拟机中的实现,一般有字符串,列表,hash,object对象等,字符串一般采用字符串池来实现。2内存管理,包括了内存分配,内存回收,垃圾回收等内容3独立于os平台的中间码,java字节码,python字节码等4虚拟机的执行字节码的部分:模拟cpu在执行语言层的“汇编”
原创 2018-10-02 19:14:32
2012阅读
1点赞
1评论
虚拟机-内存区域划分对象是怎么被创建出来的内存资源被耗尽-OOM揭秘对象消亡虚拟机都做了什么?
转载 2023-05-26 03:06:41
79阅读
Java是什么?1、Java不仅仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系。这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用与嵌入式系统、移动终端、企业服务器、大型等场合。 2、Java能获得如此广泛的认可,除了它拥有一门结构严谨、面向对象的编程语言之外,还有许多不可忽视的优点,它摆脱了硬件平台的束缚,实现了“一次编写,到处运行。”的理想;它提供了一个
一、为什么要学习Java虚拟机? 这里我们使用举例来说明为什么要学习Java虚拟机,其实这个问题就和为什么要学习数据结构和算法是一个道理,工欲善其事,必先利其器。曾经的我经常害怕处理内存溢出的问题,因为不知道他为什么会出现这个问题,当我在看了这本书以后明白了垃圾回收算法,以及JVM是如何帮助我们处理GC的,这个时候当出现这个问题的时候我就明白需要查找GC Root,或者查看GC日志,去查找这个问题
原创 2021-07-29 11:14:00
170阅读
一、Java技术体系 1. 具体业务逻辑 Java程序设计语言。 Java类库API:提供各开发领域接口支持。 来自商业机构和开源社区的第三方Java开发框架(Spring、MyBatis等)。 2. 虚拟机 各种硬件平台上的Java虚拟机实现。 Class文件格式。 保障物理硬件平台的兼容性,管理内存等资源。 支撑Java程序运行。隐藏了复杂的底层技术以及机器与操作系统的差异性。运行程序的物理
原创 8月前
72阅读
1、Java虚拟机原理所谓虚拟机,就是一台虚拟的机器。他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机,大名鼎鼎的Visual Box、Vmare就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java自己码指令。无论
原创 2022-08-31 22:22:11
117阅读
我们都知道,java是跨平台的,能够成为时代最火热的编程语言之一,它的跨平台机制功不可没,它的跨平台机制主要就是靠的java虚拟机,这是它能够跨平台的核心功能,那,小伙伴们知道java虚拟机的工作原理是什么吗?Java虚拟机它是如何运行的呢?下面就让小编为你们说道说到。一、java虚拟机工作原理在java虚拟机中,程序员编译之后的class文件其实是作为Java虚拟机中的质料被输入到Java虚拟机
作为一名Java程序员,Java虚拟机是我们不必学会就可以搬砖工作的一种技能点,但是小奇为什么还要讲一下呢?难道就是为了浪
原创 精选 1月前
124阅读
# 对Java虚拟机理解 ## 引言 Java虚拟机Java Virtual Machine,简称JVM)是Java程序运行的环境。它负责将Java字节码翻译成机器码,以便在各种不同的操作系统和硬件平台上运行。 对于刚入行的开发者来说,理解Java虚拟机的工作原理和内部机制是非常重要的,它可以帮助我们编写更高效、更可靠的Java代码。本文将介绍关于Java虚拟机的基本概念和步骤,并提供相
原创 2023-08-05 10:04:13
26阅读
第四章: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
159阅读
2评论
看完《深入理解Java虚拟机》一书,做了一些简单总结,其中复杂的部分自己也没有搞懂,所以就不发表任何总结!1、概念1.1、首先说何为Java虚拟机Java虚拟机从字面意思直接理解就是运行Java虚拟机器,既然是虚拟的,那么就是从物理层面来说是不存在于实际的一个机器,它不像电脑这种机器,是实际存在的,而是人们想象的一个机器,因为它能像机器一样做机器可以做的事情。1.2、为什么要使用Java虚拟机
转载 2023-08-19 23:57:44
64阅读
一、对象的创建过程 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那就先执行相应的类加载过程。 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便
原创 2021-10-25 10:36:38
428阅读
什么是Java虚拟机虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。这种解释应该算是正确的,但是只描述了虚拟机的外部行为和功能,并没有针对内
如何配置多个操作系统(超级详细 的 Vmware下载 与 安装过程)一、 引言在项目开发中经常需要,进行项目部署,有时不想买多台服务器,增加不必要的预算,那有什么方案解决这类型的问题呢?这个是一个好问题,那就行了我们就来介绍其中一种方法,Vmware虚拟机,我们可以在上面进行不同系统部署,实现我们要一多系统的想法。IDEA如何配置 Maven(详细版)二、下载 Vmware虚拟机1、进入官网下载
  • 1
  • 2
  • 3
  • 4
  • 5