易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA引用的误区以及应用

呵呵!还是先给大家出个题吧!
public class PreferenceTest {
public int testVar = 0;
/**
* create data: 2009-12-30</br> Just for me to test preference.
*
* @author XiangJie
* @param args
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PreferenceTest test1 = new PreferenceTest();
test1.testVar = 10;
PreferenceTest test2 = test1;
test2.testVar = 5;
test1 = null;
System.out.println(test2.testVar);
}
}
请问打印结果是什么?
下面我来分析一下这个问题,和以前一样先不给出答案啊!
要讨论这个问题,就首先要了解JAVA对象和引用的关系,以及堆栈的存储关系!
以这个例子来讨论:PreferenceTest test1 = new PreferenceTest();在初始化的时候,首先是在堆中new出一片区域用于存储对象,也就是说对象是存储在堆中的,而PreferenceTest test1 只是一个引用,它存在与栈中,“=”的目的是让这个引用指向对应的对象,
。理清了这些关系我们来讨论结果到底是什么,首先是引用test1指向已经初始化的Object(对象),然后,test1.testVar=10的意思就是通过这个引用拿到object,再将它的变量testVar赋值为10,而PreferenceTest test2 = test1是指引用test2通过引用test1拿到object,也就是说现在object有两个引用指向它,test2.testVar=5实质上还是在操作当前的object,现在它的变量testVar赋值为5了,现在最关键的也就是test1=null,这句的意思是什么呢?其实很简单,将它的引用指向空(null),而并不是说当前的object变为null了,通过这一句,其实在栈中只有test2指向当前的object,答案也就出来了。
打印的结果为:5
大家也许会觉的这些都是小儿科,其实当真正遇到这个问题的时候,大家会发现往往是最基础的问题把你给栏注了。
下面给大家说一下在项目中实实在在遇到的问题:
开发过eclipse的朋友也许遇到过No more handles Exception ,引起这个exception的具体原因以及该怎么解决以后在讲,现在只是简单的说一下,其实SWT与JAVA的一个区别说造成的,java有一套完整的垃圾回收机制,所以我们不用担心垃圾回收的问题,而在SWT中的很多对象有一个dispose方法,这个方法就是用于释放对象的,只不过是它已经处理了很多实现类,但是有一种资源它没有处理过,那就是Resource对象,这个有点类似于C++,你要手动的去释放这些


相关文档:

java浅谈


———————————————————   ­
  付出的努力非常人所能想象   ­
  ——————————— ......

java jdk5 中的装箱与拆箱

看过.NET基础的朋友可能对这个装箱和拆箱的概念并不陌生。首先,我们必须明确一点,在Java中,有两种截然不同的数据类型:值类型和引用类
型。值类型的数据不是对象,因而所占的内存和资源都相对较少,但是不能作为对象调用其toString()、hashCode()、
getClass()、equals()等等方法,也不能被直接加入到集合中;引用类型 ......

final在java中的应用

final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员、方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中拥有了一个不可或缺的地位,也是学习Java时必须要知道和掌握的关键字之一。
final成员
   当你在类中定义变量时,在其前面加上fi ......

Java字符串函数集锦


java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
String相关函数
1)substring()
它有两种形式,第一种 ......

java socket多线程 接收xml

java socket多线程 接收xml
2009-08-21 17:25
这段时间做了个项目,不过觉得一直是我在写,我们总监再改。。看样子自己的代码能力太差了。而且乱七八糟的啦。。
现将代码分享一下吧 :是从客户端接收xml进行一定的解析,然后入库最后返回吧 中间复杂的逻辑就不说了 。。。
SocketServer.java
package com.socket;
imp ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号