注意,不是JVM中的四种引用类型:强、软、弱、虚引用。
详见我的另一篇文章《JVM中的四种引用类型》

Java有 5种引用类型(对象类型):类 接口 数组 枚举 标注

引用类型:底层结构和基本类型差别较大

JVM的内存空间:
(1). Heap 堆空间:分配对象 new Student()
(2). Stack 栈空间:临时变量 Student stu
(3).Code 代码区 :类的定义,静态资源 Student.class

Student stu = new Student(); //new 在内存的堆空间创建对象
stu.study();                   //把对象的地址赋给stu引用变量

上例实现步骤:
a.JVM加载Student.class 到Code区
b.new Student()在堆空间分配空间并创建一个Student实例
c.将此实例的地址赋值给引用stu, 栈空间

基本数据类类型存的是数值本身,而引用类型变量在内存放的是数据的引用,并不是数据的本身,引用类型变量是以间接方式去获取数据。引用类型变量都属于对象类型,如:数组、类、字符串等都属于引用类型变量。所以,引用类型变量里面存放的是数据的地址。

对于 引用变量的比较一般是有两个不同的方法
1)比较两个变量是不是指向同一个对象,此时,需要比较 a b 中的地址是不是执行同一个值 ,因为此时比较的是 a b 中的地址值,要用 ==
2)比较 a b 分别对应不同的对象,此时 a b 中的地址 一定是不同的了 ,此时比较的是对象的值 ,因此这里的比较只能用equals

java中的五种引用数据类型(对象类型)相关推荐

  1. Java 中的四种引用

    垃圾收集器与内存分配策略参考目录: 1.判断Java 对象实例是否死亡 2. Java 中的四种引用 3.垃圾收集算法 4. Java9中的GC 调优 5.内存分配与回收策略 在进行垃圾回收之前,虚拟 ...

  2. java中的五种排序方法_用Java排序的五种有用方法

    java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...

  3. Java 中的四种引用及垃圾回收策略

    Java 中有四种引用:强引用.软引用.弱引用.虚引用: 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用.如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会 ...

  4. Java中的四种引用方式的区别

    强引用.软引用.弱引用.虚引用的概念 ps:我更新了.....我真的更新了.....因为博客园不支持MarkDown,而且取了一个很low的用户名,所以不用了..... 强引用(StrongRefer ...

  5. Java中的四种引用

    相关概念 java有4种引用,可分为强引用(NormalReference).软引用(SoftReference).弱引用(WeakReference).虚引用(phantomReference) g ...

  6. Java中的八种基本数据类型

    Java中主要有八种基本数据类型:byte.short.int.long.float.double.boolean.char. 各种数据类型作用: 1.byte: 8位.有符号的以二进制补码表示的整数 ...

  7. java中的八种原始数据类型

    java中的的原始数据类型可分为4大类:整数型(byte,short,int,long),浮点型(float,double)布尔型(boolean)字符型(char). 首先我们先要知道它们的各自取值 ...

  8. Java 中Map五种取值方式

    map的主要作用是什么? 可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数据     将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接 ...

  9. java单例模式理解_快速理解Java中的五种单例模式

    解法一:只适合单线程环境(不好) packagetest;/***@authorxiaoping **/ public classSingleton {private static Singleton ...

最新文章

  1. Python基础23_os,sys,序列化,pickle,json
  2. python高阶函数闭包装饰器_Python_基础_(装饰器,*args,**kwargs,高阶函数,函数闭包,函数嵌套)...
  3. 高并发和分布式中的幂等处理
  4. oracle查看被锁的行,查找被锁的表到底是哪一行被锁定了
  5. 开源中国 OsChina Android 客户端源码分析(7)二维码生成对话框
  6. jetty嵌入式容器_嵌入式Jetty和Apache CXF:借助Spring Security来保护REST服务
  7. 计算机网络学习笔记-02-标准化工作以及相关组织
  8. Java-Hashmap
  9. 【Java】java中 ==,equals,hashcode
  10. 服务器安装lnmp的时候出现client_loop: send disconnect: Connection reset by peer
  11. 删除Github仓库某一次commit信息/历史
  12. 【收集】个人认为比较实用的电脑工具软件(附带安装包下载)
  13. ffmpeg中的pcm格式
  14. 图像处理中的一阶偏导数和二阶偏导数
  15. NCRE-嵌入式系统开发工程师-计算机组成与接口知识整理
  16. 在线教育的鲶鱼“肥瘦不均”
  17. 如何在微信中取消已授权的第三方应用APP
  18. 地图选择区域遮罩层自定义控件实现
  19. 单机100万连接,每秒10万次请求服务端的设计与实现(三) - 变量共享、超线程与高性能队列
  20. springcloud之简介

热门文章

  1. JS电话号座机号同时验证
  2. 教你如何在idea中使用vscode的主题皮肤+快捷键
  3. 微信小程序页面上面的名字怎么改_微信小程序如何动态修改页面标题——已解决...
  4. linux运行驱动的命令,「驭龙」Linux执行命令监控驱动实现解析
  5. CPU和GPU及CUDA入门基础概念
  6. (音视频开发)WebRTC进阶流媒体服务器开发-多人互动架构
  7. SSM新冠疫情服务系统 计算机专业毕设源码49727
  8. MySQL的四大隔离级别,你都知道哪些?
  9. Cpu 常见系列以及型号
  10. 连续降税、人民币结算,巴西潜力爆发!开发细节见内!