java引用被设置为null的疑惑
a=null;
 public class C {
     protected A webDigester = new A(" first one ");
     public void test(){
         A a;
         a=webDigester;
         a.add(" second ");        
         a=null;
         webDigester.display();
         //猜猜会打印出什么呢?
     }
     public static void main(String[] args) {
         C c=new C();
         c.test();
     }
 }
 import java.util.ArrayList;
 public class A {
         public ArrayList<Object> al=new ArrayList<Object>();
         public void display()
         {
             System.out.println("-----start-------");
             for(Object o:al)
             {
                 System.out.println(" ["+o.toString()+"] ");
             }
             System.out.println("-----end-------");
         }
         public A(String msg){
             al.add(msg);
         }
         public void add(String msg){
             al.add(msg);
         }
         public void  distory()
         {
             al.clear();
         }
 }
java引用被设置为null的疑惑的更多相关文章
- java中将对象引用设置为null对于GC有没有帮助
		相信,网上很多java性能优化的帖子里都会有这么一条: 尽量把不使用的对象显式得置为null.这样有助于内存回收 可以明确的说,这个观点是基本错误的.sun jdk远比我们想象中的机智.完全能判断出对 ... 
- JAVA引用和垃圾回收
		1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.如下: 1 Object o=new Object(); // 强引用 ... 
- 浅谈Java引用和Threadlocal的那些事
		这篇文章主要介绍了Java引用和Threadlocal的那些事,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1 背景 某一天在某一个群里面的某个群友突然提出了一个问 ... 
- java ThreadLocal线程设置私有变量底层源码分析
		前面也听说了ThreadLocal来实现高并发,以前都是用锁来实现,看了挺多资料的,发现其实还是区别挺大的(感觉严格来说ThreadLocal并不算高并发的解决方案),现在总结一下吧. 高并发中会出现 ... 
- 从JDK源码理解java引用
		目录 java中的引用 引用队列 虚引用.弱引用.软引用的实现 ReferenceHandler线程 引用队列的实现 总结 参考资料 java中的引用 JDK 1.2之后,把对象的引用分为了四种类型, ... 
- 关于Java引用,你必须知道这些
		引用 Java 虚拟机接管了所有的内存分配与回收工作,极大地减少了程序员的工作量和错误率.GC 在回收内存时,通常采用被称为可达性分析的算法判断一个对象是否可以回收.而在可达性分析中,对象的引用有着决 ... 
- 基础篇:JAVA引用类型和ThreadLocal
		前言 平时并发编程,除了维护修改共享变量的场景,有时我们也需要为每一个线程设置一个私有的变量,进行线程隔离,java提供的ThreadLocal可以帮助我们实现,而讲到ThreadLocal则不得不讲 ... 
- 关于JDK 安装,以及Java环境的设置
		关于JDK 安装,以及Java环境的设置 1.下载JDK1.6,选择对应的安装路径 2.配置相应的Java 环境变量 A.属性名称:JAVA_HOME 属性值:C:\Program Files\Jav ... 
- Java引用总结--StrongReference、SoftReference、WeakReference、PhantomReference
		Java引用总结--StrongReference.SoftReference.WeakReference.PhantomReference 1 Java引用介绍 Java从1.2版本开始引入了4种引 ... 
随机推荐
- Zookeeper入门-Linux环境下异常ConnectionLossException解决
			实际项目开发中,用的是Linux环境. 中午突然断电,死活连不上Zookeeper,最终发现是需要关闭防火墙. 看日志,报错如下: Exception in thread "mai ... 
- vue2.0移动端自定义性别选择提示框
			这篇文章主要是简单的实现了vue2.0移动端自定义性别选择的功能,很简单但是经常用到,于是写了一个小小的demo,记录下来. 效果图: 实现代码: <template> <div c ... 
- 项目集成Hudson+SonarQube出现的一个问题
			[ERROR] No plugin found for prefix 'sonar' in the current project and in the plugin groups [org.mort ... 
- Mybaties下的分页功能的实现
			jsp页面 <!-- 页码 --> <div class="ipRListNav2"> <a href="zyxx.do?findZyxx& ... 
- 如何检查 Android 应用的内存使用情况
			Android是为移动设备而设计的,所以应该关注应用的内存使用情况.尽管Android的Dalvik虚拟机会定期执行垃圾回收操作,但这也不意味着就可以忽视应用在何时何处进行内存分配和释放.为了提供良好 ... 
- shuoj1936-D序列—最长上升子序列
			Description 已知两个长度为N的数组A和B.下标从0标号至N-1. 如今定义一种D序列 (如果长度为L).这样的序列满足下列条件: 1. 0 <= D[i] <= N-1 2. ... 
- Hibernate是怎么工作的——Hibernate的工作流程
			举个简单的样例说明: 1.Base.java package cn.flymouse.hibernate; import java.util.Date; import org.hibernate.Qu ... 
- 【CTO辩论会】移动开发人员忠于技术or 背离技术
			第一期CTO辩论会结束后,大家在微信群中讨论,学什么编程语言好.有位官人直呼"劳力者治于人,苦差,不学也罢". 在IT.科技变革世界的今天,移动开发人员成为一个很时髦的工种. 就连 ... 
- Leaflet--建设移动设备友好的互动地图
			Leaflet 是一个为建设移动设备友好的互动地图,而开发的现代的.开源的 JavaScript 库.它是由 Vladimir Agafonkin 带领一个专业贡献者团队开发,尽管代码仅有 33 KB ... 
- 4. idea常用快捷键设置(改为eclipse相似)
			转自:https://blog.csdn.net/loveer0/article/details/82697877 idea常用快捷键设置(改为eclipse相似) 目录 idea常用快捷键设置改为e ... 
