- 浏览: 92547 次
- 性别:
- 来自: 北京
文章分类
Java对象的引用类型分为强引用、软引用、弱引用和虚应用
强引用:
强引用就是普通的Java对象的创建,例如Object obj=new Object();其中obj就是一个强引用
其余三种引用就是强引用的再次引用,这个再次引用必须是在强引用为null的情况下才有意义,因为有强引用的话直接使用强引用,干嘛要费尽周折使用别的引用呢。
软引用:
除非堆内存不足,否则垃圾回收器不会回收软引用所指的Java对象占用的堆内存。
弱引用:
垃圾回收器执行的时候回收在本次垃圾回收前、上次垃圾回收后创建的弱引用,明白?
很显然:
强引用、软引用、弱引用都可以作为存放在内存中缓存,强引用缓存不会受垃圾回收期影响,长期存在;软引用缓存受垃圾回收器影响,在内存用尽之前;弱引用缓存在下一次垃圾回收之前有效。
虚引用:
主要监控垃圾回收器对该对象的回收情况。
强引用:
强引用就是普通的Java对象的创建,例如Object obj=new Object();其中obj就是一个强引用
其余三种引用就是强引用的再次引用,这个再次引用必须是在强引用为null的情况下才有意义,因为有强引用的话直接使用强引用,干嘛要费尽周折使用别的引用呢。
软引用:
除非堆内存不足,否则垃圾回收器不会回收软引用所指的Java对象占用的堆内存。
弱引用:
垃圾回收器执行的时候回收在本次垃圾回收前、上次垃圾回收后创建的弱引用,明白?
很显然:
强引用、软引用、弱引用都可以作为存放在内存中缓存,强引用缓存不会受垃圾回收期影响,长期存在;软引用缓存受垃圾回收器影响,在内存用尽之前;弱引用缓存在下一次垃圾回收之前有效。
虚引用:
主要监控垃圾回收器对该对象的回收情况。
发表评论
-
JVM调优大纲
2013-05-07 19:07 1774我觉得处理JVM调优问题需要以下五个步骤: ... -
diango创建数据异常no module named base
2013-05-05 22:02 1593本人使用django创建web项目使用的数据库是sqlite3 ... -
hibernate根据hbm自动生成数据库
2013-04-27 10:26 1064今天碰到一个很老的项目,只有hbm文件没有数据库,想根 ... -
svn分支合并到主线的十大注意事项
2013-04-07 10:39 0svn是java软件工程师常用的版本控制工具,但是对于分支到主 ... -
这几年收集的java相关资料
2013-04-06 14:46 614以下是我搜集的java相关资料,有需要的可以联系我,QQ470 ... -
很诡异的一个hibernate问题
2012-12-27 09:39 297在一个service里写了如下一段代码: List<Gr ... -
一种JavaWeb项目开发部署方式
2012-11-16 09:37 1207以前在myeclipse开发Java Web项目的时候 ... -
tomcat支持中文路径图片问题
2012-11-12 14:51 2698今天,上传图片,但是有文件夹是中文的或是图片文件名是中 ... -
已经安装jdk了,运行applet还是提示安装问题解决
2012-11-08 10:57 1298今天,同事的机子已经装了jdk,但是运行带有ap ... -
理解编译型编程语言心得
2012-11-01 14:11 7711,编译型语言,像c和c++都是,在源代码成为 ... -
集成到项目中web.xml报taglib标签错误
2012-10-31 15:45 851web.xml的报错位置: <taglib> ... -
使用润乾报表工具过程、心得和体会
2012-10-31 15:41 5642现在做的这个项目,需要导出相关报表,正好前几个 ... -
(转)Java开源软件六大帮派
2012-10-25 10:40 788原文链接:http://www.oschina.net/que ... -
Linux安装jdk详解
2012-10-22 16:34 7561,下载JDK,肯定官网下载,有多种类型,源码包、bin包、r ... -
(转)Java几款性能分析工具的对比
2012-10-18 11:04 775在给客户进行应用程序维护的过程中,我注意到一些关于高负载条件下 ... -
从编程的角度理解操作系统及其软件设计
2012-10-11 10:58 930我们都知道操作系统是装在计算机上的,所有的计算 ... -
windows程序入口
2012-10-09 15:32 1661操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。 ... -
回车符和换行符的区别
2012-09-27 18:34 984回车符号和换行符号产生背景: 在计算机还没 ... -
C语言标准函数库IO处理分析
2012-09-26 16:25 939IO处理函数都在stdio.h头 ... -
C语言标准函数库动态内存分配和释放分析
2012-09-25 11:14 11051,动态内存分配需要程序员手动来释放获得的内存 2,内存分配和 ...
相关推荐
在 Java 中,引用类型的变量可以通过赋值操作来改变其指向的对象,例如 MyDate a, b; a = new MyDate(); b = a;这里的 a 和 b 变量都指向同一个 MyDate 对象。 在函数传递方面,Java 中的引用类型的变量也可以作为...
### Java中对象与引用 在Java编程中,深入理解对象与引用的概念对于掌握面向对象编程至关重要。本文将从以下几个方面详细解析对象与引用的基本概念及其相互间的关系。 #### 一、对象与引用的基础概念 **对象**: ...
### Java对象和对象的引用之间的关系 #### 一、Java对象和对象的引用的基本概念 在Java编程语言中,理解对象和对象引用之间的关系是非常重要的基础。对象是类的一个实例,而对象引用则是用于访问该对象的一种手段...
### Java对象引用详解 #### 一、Java对象与引用的基本概念 在Java中,对象是类的一个实例,而引用则是指向这些对象的变量。理解Java中的对象与引用之间的区别至关重要,因为这涉及到如何管理和操作对象。 #### 二...
这里的“值”指的是基本类型的实际值,以及对象引用的值。 1. **基本类型的参数传递**:当传递基本类型作为参数时,实际上传递的是这些基本类型的值的副本。这意味着在方法内部对这些值所做的任何更改都不会影响...
在实际编程中,我们经常遇到这种情况:我们创建了一个对象,但是不知道它的类型是引用类型还是值类型。如果我们不知道某个变量的类型,那么我们就不能正确地使用它。 因此,理解对象和引用对象的关系是非常重要的。...
强引用(StrongReference)是Java中最常见的引用类型,它就像我们日常编码中直接创建对象时默认使用的引用类型。当我们通过new关键字创建一个对象时,就是创建了一个强引用。强引用的特点是:只要强引用存在,垃圾...
### 浅析Java引用类型和方法参数传递 #### 一、引言 在Java编程语言中,理解数据类型的处理方式对于编写高效、可维护的代码至关重要。本文将深入探讨Java中的引用类型及其如何影响方法参数的传递机制。通过具体实例...
首先,我们需要理解什么是Java对象。在Java中,对象是类的实例。当我们使用`new`关键字创建一个类的实例时,就创建了一个对象。对象包含了数据(称为属性或成员变量)和行为(称为方法)。例如,如果我们有一个名为`...
首先,Java对象在堆内存中由四个部分组成:对象头(A)、基本类型域(B)、引用类型域(C)和填充物(D)。 **对象头(A)**: 对象头包含了对象的元数据,如对象实例的名字、唯一标识(对象ID)以及对象的状态信息...
如果字段是引用类型,那么它将占用指针的大小,这在32位系统和64位系统中是不同的。 在Java中,对象的大小通常可以通过以下几种方式来计算: 1. **使用Java API**:Java 9及以上版本引入了一个名为`sun.misc....
#### 一、Java对象、引用及创建过程 在Java中,对象是程序的基本单位,它包含了属性(成员变量)和行为(方法)。对象是由类创建出来的实例,而类则是一组具有相同属性和行为的对象的模板。 ##### 1. 对象创建与...
深入理解Java中的引用类型对于有效地管理内存和提高应用程序的性能至关重要。根据具体的场景,选择适当的引用类型是优化程序的关键一步。希望本文能够为您提供在Java引用类型的使用上清晰的指导
这是因为当你通过父类引用调用方法时,Java会根据实际对象的类型来执行相应的方法。 现在,让我们看一个具体的实例代码,这是基于提供的文件名`instanceoftest.java`和`Std.java`的假设内容: ```java // Std.java...
在Java编程语言中,引用类型是内存管理的一个重要概念,它允许程序员对对象的生命周期进行一定程度的控制。Java提供了四种不同级别的引用类型:强引用、软引用、弱引用和虚引用(幻象引用),每种引用类型在内存管理...
在Java编程语言中,理解和掌握引用、对象以及属性等数据类型知识是至关重要的。这些概念构成了Java程序的基础,让我们深入探讨一下。 1. 引用(References): 在Java中,引用是一种变量,它存储了对象在内存中的...
在深入探讨Java对象引用之前,我们需要先了解Java内存管理的基本概念,这是Java中引用类型相关知识的基础。Java中的内存管理主要是垃圾回收(Garbage Collection, GC),其目标是自动管理内存的分配与回收,从而减轻...
Java教程中的核心知识点主要涉及Java的基本数据类型、引用类型、常用包、对象的内存分配以及字符串操作。下面将对这些内容进行详细的阐述。 1. **基本数据类型与引用类型** - Java的基本数据类型包括布尔型`...
值类型的赋值操作会复制一个副本,而引用类型的赋值只是复制了指向同一对象的引用。 #### 示例解析 以文章中的例子为例: ```java Person person1 = new Person(""); Person person2 = person1; ``` 在这段代码...