`

java对象的引用

    博客分类:
  • java
 
阅读更多

java 1.2后,java对引用的概念进行了扩充,分为:强引用、软引用、弱引用、虚引用。

 

强引用:就是在程序代码之中普遍存在的,类似Object obj = new Object();只要强引用还在,垃圾收集器永远不会回收掉被引用的对象。

 

软引用:用来描述一些还有用,但是并非必须的对象。对于软引用关联着的对象,在系统  将要  发生内存溢出异常之前,将会把这些对象列进回收范围之中,并进行第二次回收。SoftRefrence类实现软引用。

 

弱引用:也用来描述非必须对象,但是他的强度比软引用更弱一些,被弱引用关联的对象只能生存到下一次垃圾收集之前。当垃圾收集器工作的时候,无论当前虚拟机内存是否足够,都会回收掉只被弱引用关联的对象。WeekRefrence类实现弱引用。

 

虚引用(也成为幽灵引用或者幻影引用):一个对象是否有虚引用的存在,完全不会对其生存时间构成影响,也无法通过虚引用来取得一个对象实例。为一个对象设置虚引用的唯一目的是希望这个对象呗收集器回收时,收到一个系统通知。Phantomrefrence类实现虚引用。

分享到:
评论

相关推荐

    java对象引用

    对象引用分析图解,描述了java对象引用在栈、堆中的分布及作用。

    java对象引用易混解析

    ### Java对象引用详解 #### 一、Java对象与引用的基本概念 在Java中,对象是类的一个实例,而引用则是指向这些对象的变量。理解Java中的对象与引用之间的区别至关重要,因为这涉及到如何管理和操作对象。 #### 二...

    Java中对象与引用

    ### Java中对象与引用 在Java编程中,深入理解对象与引用的概念对于掌握面向对象编程至关重要。本文将从以下几个方面详细解析对象与引用的基本概念及其相互间的关系。 #### 一、对象与引用的基础概念 **对象**: ...

    Java对象的引用.pdf

    在深入探讨Java对象引用之前,我们需要先了解Java内存管理的基本概念,这是Java中引用类型相关知识的基础。Java中的内存管理主要是垃圾回收(Garbage Collection, GC),其目标是自动管理内存的分配与回收,从而减轻...

    浅析Java 对象引用和对象本身

    首先,我们需要明确什么是Java对象和对象引用。在Java中,对象是类的实例,它包含了一些属性(也称为字段或成员变量)和行为(也称为方法)。当我们创建一个对象时,实际上是为内存中的一个数据结构分配空间,这个...

    java中对象和对象引用的区别!

    ### Java中对象与对象引用的区别 #### 基础概念 在Java编程语言中,对象与对象引用是非常基础且重要的概念。理解它们之间的区别对于掌握Java面向对象编程至关重要。 #### 对象与引用定义 - **对象**:在Java中,...

    java对象和对象的引用之间的关系

    ### Java对象和对象的引用之间的关系 #### 一、Java对象和对象的引用的基本概念 在Java编程语言中,理解对象和对象引用之间的关系是非常重要的基础。对象是类的一个实例,而对象引用则是用于访问该对象的一种手段...

    Java基础:对象及引用祥解

    2. **对象的参数传递**:当传递对象作为参数时,实际上传递的是对象引用的副本。这意味着在方法内部对这个引用所做的任何更改都不会影响到原始引用。但是,如果通过该引用修改了对象本身的状态,则会影响到原始引用...

    Java中对象与引用对象的关系

    Java中对象与引用对象的关系 在 Java 中,对象和引用对象的关系是一个非常重要的概念。从宏观的角度来看,对象是类的实例。例如,我们可以定义一个名为 Someone 的类,代表一些人(通过指定年龄、性别、性格等基本...

    Java对象及其引用的理解

    首先,我们需要理解什么是Java对象。在Java中,对象是类的实例。当我们使用`new`关键字创建一个类的实例时,就创建了一个对象。对象包含了数据(称为属性或成员变量)和行为(称为方法)。例如,如果我们有一个名为`...

    计算一个Java对象占用字节数的方法

    本篇文章将深入探讨如何计算Java对象占用的内存字节数,以及影响这一数值的因素。 首先,Java对象在堆内存中由四个部分组成:对象头(A)、基本类型域(B)、引用类型域(C)和填充物(D)。 **对象头(A)**: ...

    计算java对象大小

    这篇博客文章可能探讨了如何通过不同的工具和技术来估算Java对象在内存中的占用空间。 首先,Java对象的大小不是固定不变的,它取决于对象的类结构,包括类中的属性数量、类型以及虚拟机的实现。每个对象都会有一个...

    java中对象创建、初始化、引用

    #### 一、Java对象、引用及创建过程 在Java中,对象是程序的基本单位,它包含了属性(成员变量)和行为(方法)。对象是由类创建出来的实例,而类则是一组具有相同属性和行为的对象的模板。 ##### 1. 对象创建与...

    java二开面试笔试题

    本资源摘要信息中,我们将总结 Java 面试笔试题中的知识点,涵盖 Java 基础、Java 集合框架、Java垃圾回收、Java 方法返回值、Java 对象引用、Java 构造函数执行顺序等方面的知识点。 一、Java 基础知识点 1. Java...

    Java加载dll,导致Java进程内存泄露

    当Java对象引用了本地资源,例如DLL中的对象,而这些引用没有被正确释放时,就会发生内存泄漏。以下是一些可能导致内存泄漏的常见原因: 1. **本地引用未释放**:在JNI方法中创建的本地对象,如果在Java层没有对应...

    探讨Java的对象是怎么在内存中产生的?

    这些字段可以是基本数据类型、对象引用等。HotSpot虚拟机默认使用8字节对齐,即每个字段都会根据类型进行适当的填充以保证数据对齐。 3. **对齐填充(Padding)**:为了保持内存地址的对齐,有时需要添加额外的填充...

    浅谈java面向对象和引用

    ### 浅谈Java面向对象与引用 在Java学习过程中,对于面向对象的理解和引用机制的掌握是至关重要的。本文将围绕这两个概念进行深入探讨,并针对初学者常见的疑惑点进行解答。 #### Java面向对象基础 Java是一种...

    java 对象 内存 大小

    当我们谈论“Java对象内存大小”时,我们通常指的是一个Java对象在内存中占据的空间,包括对象头、实例字段以及可能的对齐填充。这个知识点对于开发高效缓存系统尤其重要,因为缓存需要精确管理内存来最大化存储效率...

    jni对象获取,使用jni从c++里获取Java对象

    局部引用在本地方法执行完后自动释放,如果需要在本地方法外部持续引用Java对象,应使用`NewGlobalRef()`创建全局引用,并在不再需要时使用`DeleteGlobalRef()`释放。 6. **字段ID和方法ID** 要访问Java对象的字段...

Global site tag (gtag.js) - Google Analytics