Java引用类型(总结)

Java引用类型 引用类型(reference type)是编程语言中用于表示对象或集合的一种数据类型。与基本数据类型不同,引用类型存储的是对实际数据的引用(或指针),而不是数据本身。这意味着,当操作一个引用类型变量时,实际上是在操作它所引用的数据。 阅读详情
 1、强引用(strongly reachable):
>> 创建方式:使用new关键字创建
>> 示例:StringBuilder builder= new StringBuilder();
2、软引用(softly reachable):
>> 创建方式:
1)创建一个强引用对象
2)创建该对象的软引用
3)将强引用置空
4)使用软引用获取对象
>> 示例:
A a = new A();
SoftReference sr = new SoftReference(a);
a = null;
if(sr!=null)
{
    a = (A)sr.get();
}
else
{
    // else it is already be recycled, so we need to rebuild it
    a = new A();
    sr  = new SoftReference(a);
    a = sr.get();
}
3、弱引用(Weakly Reachable)
>> 创建方式:
1)创建一个强引用对象
2)创建一个引用队列
3)使用引用队列创建对象的弱引用
>> 示例:
A a = new A();
ReferenceQueue rq = new ReferenceQueue();
WeakReference wr = new WeakReference(a, rq);
a = (A) wr.get();
4、虚引用(Phantomly Reachable)
>> 创建方式:同弱引用(get方法永远返回null)
>> 示例:
A a = new A();
ReferenceQueue rq = new ReferenceQueue();
PhantomReference pr = new PhantomReference(a, rq);
a = (A) pr.get(); // forever  return null
>> 注意:
PhantomReference 是所有“弱引用”中最弱的引用类型。不同于软引用和弱引用,虚引用无法通过 get() 方法来取得目标对象的强引用从而使用目标对象,观察源码可以发现 get() 被重写为永远返回 null。
那虚引用到底有什么作用?其实虚引用主要被用来 跟踪对象被垃圾回收的状态,通过查看引用队列中是否包含对象所对应的虚引用来判断它是否 即将被垃圾回收,从而采取行动。它并不被期待用来取得目标对象的引用,而目标对象被回收前,它的引用会被放入一个 ReferenceQueue 对象中,从而达到跟踪对象垃圾回收的作用。
将赛灵思 SDK 工程移植到 Vitis 的分步指南 注:本文转自赛灵思中文社区论坛,源文链接在此。本文原作者为XILINX工程师。 以下为个人译文,仅供参考,如有疏漏之处,还请不吝赐教。 您是赛灵思软件开发套件 (SDK) 用户吗? 您是否正在计划将自己的工程移植到 Vitis 软件平台? 那么本篇工程移植分步指南将能祝您一臂之力。 从 2019.2 版开始,赛灵思 SDK 开发环境已统一整合到全功能一体化的 Vitis™ 统一软件平台中。 尊敬的 SDK 用户,您只需轻点几下鼠标即可体验这一功能丰富的工具! 马上开始将工程从赛灵思 S 阅读详情

相关推荐

rk3566-11.0新增device分区

1.增加块设备 2.修改根目录节点权限 3.开机启动自动挂载 增加块设备 1.修改parameter.txt文件,新增块设备大小及命名 device/rockchip/rk356x/rk3566_r/parameter.txt FIRMWARE_VER: 11.0 MACHINE_MODEL: rk3566_r MACHINE_ID: 007 MANUFACTURER: rockchip MAGIC: 0x5041524B ATAG: 0x00200800 MACHINE

weixin_51115260的博客 3384

Java的四种引用类型

Java有四种引用类型:强引用、软引用、弱引用、虚引用。 1. 强引用(StrongReference) 强引用是最常用的引用。如果一个对象具有强引用,那 GC(Gabage Collection,垃圾回收)绝不会回收它。 Object obj = new Object(); // 强引用 当内存空间不足,Java虚拟机宁愿抛出 OutOfMemoryError 错误,使程序异常终止,也...

Fantasy 7000

NetApp 7-mode初始化详解(原AGGR重建)及注意事项

没想到有生之年还能再写个7-mode的文章,上次接触可能已将近十年,本次恰巧碰到这个机会,边学习边整理,整整一天时间,碰到了不少坑,作为记录。

RaySun的技术Blog 2752

Java数据类型:引用类型

引用类型,顾名思义,是用于存储对象引用(或称为句柄)的数据类型。引用类型不是类或者对象,只是变量的一种类型。当我们声明一个引用类型的变量时,该变量并不直接存储对象本身(如下图的变量obj1),而是存储了指向对象在内存中位置的一个地址(如下图的堆地址1这意味着,通过引用类型的变量,能够间接地操作对象。通过引用类型的变量对Java对象进行操作,赋予Java对象以生命力。通过本文的解析与示例,希望读者能更加深入地掌握引用类型,灵活运用这一强大工具,构建更加高效、健壮的Java应用程序。

epitomizelu的专栏 3835

RK3576+IMX415 MIPI摄像头零拷贝显示系统

MIPI CSI-2是嵌入式视觉系统中主流的高速图像传感器接口标准,其核心价值在于低延迟、高带宽与硬件级DMA直通能力。基于V4L2子系统与DRM/KMS驱动栈,可构建从传感器RAW数据到帧缓冲区的零拷贝通路,显著降低CPU负载并提升实时性。该技术广泛应用于工业检测、边缘AI推理前数据接入及多路同步采集等场景。本文以Rockchip RK3576 SoC和索尼IMX415传感器为典型组合,详解MIPI物理层适配、内核驱动集成、GStreamer零拷贝管道搭建及systemd服务化部署,覆盖从硬件信号完整性到

weixin_36047538的博客 217

MATLAB三元相图实战:从数据准备到高级可视化技巧全解析

本文深入解析了如何使用MATLAB绘制专业的三元相图(ternary plot)。文章从数据归一化、范围映射等预处理技巧入手,详细介绍了散点图、等高线图、凸包计算等高级可视化方法,并提供了多数据集对比与出版级图表美化的实战指南,帮助科研与工程人员高效呈现复杂的三元数据关系。

spark7igniter的博客 258

Java中的四种引用类型

java中的四种引用类型

sugarxxc的博客 8266

农经权二轮延包—地块示意图生成

本文介绍了地块示意图制作软件的使用方法及模板制作要点。软件通过设置六个参数(示意图模板、属性数据、地块DBF、导航图、地块图片及存放位置)自动生成Word文档,并可导出PDF。文章详细说明了5页Word模板的制作过程,包括页脚三栏设置和页码插入技巧,支持每户最多28个地块的情况。同时指出该软件生成的图片分辨率(300dpi)满足清晰度要求,并提及软件免费提供插件但收费提供后续服务。

weixin_47364423的博客 1116

java的四种引用类型

一、强引用 String s = "kkk"; s属于强引用,只要s属于根可达对象,则就算内存溢出,gc也不会回收 二、软应用 gc正常不会回收,除非内存不够用则会回收,多用于缓存机制场景;可单独开启线程监控引用队列,防止无效的软引用浪费内存; 可通过vm配置演示下面代码示例 -Xms4m -Xmx4m -XX:+PrintGC public class TestSoftReferance { private static final List<Object> TEST_

qq_19952029的博客 736

C#版OpenCV:OpenCVSharp 最详细最全面教程(万字详细总结)

OpenCVSharp 是一个用于 .NET 环境的 OpenCV 包装库,它提供了一种简便的方法来利用 OpenCV 的功能进行图像和视频处理。OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和机器学习软件库,最初由 Intel 研发并发布。OpenCVSharp 让 C# 和其他 .NET 语言的开发者可以方便地访问 OpenCV 的强大功能。// 打印 OpenCV 版本信息Cv2。

仰望星空的博客 2万+

短信验证码逻辑漏洞学习——各种绕过姿势技巧

短信验证码逻辑漏洞学习——各种绕过姿势技巧

记录并分享学习安全的知识点.. 2557

Java的4种引用类型

java为引用类型专门定义了一个类叫做。Reference是跟java垃圾回收机制息息相关的类,通过探讨Reference的实现可以更加深入的理解java的垃圾回收是怎么工作的。引用的结构图如下:引用队列是为了配合SoftReference、WeakReference、PhantomReference使用,它们三个在GC回收之前会被放到引用队列里ReferenceQueue保存下。

weixin_40482816的博客 3121

基于Simulink的超级电容快速响应特性建模与仿真

本文介绍了基于Simulink的超级电容快速响应特性建模与仿真方法。主要内容包括:超级电容的工作原理、一阶RC等效电路模型及其动态电压方程;通过Simulink搭建超级电容模型的两种方法(Simscape Electrical推荐方案和基础模块透明教学方案);仿真100A×100ms放电脉冲下的电压响应特性,并与锂电池进行动态对比;分析超级电容在混合储能系统中的功率分配优势。文章还提供了工程实践要点和扩展方向,如电压均衡、温度影响评估以及与DC-DC变换器集成等。通过建模实践,验证了超级电容在毫秒级响应、高

xiaoheshang_123的博客 98

Java四种引用类型

文章目录引用类型简介对象可达性判断GC Roots对象可达性判断可达性状态类型可达性判断规则状态转换Reference类定义状态变化四种引用类型实现强引用FinalReference软引用SoftReference弱引用WeakReference虚引用PhantomReference 引用类型简介 Java开发者肯定都很熟悉java中的4种引用类型,它们从强到弱分别是: 引用类型 ...

qq_27639777的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java引用类型有哪些

动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦! Java类型一般有两种,即基本数据类型与引用数据类型。其中,引用数据类型在存储堆中对需要引用的对象进行引用,引用是Java面向对象的一个特点,在Java入门中,我们会接触到四种Java的引用类型,接下来就说说这四种Java引用类型有哪些吧: 1、Java中有哪几种引用?它们的含义和区...

weixin_40599844的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Java】Java中的引用类型(全面解读)

在Java中,引用类型是指一种变量类型,它们用于引用对象而不是存储实际的数据值。当我们创建一个对象时,实际上在堆内存中分配了一块内存空间,并返回了一个指向该内存空间的引用。这个引用就是我们在代码中操作对象的句柄。在Java编程中,理解引用类型是编写高质量代码的关键。通过合理使用不同类型的引用,可以更好地管理内存,避免内存泄漏和内存溢出等问题。同时,对于不同类型引用的特性和用法有深入的了解,能够更好地设计出高效、健壮的程序。

double222222的博客 3287

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java引用类型是什么_java引用类型是什么

java引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定...

weixin_35188854的博客 339

java中引用类型有哪些_java中什么是引用类型

java中的引用类型是指除了基本数据类型之外的所有类型。java中有四种引用类型,分别是强引用、软引用、弱引用和虚引用。引用类型和原始类型具有不同的特征和用法。Java 提供两种不同的类型:引用类型和原始类型(或内置类型)引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型...

weixin_35316354的博客 2573

Java 引用类型分类详解

强引用是 Java 中最常见的引用类型,也是默认的引用类型。当我们通过new关键字创建一个对象并赋值给某个变量时,这个变量就是对该对象的强引用。在上述代码中,变量str是对字符串对象"Hello"的强引用。只要这个强引用存在,垃圾回收器(GC)就不会回收该对象。软引用是一种相对较弱的引用类型,用于指向一些不那么重要的对象。在内存足够时,软引用对象不会被回收;但如果 JVM 发现内存不足时,会尝试回收这些软引用对象以释放内存。要使用软引用,需要借助弱引用是一种比软引用更弱的引用类型。

m0_38053034的博客 2039

JAVA 引用类型数组的初始化

本页面更新日期: 2016年06月30日 引用类型数组的数组元素是 引用. 我们之前学习过的基本类型数组, 它里面的数组元素存放的是具体的值. 可以当作我们现实生活中的买房, 基本类型数组呢, 就像是你直接找到了房主. 而引用类型数组就像是你没有直接找到房主, 而是通过中介找到了房主. 为了更好的说明引用类型数组的运行过程, 下面先定义一个 Person 类 (所有类

我就是认真的随便写写程序. 5882

Java中的引用类型

Java中的引用类型简介强引用(不回收)软引用(内存不足即回收)弱引用(发现即回收)虚引用(对象回收跟踪) 简介 我们希望能描述这样一类对象:当内存空间还足够时,则能保留在内存中;如果内存空间在进行垃圾手机后还是很紧张,则可以抛弃这些对象。 在JDK 1.2版本之后,Java对引用的概念进行了扩充,将引用分为强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)四种,强度一次逐渐减弱。 除强引用

World哥 447

Java引用类型深度解析

Java引用类型存储对象在堆内存中的地址,与基本类型直接存储值不同。引用类型包括类、接口、数组、枚举和注解,具有多态性、空引用、自动内存管理等特性。特殊引用类型如String使用常量池共享对象,包装类支持自动装箱拆箱,泛型要求使用引用类型。引用变量存储在栈内存,指向堆内存中的对象,方法区存储类信息。引用类型通过垃圾回收机制自动管理内存。

xinyonghuha的博客 544
上一篇: Android 语言资源库的添加
下一篇: kaixinpp
空想家
博客等级 码龄18年 26粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值