`
caizi12
  • 浏览: 177242 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于java虚拟机的疑惑

 
阅读更多
最近又在重新了解java虚拟机,顺便也会给我们项目组分享一下关于jvm的一些基础知识,做成一个培训课题。ppt的大部分内容主要搜集于网上和深入理解java虚拟机这本书,还有个人的理解整理出来的。有一个问题彻底被搞糊涂凌乱了,现写出来希望大家能共同探讨一下,疑问如下:
jvm的运行时数据区有一块内存是方法区(Method area),而在Sun的hotSpot JVM上实际上是用持久代(Perm Gen)去实现了这个方法区,简单说持久代就是这个方法区的一个具体实现。jvm中还有一块内存区域是堆(Heap),在“深入理解java虚拟机”这本书上有一句话这样描述的:
java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫(非堆)Non-Heap,目的应该是与java堆区分开来


对于上面这句话以及hotSpot的实现到底是该怎么理解呢,永久代到底是堆这一块还不是堆的一部分呢。

看网上很多讲jvm内存及垃圾回收时都把永久代归为堆的一部分来讲的,而我通过使用JConsole工具来看sun,jdk1.5内存的区域划,永久代就是属于非堆的一部分(附件中有截图)

,堆空间只包含新生区和年老区,到底那个是正确呢,或者有其它解释,以及不同版本的jvm是什么样的,目前用jdk1.5,jdk1.6应该比较多,大家可以讨论下这两个版本的。
  • 大小: 83.1 KB
分享到:
评论

相关推荐

    1.java中super关键字的应用

    在Java编程语言中,`super`关键字是一个非常重要的概念,它用于引用当前对象的父类。`super`关键字主要用于以下几种情况:调用...如果你在实际使用中遇到问题或对`super`关键字的用法还有疑惑,随时联系我进行讨论。

    21天学通java(英文版).pdf格式

    其设计理念是“一次编写,到处运行”,这得益于Java虚拟机(JVM),它允许Java程序在任何支持Java的平台上运行。Java语言的特点包括: 1. **简单性**:Java简化了C++的一些复杂特性,如指针操作,使得编程更加直观...

    4,JAVA解惑 高清PDF 下载

    除此之外,书中的高级话题如反射、动态代理和Java虚拟机(JVM)的工作原理,也是许多Java开发者关注的重点。理解这些内容可以让你更好地优化代码,提高程序的运行效率,并为进行性能调优打下基础。 《JAVA解惑》...

    最新版的Java-解惑

    7. **JVM原理**:理解Java虚拟机(JVM)的工作原理,包括类加载机制、内存模型(堆、栈、方法区等)和JVM调优,有助于提升程序运行效率。 8. **泛型**:泛型引入了类型参数,提高了代码的类型安全性和重用性。了解...

    JAVA-FAQ.rar_The Java FAQ_java编程

    11. **JVM原理**:了解Java虚拟机的工作原理,如类加载机制、内存模型和字节码执行,有助于优化程序性能。 12. **JDK工具**:如JConsole、JVisualVM等工具的使用,能帮助开发者监控和调试Java应用程序。 这份FAQ还...

    java解惑

    垃圾回收是Java虚拟机(JVM)自动进行内存管理的一个特性,它负责释放不再使用的对象所占用的内存,避免内存泄露。理解何时及如何使用finally块,以及如何合理地创建对象以优化内存使用,都是Java开发者必须掌握的...

    草根JAVA教程

    - 解释型运行机制:代码经过编译后会转换成字节码,由Java虚拟机(JVM)负责解释执行。 #### 三、Java开发环境配置 ##### 3.1 安装JDK - **名称**:Java SE Development Kit(JDK),即Java标准版开发工具包。 - *...

    A11w_java_

    9. **Java虚拟机(JVM)**:Java程序需要在JVM上运行,JVM负责将字节码解释成机器指令,实现了平台无关性。 10. **Java标准版(Java SE)**和**企业版(Java EE)**:Java SE是Java的基础版本,用于开发桌面应用;...

    java解惑(包括pdf和答案)

    8. **JVM原理**:简单介绍Java虚拟机的工作机制,包括内存管理、类加载机制等。 9. **Java标准库**:讲解常用类库的使用,如Math、String、Date等。 10. **实战技巧**:提供编写高效、可维护代码的建议,以及在...

    java学习,考试,面试资料大综合

    它可能涵盖了高级话题,如反射、JNI(Java Native Interface)、JVM(Java虚拟机)工作原理,或者是对一些复杂API的理解,如并发库、IO流和NIO等。 3. **Java2认证考试.pdf**: 这个PDF文件很可能是为了准备Oracle ...

    java入门 环境变量设置

    CLASSPATH环境变量则指示Java虚拟机(JVM)查找.class文件的路径。默认情况下,JVM会搜索当前目录下的类文件,但如果你想引用其他的类库,就需要设置CLASSPATH。通常,我们会把%JAVA_HOME%\lib\dt.jar和%JAVA_HOME%\...

    Java学习从入门到精通

    - `java`:启动Java虚拟机(JVM)并执行类文件。 - `javac`:Java编译器,用于将源代码编译为字节码。 - `jar`:Java归档工具,用于打包和管理类文件。 - `javadoc`:生成API文档的工具,帮助开发者了解类库的...

    Java语言程序设计基础篇课后答案

    它的设计目标是“一次编写,到处运行”,通过Java虚拟机(JVM)实现平台无关性。 2. **基础语法**:Java的基础语法包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、运算符(算术、关系、逻辑、位运算符...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    1.5.4 Java虚拟机(Java Virtual Machine) 17 1.5.5 HelloWorld的整个流程 17 1.6 小结:我们学会了编译和运行一个Java程序! 18 1.7 习题 19 第2章 搭建自己的集成开发环境 20 教学视频:31分钟 2.1 安装...

    java+2+编程21天自学通

    它的设计理念是“一次编写,到处运行”,这得益于Java虚拟机(JVM),使得Java程序可以在多种操作系统上运行。Java的应用领域非常广泛,包括Web开发、移动应用(尤其是Android)、大数据处理、企业级应用以及云计算...

    java解惑(转)

    6. **JVM(Java虚拟机)**:Java程序运行在JVM上,理解JVM的工作原理,包括类加载机制、内存管理(堆、栈、方法区等)、垃圾回收等,有助于优化程序性能和避免内存泄漏。 7. **源码分析**:标题提到的“源码”可能...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    1.5.4 Java虚拟机(Java Virtual Machine) 17 1.5.5 HelloWorld的整个流程 17 1.6 小结:我们学会了编译和运行一个Java程序! 18 1.7 习题 19 第2章 搭建自己的集成开发环境 20 教学视频:31分钟 2.1 安装...

    JAVA解惑

    17. **JVM原理**:简述Java虚拟机的工作机制,如类加载、字节码执行和优化等。 18. **单元测试**:介绍JUnit框架,以及如何编写和运行单元测试。 19. **设计模式**:讲解常见的设计模式,如单例模式、工厂模式、...

    JAVA基础讲解.zip

    10. **JVM与内存管理**:理解Java虚拟机的工作原理,包括内存区域(堆、栈、方法区等)和垃圾回收机制,有助于写出更高效、无内存泄漏的代码。 这个"JAVA基础讲解"资源包中,很可能包含了这些知识点的详细讲解,...

Global site tag (gtag.js) - Google Analytics