`

java虚拟机——《深入理解Java虚拟机》读书笔记

 
阅读更多

JDK由三部分组成:Java程序设计语言、Java虚拟机、Java API类库

Java虚拟机也不不断发展,中间有很多版本,比较出名的

Sun Classic:最早的JVM,JDK1.4后退出历史舞台

Sun HotSpot:从JDK1.2时加入,JDK1.3成为默认虚拟机,之后一直是JDK的默认JVM

BEA JRockit:BEA和Sun都被Oracle收购了,所以Sun HotSpot、BEA JRockit都成了Oracle了,OraclEe打算2合1

IBM J9 VM

 

Java内存区域

1、程序计数器

是一块较小的内存区域,可以看作当前线程正在执行的字节码的行号指示器。

每条线程都有自己的程序计数器,这类内存被称为“线程私有”内存

如果线程正在执行一个Java方法,计数器记录正在执行的字节码指令位置。但如果执行的是一个Native方法,则计数器为空(Undefined),因此程序计数器是Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。

 

 

 

 

分享到:
评论

相关推荐

    理解虚拟机--有笔记版

    除了上述提到的基础知识点外,《深入理解Java虚拟机——JVM高级特性与最佳实践(第2版)》这本书籍还深入探讨了JVM的性能调优、并发编程、以及各种高级特性的具体应用。比如,对于性能调优,书中讲解了如何根据不同的...

    Java学习笔记——良葛格

    Java以其“一次编写,到处运行”的特性赢得了全球程序员的喜爱,它的跨平台能力得益于Java虚拟机(JVM)。 接着,笔记会深入讲解Java的语法基础,如变量、数据类型、运算符、流程控制语句(如if、for、while)以及...

    个人学习的java笔记——思维导图

    11. **JVM内存管理**:了解Java虚拟机(JVM)的工作原理,包括堆内存、栈内存、方法区等,以及垃圾回收机制,对于优化程序性能至关重要。 12. **设计模式**:设计模式是解决常见软件设计问题的经验总结,如单例模式...

    深入java虚拟机读后笔记

    Java语言的设计者们为了使Java程序能够跨平台运行,引入了一个概念——Java虚拟机(JVM)。简单来说,Java源代码在编译成`.class`文件后,并不是直接被操作系统执行,而是通过JVM来解释执行这些`.class`文件中的字节...

    java虚拟机笔记及代码.zip

    Java虚拟机(JVM)是Java程序运行的核心,它是一个抽象的计算机系统,负责执行Java字节码。在深入理解JVM之前,我们先要明白什么是字节码:Java源代码经过编译后生成的中间表示,即.class文件,里面包含的就是字节码...

    java学习——java中的反射学习笔记.rar_java 反射

    1. 类加载:当Java虚拟机(JVM)加载一个类时,它会创建该类的Class对象。这个对象包含了关于类的所有信息,包括方法、字段、构造器等。例如,`Class<?> clazz = Class.forName("com.example.MyClass");` 2. 获取...

    Java JDK 6学习笔记——ppt简体版.rar

    这份"Java JDK 6学习笔记——ppt简体版"提供了关于这个关键版本的详细教程,适合初学者和有一定经验的开发者来深入理解Java编程。 首先,我们要了解Java JDK是什么。Java Development Kit,简称JDK,是Oracle公司...

    java虚拟机源码-openjdk7:openjdk7源码(深入理解java虚拟机,读书笔记)

    本资源是关于OpenJDK7源码的分析和学习资料,旨在帮助开发者深入理解Java虚拟机的工作原理。 首先,我们来了解一下Java虚拟机的主要组件和功能: 1. **类加载器**:负责加载Java字节码文件(.class),将其转换为...

    Java JDK 6学习笔记——ppt简体版

    首先,Java JDK(Java Development Kit)是开发和运行Java应用程序的基础,其中包含了Java编译器、Java虚拟机(JVM)、调试工具以及其他必要的开发工具。在Java 6版本中,这个版本引入了许多新特性和改进,如更高效...

    java学习笔记1(入门级)(csdn)————程序.pdf

    虽然Java的底层实现部分是基于C++,但Java并不是基于C语言,它有自己的虚拟机——Java虚拟机(JVM)。 面向对象是Java的核心概念,这意味着代码被组织成类和对象,更好地模拟现实世界中的实体和行为。Java的可移植...

    郝斌Java笔记.pdf

    - **跨平台性**:Java 的源代码会被编译成一种中间格式——字节码,这种字节码可以在安装了 Java 虚拟机 (JVM) 的任何平台上运行,从而实现了“一次编写,到处运行”的理念。 - **多线程**:Java 支持多线程编程,...

    编程学习笔记——初级

    Java是一种跨平台的编程语言,它的跨平台特性得益于Java虚拟机(JVM)。Java应用程序在JVM上运行,JVM将Java字节码转换为特定平台的机器指令。Java程序的开发流程包括: - 编写.java源代码文件。 - 使用javac.exe...

    java笔记与java核心内容解读

    这份"java笔记与java核心内容解读"集合了网上广泛讨论的Java知识,旨在帮助初学者和有经验的开发者深入理解Java的关键概念和技术。 Java的核心内容涵盖了许多方面,包括但不限于: 1. **基础语法**:Java的基础...

    达内core_java学习笔记

    Java虚拟机(JVM)是Java程序的运行环境,理解JVM的工作原理和内存模型对于优化程序性能很有帮助。 以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java...

    java学习笔记JDK6课件之一

    Java的这种特性得益于其虚拟机——Java虚拟机(JVM),它使得Java代码能够在任何安装了JVM的设备上执行。 Java有三个主要的应用平台:Java Platform, Standard Edition (Java SE),Java Platform, Enterprise ...

Global site tag (gtag.js) - Google Analytics