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

java中的String池

 
 
在进入我们今天的话题前,先来看看下面这段代码,你知道它的结果吗?
程序代码
public class StringTest1{
  public static void main(String[] args) {
     String str1 = "abc";
     String str2 = "abc";
     System.out.println(str1 == str2);
   }
}
   正确答案应该是true。再来看下面这段代码:
程序代码
public class StringTest2 {
   public static void main(String[] args) {
     String str1 = new String("abc");
     String str2 = new String("abc");
     System.out.println(str1 == str2);
  }
}
   正确答案是false。
   众所周知,java的String是不可改变的字符串对象。为了提高效率,java为String类提供了串池。正如大家所看到的那样,在StringTest1中就使用了串池。当你重新声明一个String型变量为abc时,将使用串池里原来的那个abc,而不重新分配内存,也就是说,str2与str1将会指向同一块内存。所以结果为true。在StringTest2中使用了普通对象的声明方式,系统将会为str1和str2各分配一块内存。所以结果为false。


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Java中的equals()和hashCode()方法

    在Java语言中,一般不需要自定义equals()和hashCode()这两个方法,当需要对对象的内容进行比较的时候,才需要这样两个方法。例如,需要把对象放入HashSet或者把对象作为key放入HashMap、 Hashtable时,如果不想把具有相同内容的两个对象作为两个对象来看待,就需要重定义这两个方法。这两个方法的使用是 ......

使用 Java Native Interface 的最佳实践

 Java™ 本机接口(Java Native Interface,JNI)是一个标准的 Java API,它支持将 Java 代码与使用其他编程语言编写的代码相集成。如果您希望利用已有的代码资源,那么可以使用 JNI 作为您工具包中的关键组件 —— 比如在面向服务架构(SOA)和基于云的系统中。但是,如果在使用时未注意某些事项,则 ......

针对java画面闪烁


     如题!解决的方法是增加一个虚背景。之后把虚背景增加到原来的Frame上。由于repaint()到paint()中间涉及到update(),所以解决问题的
关键是在重写update(),在这个方法中实现虚背景的添加~~
   @Override
public void update(Graphics g) 
{
if(offScreenImage == null) ......

Java Application 直接通过jndi连接数据库

 使用jar包:
 commons-pool-1.5.3.jar,tomcat-naming-common.jar,commons-pool-1.5.3-bin.zip,commons-dbcp.jar
 注意:jdbc 驱动要与数据库兼容.
 package test.comm;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Hashtable;
import javax.naming.InitialCont ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号