• java内存分配


    根据所属数据类型分为:基本数据类型和引用类型,如图(2)。

    这里写图片描述

    图(2)

    基本类型和引用类型的内存分配方式是不一样的。基本类型只占一块内存,引用类型实质上是指针,占两块内存。

    如 int i=0;在内存里面只分配了一块内存,里面存放的就是值0,使用i这个名字来访问这块内存。

    又如 String s;//此时为引用变量s分配了一块内存,但是目前这个内存什么也没有存,因为此时s不指向任何一个对象,所以是null

    s=new String(“hello”);//使用new创建了一个对象后,又分配一块内存(堆),这个对象的内容“hello”就存放在新分配的内存中。而之前给s分配的内存也有了内容,根据这个内容就可以找到第二块内存,使用其中的内容(“hello”).

    这里顺便说一下程序执行过程中内存的分配,如图(3):
    这里写图片描述

    图(3)

    程序执行时都必须是在内存中。所以程序首先加载到内存,这时候程序代码就放在code segment这样的内存区域,然后找到main开始执行并如图所示为各种其他的变量、常量、对象等分配相应的内存。其中new出来的变量是放在堆中,局 部变量是放在栈中的。例如上面代码示例中,Person person=new Person();person是一个局部变量,为它分配了栈内存,而person对象的实际内容如name和age的值是保存在堆中的,根据栈中存储的 内容找到堆中person的具体内容,其内存分配情况参考下图(4)。此外,同一个类的每个对象有不同的成员变量存储空间,同一个类的每个对象共享方法, 方法在执行的时候才会为其分配空间,不执行时候,就是一段代码。JAVA中进行函数调用传参时,基本类型传递的是该数值本身,引用类型传递的是对对象的引 用,而不是对象本身。

    这里写图片描述

  • 相关阅读:
    redis的初认识
    Java中自己定义缓存方式
    Ehcache整合spring
    巴菲特
    EHcache经典配置
    (1)-使用json所要用到的jar包下载
    java和json互转
    TypeToken 是google提供的一个解析Json数据的类库中一个类
    深刻理解Java编程的7个例子
    Java实现几种常见排序方法
  • 原文地址:https://www.cnblogs.com/gnfx/p/7196187.html
Copyright © 2020-2023  润新知