JVM常量池

JVM方法区:类变量、类信息、方法信息、常量池(符号引用,以表的形式存在)

常量池表
类型 tag值 所属类别 类型描述
CONSTANT_Utf8_info 1 字面量 UTF-8编码的字符串
CONSTANT_Integer_info 3 字面量 整型字面量
CONSTANT_Float_info 4 字面量 浮点型字面量
CONSTANT_Long_info 5 字面量 长整型字面量
CONSTANT_Double_info 6 字面量 双精度浮点型字面量
CONSTANT_Class_info 7 符号引用 类或接口的符号引用
CONSTANT_String_info 8 字面量 字符串类型字面量
CONSTANT_Fieldref_info 9 符号引用 字段的符号引用
CONSTANT_Methodref_info 10 符号引用 类中方法的符号引用
CONSTANT_InterfaceMethodref_info 11 符号引用 接口中方法的符号引用
CONSTANT_NameAndType_info 12 符号引用 字段或方法的部分符号引用

Integer integer1=127;
Integer integer2=127;

Integer integer3=128;
Integer integer4=128;
System.out.println(integer1==integer2);//ture
System.out.println(integer3==integer4);//false超出范围成为新的对象

1.constant_utf8: 保存字符串的unicode编码。如:lu4f60\u597d\u4e16lu754c
2.CONSTANT_Integer 3 int类型的字面值(-128~127)的值放在这个表里
3.CONSTANT_Float 4 float类型的字面值
4.CONSTANT_Long 5 long类型的字面值
5.CONSTANT_Double 6 double类型的字面值

1.java中是用来比地址的除了基本数据类型外。
2.equals默认与
—样也就是说从object对象里继承过来的方法默认比地址。
3.在java中所由对象的超类都是Object
爸爸是父类,爷爷以上是超类


在java中方法修饰符native表示这个方法是通过JNI来调用C语言或者C++来执行的,
native在本地方法栈执行
toString在线程栈执行

String string1="abc";
String string2="abc";
String string3=new String("abc");//在堆中创建对象
System.out.println(string1==string2); //ture都在常量池创建
System.out.println(string1==string3);//false
System.out.println(string1==string3.intern());//ture  string的intern方法返回是常量池里面字面值的地址。如果常量池里面没有这个字面值,那么先把这个字面值放到常量表里面之后返回常量表的地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andy_2259

如有用,请点赞哦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值