• 技术文章 >Java >java教程

    15.Java 基础 - 堆&栈

    黄舟黄舟2017-02-27 10:55:59原创498

    基本概念

    在 Java 中,共有六个不同的地方可以存储数据。


    1.寄存器

    即 register,这是最快的存储区,因为它位于处理器内部,存取速度非常快,程序不可控制。


    2.栈

    即 stack,栈位于通用 RAM 中。它是的存储速度仅次于寄存器。针。

    它具有以下特点:


    3.堆

    即 heap,堆是一种通用性的内存池(也存在于 RAM 中),用于存放所有的 Java 对象。通俗来讲,就是存放所有 new 出来的对象。

    堆不同于栈的是,它在分配存储时有很大的灵活性,但同时需要花费更长的时间。因为:

    当你需要创建一个对象的时候,只需要写一行简单的代码;当执行这行代码时,会自动在堆里进行存储分配。


    4.方法区

    用来存放已被加载的类的信息、常量、静态变量、即时编译器编译后的代码。


    5.常量池

    常量池是方法区的一部分。

    存放字符串常量和基本类型变量,比如String str=”www”。实际上”www”是在常量池里边。

    Java的 8 种基本类型(Byte、Short、Integer、Long、Character、 Boolean、Float、Double) 除Float、Double 以外, 其它六种都实现了常量池,但是它们只在(-128 <= 值 <=127)才使用常量池。超出这个范围则不会使用常量池所以会直接在堆内存中创建对象。

    基本概念

    在 Java 中,共有六个不同的地方可以存储数据。


    1.寄存器

    即 register,这是最快的存储区,因为它位于处理器内部,存取速度非常快,程序不可控制。


    2.栈

    即 stack,栈位于通用 RAM 中。它是的存储速度仅次于寄存器。针。

    它具有以下特点:


    3.堆

    即 heap,堆是一种通用性的内存池(也存在于 RAM 中),用于存放所有的 Java 对象。通俗来讲,就是存放所有 new 出来的对象。

    堆不同于栈的是,它在分配存储时有很大的灵活性,但同时需要花费更长的时间。因为:

    当你需要创建一个对象的时候,只需要写一行简单的代码;当执行这行代码时,会自动在堆里进行存储分配。


    4.方法区

    用来存放已被加载的类的信息、常量、静态变量、即时编译器编译后的代码。


    5.常量池

    常量池是方法区的一部分。

    存放字符串常量和基本类型变量,比如String str=”www”。实际上”www”是在常量池里边。

    Java的 8 种基本类型(Byte、Short、Integer、Long、Character、 Boolean、Float、Double) 除Float、Double 以外, 其它六种都实现了常量池,但是它们只在(-128 <= 值 <=127)才使用常量池。超出这个范围则不会使用常量池所以会直接在堆内存中创建对象。

    以上就是15.Java 基础 - 堆&栈的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Java ,堆&栈
    上一篇:14.Java 基础 - 参数传递 下一篇:Java使用volatile关键字的注意事项
    PHP编程就业班

    相关文章推荐

    • 详细解析Java反射机制原理和几种Class获取方式• 图文详解!什么是Java内存模型• 图文详解Java数据结构与算法• 带你搞懂JAVA反射机制(总结分享)• 深入解析JAVA中字符串常量池和缓冲池理解与作用

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网