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

java装箱与拆箱

/**
* ==号是比较两个基本类型是否相等,或者比较两个对象引用是否相同
*/
public class T {

public static void main(String[] args) {
Integer i1 = 128;
Integer i2 = 128;
int i3 = 128;
int i4 = 128;
Integer i5 = 127;
Integer i6 = 127;

Long long1 = 128L;
Long long2 = 128L;
long long3 = 128L;
long long4 = 128L;
long long5 = -128L;
long long6 = -128L;

//-128 ~ 127之间数值装箱时会共享内存副本, 超过这个范围,则不会共享引用,即对象地址将不同

System.out.println(i1 == i2); //实质是比较两个不同引用 false
System.out.println(i5 == i6); //实质是比较两个相同(共享)引用true
System.out.println(i1 == i3); //先将i1拆箱,然后比较基本类型 true
System.out.println(i1.equals(i4)); //先将i4装箱,然后比较基本类型 true

System.out.println(long1 == long2);//两个引用不同 false
System.out.println(long5 == long6);//共用副本 true
System.out.println(long1 == long3);//long1先拆箱, 在比较 true
System.out.println(long2.equals(long4));//long4先装箱, 再equals, true
}
}


相关文档:

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
 1.  build vserv-tcpip-0.9.2-src
      在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......

解析Java类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

Java中字符串(String)的存储和赋值原理

可能很多java的初学者对String的存储和赋值有迷惑,以下是一个很简单的测试用例,你只需要花几分钟时间便可理解。
1.在看例子之前,确保你理解以下几个术语:
 
栈 :由JVM分配区域,用于保存线程执行的动作和数据引用。栈是一个运行的单位,Java中一个线程就会相应有一个线程栈与之对应。
 
堆 :由JVM分配 ......

jnlp(Java网络加载协议)原来很简单

Java Network Launching Protocol (JNLP,java网络加载协议)。
jnlp是什么?是java提供的一种让你可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序.好处就不用说了,如果你的java应用程序以jnlp 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更 ......

java中当前路径 相对路径

public class FilePath {
  public void Print() {
   String a = this.getClass().getClassLoader().getResource(".").getPath();
   String b = this.getClass().getResource("").getPath();
   String c = this.getClass().getResource(" ").getPath();
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号