- 浏览: 88804 次
- 性别:
- 来自: 北京
文章分类
Java对象的引用类型分为强引用、软引用、弱引用和虚应用
强引用:
强引用就是普通的Java对象的创建,例如Object obj=new Object();其中obj就是一个强引用
其余三种引用就是强引用的再次引用,这个再次引用必须是在强引用为null的情况下才有意义,因为有强引用的话直接使用强引用,干嘛要费尽周折使用别的引用呢。
软引用:
除非堆内存不足,否则垃圾回收器不会回收软引用所指的Java对象占用的堆内存。
弱引用:
垃圾回收器执行的时候回收在本次垃圾回收前、上次垃圾回收后创建的弱引用,明白?
很显然:
强引用、软引用、弱引用都可以作为存放在内存中缓存,强引用缓存不会受垃圾回收期影响,长期存在;软引用缓存受垃圾回收器影响,在内存用尽之前;弱引用缓存在下一次垃圾回收之前有效。
虚引用:
主要监控垃圾回收器对该对象的回收情况。
强引用:
强引用就是普通的Java对象的创建,例如Object obj=new Object();其中obj就是一个强引用
其余三种引用就是强引用的再次引用,这个再次引用必须是在强引用为null的情况下才有意义,因为有强引用的话直接使用强引用,干嘛要费尽周折使用别的引用呢。
软引用:
除非堆内存不足,否则垃圾回收器不会回收软引用所指的Java对象占用的堆内存。
弱引用:
垃圾回收器执行的时候回收在本次垃圾回收前、上次垃圾回收后创建的弱引用,明白?
很显然:
强引用、软引用、弱引用都可以作为存放在内存中缓存,强引用缓存不会受垃圾回收期影响,长期存在;软引用缓存受垃圾回收器影响,在内存用尽之前;弱引用缓存在下一次垃圾回收之前有效。
虚引用:
主要监控垃圾回收器对该对象的回收情况。
发表评论
-
JVM调优大纲
2013-05-07 19:07 1714我觉得处理JVM调优问题需要以下五个步骤: ... -
diango创建数据异常no module named base
2013-05-05 22:02 1544本人使用django创建web项目使用的数据库是sqlite3 ... -
hibernate根据hbm自动生成数据库
2013-04-27 10:26 1017今天碰到一个很老的项目,只有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 1091以前在myeclipse开发Java Web项目的时候 ... -
tomcat支持中文路径图片问题
2012-11-12 14:51 2637今天,上传图片,但是有文件夹是中文的或是图片文件名是中 ... -
已经安装jdk了,运行applet还是提示安装问题解决
2012-11-08 10:57 1242今天,同事的机子已经装了jdk,但是运行带有ap ... -
理解编译型编程语言心得
2012-11-01 14:11 7241,编译型语言,像c和c++都是,在源代码成为 ... -
集成到项目中web.xml报taglib标签错误
2012-10-31 15:45 805web.xml的报错位置: <taglib> ... -
使用润乾报表工具过程、心得和体会
2012-10-31 15:41 5596现在做的这个项目,需要导出相关报表,正好前几个 ... -
(转)Java开源软件六大帮派
2012-10-25 10:40 742原文链接:http://www.oschina.net/que ... -
Linux安装jdk详解
2012-10-22 16:34 7131,下载JDK,肯定官网下载,有多种类型,源码包、bin包、r ... -
(转)Java几款性能分析工具的对比
2012-10-18 11:04 736在给客户进行应用程序维护的过程中,我注意到一些关于高负载条件下 ... -
从编程的角度理解操作系统及其软件设计
2012-10-11 10:58 900我们都知道操作系统是装在计算机上的,所有的计算 ... -
windows程序入口
2012-10-09 15:32 1618操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。 ... -
回车符和换行符的区别
2012-09-27 18:34 936回车符号和换行符号产生背景: 在计算机还没 ... -
C语言标准函数库IO处理分析
2012-09-26 16:25 891IO处理函数都在stdio.h头 ... -
C语言标准函数库动态内存分配和释放分析
2012-09-25 11:14 10541,动态内存分配需要程序员手动来释放获得的内存 2,内存分配和 ...
相关推荐
java学习相关引用 对象 属性等数据类型知识
将一个值类型变量 装箱成一个引用类型变量,首先会在托管堆上为新的引用类型变量分配内存空间,然后将值类型变量拷贝到托管堆上新分配的对象内存中,最后返回新分配的对象内 存地址。装箱操作是可逆的,所以还有拆箱...
Java的4种引用类型: 他们分别是强引用(StrongReference),软引用(SoftReference),弱引用(WeakReference)以及PhantomReference(虚引用),他们被 GC回收的可能性从小到大排列。 强引用(StrongReference) 只要强引用...
但是,判断引用类型的变量是否相等,==表示“引用是否相等”,或者说,是否指向同一个对象。例如,下面的两个String类型,它们的内容是相同的,但是,分别指向不同的对象,用==判断,结果为false: public class ...
Java中的接口定义了一个引用类型来创建抽象概念。接口由类实现以提供概念的实现。 在Java 8之前,一个接口只能包含抽象方法。 Java 8允许接口具有实现的静态和默认方法。 接口通过抽象概念定义不相关类之间的关系...
基本数据类型:变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值 2、从内存构建方面来说 基本数据类型:变量在声明之后java就会立刻分配给他内存空间 引用数据类型:
第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 实体域对象的其他持久化模式...
Java面向对象 1 1 学习方法与要求 1 2 面向对象语言与面向过程语言的区别 7 3 面向对象?什么对象? 8 4 什么是类? 9 5 如何创建一个类Class? 10 6 如何使用类创建对象 10 7 引用与实例 11 8 实例属性与实例方法 ...
在需要将一个继承链下把一个类的对象转换为另一个类的对象(注意:这里强调转换的是对象而不是类),更确切地说其实应该是引用类型和对象类型不一致的时候考虑到对象类型转换 这里拓展一下引用和对象的区别 对象...
在Java中,有一组名词经常一起出现,它们是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然。我们来一起了解一下对象和对象引用之间的区别和联系。 1....
JAVA 的五种引用类型及引用队列 在介绍 JAVA 的五种引用之前,先介绍一下什么是引用,以及引用和对象之间的关系 什么是引用 众所周知,JAVA 是一种面向对象的语言,在 JAVA 程序运行时,对象是存储在堆内存...
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类booleanBoolean charCharacter byteByte...
********Shenkxiao Resources******** ...资源:Java数据类型精解 ... 1.2 对象数据类型 1.3 引用数据类型 1.4 数组数据类型 上传理由:基础文档共享,对Java初学者有很大的帮助 ***********************************
在Java中对象以引用来指向JVM的内存区块,这里我们总结了强引用、软引用、弱引用和假象引用(幽灵引用),下面就具体来全面解析Java中的引用类型:
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类,booleanBoolean,charCharacter,byte...
一、类与对象 03001_面向对象简介 本课程主要讲解了面向对象与面向过程... 本课程主要讲解在Java中类的定义格式以及对象的产生格式,同时讲解了引用数据类型的内存分配与空指向问题的产生原因。 ....................
引用数据类型 9 5. 变量 9 6. 运算符 9 7. 数据的传输 9 8. 程序的逻辑控制语句 9 9. 数组 9 第四章 JavaOO程序设计 9 1.Java面向对象编程的特点 9 2.继承 10 2.1继承 10 2.2.Super关键字: 10 2.3....
3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类boolean...
Java 是传值还是传引用,问题主要出在对象的传递上,因为 Java 中简单类型没有引用。既然争论中提到了引用这个东西,为了搞清楚这个问题,我们必须要知道引用是什么。 简单的说,引用其实就像是一个对象的名字...