zoukankan      html  css  js  c++  java
  • 创建两个对象的两种方法,一中 ew,另外一种不new

    方法一:
     
    String s1=new String("hello");
    String s2=new String("hello");
     
     
    这里是new了两个不同的对象,s1,s2分别位于栈中,指向堆中不同的空间。
    用new String()创建的字符串不是常量,不能在编译期就确定,所以new String()创建的字符串不放入常量池中,他们有自己的地址空间。
     
    方法二:
    String s3="hello";//在声明过程中,会首先检查常量池中有没有hello
    如果没有则进行实例化并存入常量池,然后将引用(或者说句柄、地址)赋值给a;
    String s4="hello";
     若再接着声明String s4= “hello”,则s4引用的是常量池中已存在的对象。上述情况下判断 s3==s4 的值为true,因为它们引用的是同一个对象。
    s3,s4位于常量池中同一空间,都指向了常量池中的值hello,由于常量池的生命周期具体不知道,所以什么时候s4和s3不相等就不知道了,较短时间内一般都是存在的,所以较短时间内s3==s4的,当第一个变量创建的值在常量池中不存在时就会出现不相等的现象。
    成长就是将哭声调成静音的过程
  • 相关阅读:
    5、垂直拆分---分库--mycat
    4、读写分离---双主双从(mycat)
    3、读写分离---一主一从(mycat)
    2、安装启动(Mycat)
    1、入门(Mycat)
    Nginx 相关参数记录(2)
    Nginx 相关参数记录(1)
    Linux
    一大波学习内容!
    开源镜像站
  • 原文地址:https://www.cnblogs.com/weixiaoling/p/6083236.html
Copyright © 2011-2022 走看看