3: ldc #16 //再次将#16对应的常量值加载到操作数栈中
5: astore_2 //将当前操作数栈中赋于变量2,即str2
从上面字节码执行来看,str1和str2都是被赋于同一个常量值,由此可以得出两个变更指向同一个内存地址。
通过同样的方式,我们来看一下如果是非字面量的情况会是怎么样的,Java代码如下:
package com.jaffa.test.string;
public class ConstPoolTest {
public static void main(String[] args){
【免责声明】本文仅代表作者个人观点,与中国星空时尚网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件内容有任何疑问或质疑,请联系本网将迅速给您回应并做处理。