JVM_内存管理(一)

java有两大机制:jvm机制和GC机制

本文主要讲解jvm中的内存管理模块的内容:

首先,java程序是运行在jvm平台上的,因为jvm跨平台的特性,吸引了各开发者的青睐,jvm也得到了快速发展,如今jvm上的混合语言编程也成为jvm之后版本更新的趋势之一。

java开发者不同于c和c++开发者,c和c++开发者需要控制每个对象的生命周期(创建、销毁),java开发者一般不需要控制对象的销毁,因为jvm的GC机制会自动回收没有引用的对象。但是,如果了解jvm的内存分配,我们就会更好的设计和编写程序。

一、jvm内存模型:

如图:

jvm内存模型

java内存模型大致分文5个部分

1、程序计数器

  • 是jvm管理的内存中最小的一块区域;是当前线程所执行字节码指令的行号指示器(位置)
  • java的多线程是通过线程轮流切换并分配处理器执行时间的方式实现的,在任意一个确定的时刻,一个处理器(多核处理器的一个内核)只执行一条线程的指令。
  • 为了切换线程后能够回到正确的执行位置,每个线程都有一个独立的程序计数器,用于指定字节码指令的位置,各个线程之间的计数器互不影响,相互独立,因此也称为“线程私有”的内存
  • 如果线程正在执行java方法,则程序计数器中存放的是所执行字节码指令的地址;如果执行的是Native方法,则存放的是空(undefined)
  • 程序计数器是jvm规范中规定的唯一不存在任何OutOfMemoryError情况的内存区域

2、jvm栈

  • java虚拟机栈描述的是java方法执行时的内存模型:每个方法被执行的时候都会创建一个栈帧(stack frame),用于存储方法局部变量表(包括方法的参数)、操作数栈、动态链接、方法出口等信息。
  • 栈帧的生命周期:每个方法从被调用直到执行完成,对应栈帧在java虚拟机栈中的入栈和出栈。
  • 如果线程请求的栈深度大于虚拟机规定的栈深度,会抛出StackOverflowError异常;如果jvm可以扩展,扩展时不能申请足够的内存空间,会抛出OutOfMemoryError异常

3、方法栈

      方法栈类似于jvm栈,不同之处在于:jvm栈是为jvm执行java方法(字节码)的服务,方法栈是为jvm使用的Native方法服务

4、java Heap 堆

  • java堆是java虚拟机管理的内存中最大的一块区域
  • 唯一目的是存放对象实例,java虚拟机规范中规定:所有的对象实例和数组在堆上分配
  • 堆还是垃圾收集器管理的主要区域,也称“GC堆”(关于回收的内容,下一篇文章有介绍)
  • 如果堆无法为对象实例申请到足够的内存空间,将会抛出OutOfMemoryError异常

5、方法区

  • 用于存放已被jvm加载的类信息、常量、静态变量、类中的方法等,即.class字节码文件
  • 当方法区无法满足内存分配的需求时,抛出OutOfMemoryError异常

二、对象访问

        堆:

jvm堆内存

栈:

jvm栈

方法区:

jvm方法区

 

 

关于jvm的内存回收,下一篇文章有详细介绍

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园短期闲置资源置换平台是一种创新的在线服务系统,旨在促进校园内学生、教职工以及其他成员之间的资源共享和有效利用。通过这个平台,用户可以发布、查找并交换他们暂时不使用的资源,从而实现资源的最大化利用,减少浪费,并促进校园内的可持续生活方式。以下是该平台可能包含的一些关键特性: 1. **用户注册和认证**:用户需要通过校园身份验证进行注册,确保平台的使用者都是校园社区的成员。 2. **资源发布**:用户可以发布他们愿意短期出借或交换的资源,如书籍、运动器材、电子产品、家具等。 3. **资源搜索和筛选**:用户可以根据资源类型、状态、可用时间等条件搜索和筛选所需的资源。 4. **在线预订系统**:用户可以通过平台预订所需的资源,并约定取用和归还的时间和地点。 5. **评价和信誉系统**:用户可以对交易的对方进行评价,建立信誉体系,增加用户间的信任。 6. **即时通讯功能**:平台内置即时通讯工具,方便用户就资源交换的细节进行沟通。 7. **安全和隐私保护**:确保用户的个人信息和交易记录的安全,保护用户的隐私。 8. **移动应用支持**:开发移动应用程序,使用户能够随时随地访问平台,进行资源的发布和搜索。 9. **教育资源置换**:特别为教师和研究人员提供教育资源的置换服务,如实验材料、研究工具等。 10. **活动和研讨会空间**:平台还可以用于发布和预订校园内临时活动或研讨会所需的空间。 11. **环保意识提升**:通过平台的推广和使用,增强校园社区成员的环保意识和资源节约意识。 12. **数据分析和报告**:平台可以收集和分析资源使用数据,为校园管理层提供资源利用和需求的洞察,以优化资源配置。 校园短期闲置资源置换平台通过提供一个便捷、高效和安全的在线环境,鼓励校园成员参与资源共享,不仅能够促进资源的合理分配和循环利用,还能增强社区的凝聚力和互助精神。随着共享经济理念的普及,这样的平台在校园中的推广和应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值