`
lizhensan
  • 浏览: 379269 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java JVM 1

    博客分类:
  • java
 
阅读更多

http://hg.openjdk.java.net/  Java 源码 下载Mercurial,类似svn

 

     

 

栈内存,内存内存有序,

    线程私有, 每个线程都会对应一份  线程安全

    

堆内存,内存结构可以无序

    线程共享的, 线程不安全

    句柄池、实例池

    句柄池:栈中的对象引用,通过句柄池可以真正映射到内存地址。

                这样垃圾收集时,对内存整理对象内存位置变化,只需要内部修改句柄池的映射关系,栈中的句柄引用不需要修改。

 

 

    

方法区

    存放静态数据:如:Class信息  常量  静态变量  代码数据

    这里有个常量池:专门针对常量处理,提高效率,如:String

 

直接内存

    不有JVM管理使用,一般都是Java直接绕过JVM分配的内存。一般通过sun.misc.Unsafe.allocateMemory(long)

 

 

对象内存关系

    引用信息在  栈中

    具体的对象  堆中

    对象的Class  方法区中    

 

 

 

堆溢出

java.lang.OutOfMemoryError: Java heap space

-Xmx  -Xms  来控制

 

 

栈溢出

java.lang.StackOverflowError  说明栈超出了虚拟机的要求深度

-Xss 控制

 

方法区溢出 

java.lang.OutOfMemoryError: PermGen space

-XX:PermSize  -XX:MaxPermSize 控制

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    下载 java JVM INSTR 反编译

    1. **版本兼容性**:确保所下载的反编译工具与目标JVM版本兼容,不同版本的Java字节码格式可能会有所变化。 2. **许可证问题**:反编译他人代码时,必须遵守相关许可证规定,不得侵犯他人知识产权。 3. **安全风险...

    Java JVM Instruction Set

    在深入了解Java虚拟机(JVM)指令集之前,读者应具备一定的Java基础知识。虽然本指南假设读者至少了解Java的基础语法,但即使只熟悉C++,也足以理解下面所讨论的内容。对于Java完全陌生的读者,可以参考作者提供的...

    java获得jvm内存大小

    在Java编程语言中,了解和控制JVM(Java虚拟机)的内存管理是至关重要的,尤其是在性能调优、资源管理和避免内存泄漏等方面。本文将深入探讨如何在Java中获取JVM内存大小,包括堆内存的总量、最大值以及剩余空间,并...

    Java jvm虚拟机.zip

    1. 类装载器:负责查找和加载类文件到JVM。Java的类装载器是动态的,可以在运行时装载类,这是Java实现动态链接和热部署的基础。 2. 运行时数据区:JVM将内存分为不同的区域,如方法区(存储类信息)、堆(存放对象...

    Java Jar JVM Exe

    Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件 Java Jar JVM Exe 可执行文件

    jvmjava,java实现的JVM。.zip

    《Java实现的JVM——深入理解与实践》 在计算机科学领域,Java虚拟机(JVM)是Java语言的关键组成部分,它使得Java程序能够在不同平台上运行而无需重新编译。本项目“jvmjava”是一个开源项目,由Java语言实现,...

    JAVA jvm DUMP 内存分析

    性能测试,线程的 dump 看到线程的 死锁,等待 运行状态

    java -jvm 内存分配和jvm调优

    Java JVM(Java虚拟机)内存分配与调优是Java开发者必须掌握的重要技能,它涉及到程序的性能优化和稳定性。在Java应用中,JVM扮演着至关重要的角色,它负责解析字节码、管理内存以及执行线程等。本文将深入探讨JVM...

    java11-jvm白皮书

    1. 垃圾收集:Java 11的JVM改进了垃圾收集算法,例如ZGC(Z Garbage Collector)提供了低延迟的内存回收。ZGC通过颜色标记、并发标记、重分配和屏障技术,实现了在大规模堆内存下的高效垃圾回收。 2. 分代内存模型:...

    java jvm及性能优化_javajvm优化_Java性能分析_

    Java虚拟机(JVM)是Java程序运行的基础,它负责解释和执行字节码,提供了一个平台无关的运行环境。JVM性能优化是提升Java应用效率的关键环节,涉及到内存管理、垃圾回收、线程调度等多个方面。以下是对"Java JVM及...

    java JVM 第一章 java JVM 第一章

    java JVM 第一章

    JAVA JVM文件

    1. 类加载:JVM在运行时会将.java源文件编译成.class字节码文件,然后通过类加载器加载到内存中。这个过程分为加载、验证、准备、解析和初始化五个阶段。 2. 动态链接:JVM支持动态链接,这意味着在运行时可以找到...

    java 查看JVM中所有的线程的活动状况

    在Java编程环境中,了解JVM(Java虚拟机)中所有线程的活动状态对于调试多线程程序至关重要。本文将详细讲解如何查看JVM中的线程活动情况,并提供相关示例代码。 首先,Java提供了`java.lang.management....

    tomcat6.0 修改启动内存设置 java jvm参数配置

    ### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...

    JVM.zip_java jvm_jvm

    Java虚拟机(JVM)是Java编程语言的核心组成部分,它为Java程序提供了运行环境。"JVM.zip"可能是一个包含了与JVM相关的工具或示例代码的压缩包,特别是用于获取运行中的JVM系统的参数。这通常是开发人员为了监控和...

    揭秘Java虚拟机-JVM设计原理与实现

    1. **JVM架构**:JVM主要由类装载器、运行时数据区、执行引擎、本地方法接口和本地库组成。每个部分都有其特定的功能,共同确保Java程序的正常运行。 2. **类装载器**:负责加载类文件到JVM中,包括引导类装载器、...

    认识 java JVM虚拟机选项 Xms Xmx PermSize MaxPermSize 区别

    Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 区别 Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 是 Java 虚拟机(JVM)中用于配置内存管理的参数。这些参数控制着 JVM 中的堆内存和非堆内存的分配。 ...

    javajvm:用Java编写的玩具JVM

    javajvm-xxx.jar:JVM的实现,本质上是一个jar包,里面放着编译好的Java代码。 xxx代表版本号,不要在Shell中真的输入xxx,请将javajvm-xxx.jar自行换成对应的文件。 在javajvm-xxx.jar所在的目录下,命令行中执行 ...

    JAVA应用JVM原理及参数调优深入讲解视频.zip

    JAVA应用JVM原理及参数调优深入讲解视频.1 JAVA应用JVM原理及参数调优深入讲解视频.2 JAVA应用JVM原理及参数调优深入讲解视频.3 JAVA应用JVM原理及参数调优深入讲解视频.4 JAVA应用JVM原理及参数调优深入讲解视频.5 ...

    jvm瓶颈定位 java jvm 学习

    Java虚拟机(JVM)是Java开发中的核心组成部分,它负责执行字节码,管理内存,以及优化程序性能。在Java应用的运行过程中,如果出现性能问题,JVM瓶颈定位就显得至关重要。本文将深入探讨如何理解和解决Java JVM的...

Global site tag (gtag.js) - Google Analytics