深入分析Java内存区域的使用详解

 更新时间:2013年05月06日 18:57:15   投稿:jingxian  
本篇文章对Java内存区域的使用进行了详细的介绍。需要的朋友参考下

Java 内存划分:

    在Java内存分配中,java将内存分为:方法区,堆,虚拟机栈,本地方法栈,程序计数器。其中方法区和堆对于所有线程共享,而虚拟机栈和本地方法栈还有程序计数器对于线程隔离的。每个区域都有各自的创建和销毁时间。

程序计数器:

    作用是当前线程所执行的字节的行号指示器。Java的多线程是通过线程轮流切换并分配处理器执行时间方式来实现的。因此,每个线程为了能在切换后能恢复到正确的位置,每个线程需要程序计数器。

Java 虚拟机栈:

    每个放在被执行的时候都会同时创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。虚拟内存栈就是我们经常讲的“栈”。其中局部变量表所需内存是在编译期完成分配。

本地方法栈:

    与虚拟机栈类似,区别在于虚拟机栈为虚拟机执行Java方法服务,而本地方法栈为虚拟机使用Native方法服务。

Java 堆:

    被所有程序共享,并且在虚拟机启动时创建。此内存区域作用是存放对象实例。根据Java虚拟机规定,Java堆可以处于物理上不连续的内存空间,只要逻辑上连续即可。

方法区:

    与堆相同,在各个线程间共享。作用是存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。

运行时常量池:

    是方法区的一部分。作用是存储编译期生成的各种字面量和符号引用。

相关文章

  • 利用Sharding-Jdbc进行分库分表的操作代码

    利用Sharding-Jdbc进行分库分表的操作代码

    sharding-jdbc是一个分布式的关系型数据库中间件,今天通过本文给大家介绍利用Sharding-Jdbc进行分库分表的操作代码,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-01-01
  • 一文吃透 Spring 中的 AOP 编程

    一文吃透 Spring 中的 AOP 编程

    这篇文章主要介绍了springboot中的AOP编程,本文介绍的非常详细,有一定的参考价值,感兴趣的小伙伴可以借鉴一下
    2023-04-04
  • 详解Java的Hibernate框架中的缓存与原生SQL语句的使用

    详解Java的Hibernate框架中的缓存与原生SQL语句的使用

    这篇文章主要介绍了Java的Hibernate框架中的缓存与原生SQL语句的使用,Hibernate是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • Spring mvc AJAX技术实现原理解析

    Spring mvc AJAX技术实现原理解析

    这篇文章主要介绍了Spring mvc AJAX技术实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • springboot整合websocket后启动报错(javax.websocket.server.ServerContainer not available)

    springboot整合websocket后启动报错(javax.websocket.server.ServerCont

    这篇文章主要介绍了springboot整合websocket后启动报错(javax.websocket.server.ServerContainer not available),通过分析错误信息、排查代码和配置,找出问题的根源,并给出相应的解决方案,感兴趣的可以了解一下
    2024-01-01
  • Spring源码解析 Bean属性填充

    Spring源码解析 Bean属性填充

    这篇文章主要介绍了Spring源码解析 Bean属性填充,文章围绕主题展开想详细的内容详情,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • SpringBoot配置MongoDB多数据源的方法步骤

    SpringBoot配置MongoDB多数据源的方法步骤

    这篇文章主要介绍了SpringBoot配置MongoDB多数据源的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 解析Tars-Java客户端源码

    解析Tars-Java客户端源码

    Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用
    2021-06-06
  • 详解Spring加载Properties配置文件的四种方式

    详解Spring加载Properties配置文件的四种方式

    这篇文章主要介绍了详解Spring加载Properties配置文件的四种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • java设计模式策略模式图文示例详解

    java设计模式策略模式图文示例详解

    这篇文章主要为大家介绍了java设计模式策略模式图文示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论