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

java的几种存储区域

 
阅读更多
寄存器:在cpu内部,速度最快,程序员不能通过编程来控制寄存器的分配,由编译器自动分配。

栈:栈是向低地址扩展的数据结构,是一种连续的内存区域。
优点:由系统自动分配,速度较快。
缺点:数据的生命周期和大小必须确定的,不够灵活,并且数据可以共享。
存放基本数据类型和对象数组的引用。

堆:堆是向高地址扩展的数据结构,是不连续的数据结构。
优点:可以动态的分配数据大小,不必事先告诉编译器生存期,由gc自动回收,比较灵活。
缺点:存取速度慢。
存放通过new等实例化的对象。

静态存储区域与常量存储区域
静态存储区域用来存储静态变量
常量存储区域用来存储final类型变量。

非Ram存储
流对象,持久化了的对象
分享到:
评论

相关推荐

    深入Java对象及元素的存储区域

    Java中主要涉及以下几种存储区域: 1. **堆内存(Heap)**:这是Java虚拟机管理的最大一块内存区域,用于存放所有Java对象实例以及数组。它是被所有线程共享的一块内存区域,在JVM启动时创建。堆内存是垃圾回收器...

    java内存机制及异常处理

    在Java中,内存主要分为以下几个区域: 1. **Heap(堆)**:这是Java中最主要的内存区域,用于存储所有的类实例和数组。当堆空间不足时,会抛出`java.lang.OutOfMemoryError: Java heap space`异常。为了优化内存...

    Java数据存储

    除了上述提到的堆栈、堆、数据区等,Java还涉及其他几种存储机制: 1. **寄存器(Register)**:位于处理器内部,是最快的存储区,但由于数量有限,由编译器自动管理,程序员无法直接控制。 2. **堆栈(Stack)**...

    简单介绍Java语言中内存管理的几个技巧

    堆内存是应用程序的主要存储区域,用于存储对象实例和数组;而非堆内存则用于存储类元数据、方法区和线程栈等。 ### 一、处理Boolean类型 Java中的`Boolean`类是一个封装类,用于包装基本数据类型`boolean`。在...

    30种java技术框架图

    Java 类加载器分为以下几种: - **启动类加载器(Bootstrap ClassLoader)**:加载 Java 核心库(如 java.lang.* 包下的类),不可被应用程序直接引用。 - **扩展类加载器(Extension ClassLoader)**:加载扩展目录中的...

    JSOUP 一张表存储省市区街道四级地址信息,主键用UUID存储, 还有一种是用四张表分别存取 省 市 区 街道四级 可以作为参

    这里提到的两种方法都是为了存储省市区街道四级地址信息,一种是使用单表存储,另一种是使用四张独立的表来分别存储每一级信息。下面将详细讨论这两种设计方式以及涉及到的相关技术。 首先,"JSOUP"通常指的是Java...

    java虚拟机

    堆是所有对象实例的存储区域,方法区则保存类的信息。虚拟机栈每个线程有一个,用于存储局部变量表、操作数栈和动态链接。本地方法栈服务于Java的native方法。程序计数器记录当前线程的执行位置。 3. **垃圾收集与...

    java版 根据ip得知区域

    要实现“根据IP得知网络所在区域”的功能,主要有以下几种方法: 1. **使用第三方库**:许多开发者提供了Java库,如MaxMind的GeoLite2或JIPLookUp,可以直接进行IP到地理位置的映射。例如,MaxMind的GeoIP2库提供了...

    Java虚拟机在ARM—Linux平台的移植研究.pdf

    Java虚拟机是一种运行Java程序的抽象计算机,具有指令集和存储区域,负责执行指令、管理数据、内存和寄存器。Java虚拟机是Java技术的重要组成部分,是程序与操作系统和硬件无关的关键。 在嵌入式Linux系统下,Java...

    Java and the Java Virtual Machine

    - **堆**: 动态分配内存的区域,用于存储对象实例。 - **栈**: 用于存储局部变量、操作数栈等。 3. **执行引擎(Execution Engine)**: 执行字节码,将其转换为机器指令。 4. **本地接口(Native Interface)**: 通过...

    深入理解Java虚拟机笔记(带目录).docx

    Java 中的垃圾收集算法有以下几种: * 标记-清除算法(Mark-Sweep Algorithm):标记所有活跃对象,然后清除未被标记的对象。 * 标记-压缩算法(Mark-Compact Algorithm):标记所有活跃对象,然后压缩存储空间。 *...

    Java虚拟机简介,简单明了实用

    2. **Java类文件格式**:这是一种字节码格式,用于存储Java编译后的程序。这种格式允许程序在任何支持Java虚拟机的平台上运行。 3. **Java虚拟机(JVM)**:这是一个抽象的计算模型,用于执行Java字节码。它提供了一个...

    kriging插值工具 JAVA实现

    在Java环境下实现Kriging插值,通常涉及以下几个步骤: 1. 数据预处理:收集并整理需要插值的数据,包括已知数据点的位置坐标和相应的值。这些数据可以存储在二维数组、List或者其他适合的数据结构中。 2. 变差...

    深入Java内存分配

    #### Java有几种存储区域? Java程序运行时涉及多种不同的存储区域,这些区域各自承担着不同的职责。 1. **寄存器**:这是CPU内部的一部分,开发人员无法直接控制寄存器的分配,通常由编译器负责管理。 2. **栈*...

    JAVA核心面试知识整理(283页).pdf

    Java是一种广泛使用的面向对象的编程语言,其强大的性能和跨平台能力使得它在企业级应用开发中占据重要地位。对于Java开发者来说,深入理解JVM(Java虚拟机)是提升技能的关键。以下是对"JAVA核心面试知识整理(283...

    java JDK中文版文档

    9. **国际化和本地化**:Java的`java.text`和`java.util.Locale`类支持多语言环境,可以实现根据用户区域设置显示相应的日期、数字格式。 10. **异常处理**:Java的异常处理机制通过try-catch-finally语句块和...

    JAVA核心知识点整理.pdf

    Java是一种广泛使用的面向对象编程语言,其核心特性之一就是多态性。多态性赋予了Java代码灵活性和可扩展性,使得程序可以处理多种不同类型的对象而无需知道具体类型。在Java中,多态性主要分为静态多态性和动态多态...

    Java内存监视器.rar

    为了监控Java内存,我们可以使用以下几种方式: 1. **JVisualVM**:这是Java自带的一款强大的性能分析工具,可以显示内存分配、线程状态、CPU使用率等信息。 2. **Java Management Extensions (JMX)**:允许创建可...

    2021最新Java面试题及答案V2.0.pdf

    JVM内存区域主要分为以下几个部分:程序计数器、虚拟机栈、本地方法栈、堆和方法区。其中,程序计数器、虚拟机栈和本地方法栈是线程私有的,而堆和方法区是线程共享的。在JVM运行时内存中,垃圾回收主要发生在新生代...

Global site tag (gtag.js) - Google Analytics