java中创建的对象存储于堆中,但对于基本类型 java不是用new来创建变量的,而是创建一个并非引用的自动变量。这个变量直接存储“值”,并存储于堆栈中。

程序运行时,对象是怎么进行安排放置?内存是怎样进行分配的呢?有五个不同地方可以存储数据。

1.寄存器:最快存储区,位于处理器内部,因为数量极其有限,所以寄存器根据需求进行分配,你不能直接控制。

2.堆栈:位于通用RAM(随机访问存储器)中,可以通过堆栈指针直接从处理器获取连接支持,堆栈指针向上移动 释放内存,向下移动则分配新内存。这种快速有效的存储方法仅次于寄存器 在创建程序时 java系统必须知道存储在堆栈内所有项的生命周期,便于堆栈指针的移动。这一约束限制了程序的灵活性,所以只有一些数据存储于堆栈中例如对象引用,但是java的对象并不存储在堆栈中。

3.堆:所有的java对象都存在于堆中。这是一种通用的内存池也位于RAM区中。但不同于堆栈,编译器不需要知道存储的数据在堆内的存活时间,所以对于程序就具有更大的灵活性,但这种灵活性是用更多的时间来换取的。

4.常量存储:常量值通常是直接存储在程序代码内部的,他们永远不会改变所以是比较安全的。

5.非RAM存储:数据完全存活于程序之外。例如流对象(对象转化成字节流,通常发送给另一台机器) java提供了对轻量级持久化的支持,而JDBC和Hiberneta这样的机制提供了更加复杂的对数据库中存储和读取对象信息的支持。

特例:基本类型(boolean,char,byte,short,int,long,float,double)

java中的值是直接存储于堆栈的,因此更加高效。但基本类型想要在堆中创建一个非基本对象,可以new一个基本类型对应的包装器类进行创建。

java创建的对象存储到什么地方?相关推荐

  1. Java创建JSON对象

    Java创建JSON对象 private void getJson(HttpServletRequest request, HttpServletResponse response)throws Se ...

  2. java 保存在_Java存储到什么地方

    程序运行时,对象是怎样进行放置安排的呢?特别是内存是怎么分配的呢?对这些方面的了解会对我们有很大的帮助,其实Java有五一个不同的地方可以存储数据. 1.寄存器.这是最快的存储区,因为位于CPU的内部 ...

  3. Java中String对象存储

    2019独角兽企业重金招聘Python工程师标准>>> String对象 String s = new String("xyz"):创建了两个对象一个是" ...

  4. java 创建string对象机制 字符串缓冲池 字符串拼接机制

    对于创建String对象的机制,在这一过程中涉及的东西还是值得探究一番的. 首先看通过new String对象和直接赋值的方式有什么区别,看如下代码: public static void main( ...

  5. java创建子类对象的步骤_一顿Spring骚操作:我敢说没有人比我更懂Java对象的创建!

    一.开篇一问 一个Spring Bean是Java对象吗?那么一个对象是Spring Bean吗? 带着这个问题我们一起来回顾Spring的生命周期流程,彻底了解一个类在Spring中究竟做了那些操作 ...

  6. java创建子类对象的步骤_一通Spring骚操作:我敢说没人比我更懂Java对象创建

    一.开篇一问 一个Spring Bean是Java对象吗?那么一个对象是Spring Bean吗? 带着这个问题我们一起来回顾Spring的生命周期流程,彻底了解一个类在Spring中究竟做了哪些操作 ...

  7. java创建response对象_创建一个HttpResponse对象

    创建一个HttpResponse对象 HttpResponse类实现了javax.servlet.http.HttpServletResponse.跟随它的是一个叫做 HttpResponseFaca ...

  8. 天翼云 Java对接OBS对象存储

    天翼云 对接OBS对象存储 前言 最近公司帮国企做一个项目,对方要求云厂商使用电信天翼云,我们之前一直都在使用阿里云,因为国企情况比较特殊,优先考虑国资背景的云厂商; 最近才改造完rocketMQ,现 ...

  9. java创建匿名对象_java-匿名对象

    概念 创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量.虽然是创建对象的简化写法,但是应用 场景非常有限. 1. 创建匿名对象直接调用方法,没有变量名. new Scanner(Sys ...

最新文章

  1. Centos 7 意外断电如何处理
  2. Survey | 深度学习方法在生物网络中的应用
  3. CentOS下LAMP实战与心得
  4. roobo机器人怎么唱歌_可爱的小伙伴 ROOBO布丁豆豆智能陪护机器人评测
  5. xcode添加fstream类库
  6. Java配置----JDK开发环境搭建及环境变量配置
  7. 转:libev和libevent的设计差异
  8. MS SQL数据库备份和恢复存储过程
  9. TSP旅行商问题的Hopfield求解过程
  10. dev-c 语言注释快捷键,devc 使用教程 注释
  11. PayPal提现到美国账户收35美元怎么办?最新3种解决办法!
  12. 售前技能——自我定位
  13. android studio 讯飞语音,讯飞语音 使用步骤(针对androidStudio):语音转文字:(示例代码)...
  14. SpringSecurity 密码加密
  15. day027 jQuery第二天
  16. 2017年美团Java程序员开发,看我如何拿到offer
  17. (附源码)计算机毕业设计SSM流浪动物救助系统
  18. 职业经理人影响力自检手册(二)
  19. MongoDB分片(Sharding)技术
  20. 【在线学习站点汇总】

热门文章

  1. CSP-S2021试题T1廊桥分配详讲
  2. 人力资源管理专业必读书目(基础部分)
  3. web上传zip大文件,java服务接收并解压ZIP文件
  4. 电大本科计算机上机考试题,电大计算机上机考试模拟题及答案
  5. mysql数据库的QPS和TPS
  6. 打开APP,判断是否是原生页面的方法(含flutter判断)
  7. Fedora 10下制作U盘启动盘(165.7MB)
  8. excel表格内容拆分_Excel表格中制作动态下拉菜单的方法,学会了菜单内容想加就加...
  9. Java中的基本数据类型和引用数据类型
  10. 高考命题作文“纽带”——“纽带”供应链管理是社会发展的重要命脉