haseCode()方法获取并非对象内存地址

hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,获取对象散列的地址,并非实际内存地址。

java直接打印对象,结果是十六进制的散列地址值

public class ObjectTest {public static void main(String[] args) {Object obj = new Object();System.out.println(obj);System.out.println(Integer.toHexString(obj.hashCode();}
}

haseCode()方法无法证明两个对象是否为同一个对象

public class ObjectTest {public static void main(String[] args) {String s1 = "hello";String s2 = new String("hello");System.out.println(s1.hashCode());System.out.println(s2.hashCode());}
}

打印的值都相等,无法区分两个不同的对象

Java 如何获取对象内存地址

maven引入jol工具包

<dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-core</artifactId><version>0.9</version>
</dependency>

示例代码

public class ObjectTest {public static void main(String[] args) {String s1 = "hello";String s2 = new String("hello");System.out.println(s1==s2);System.out.println(s1.equals(s2));System.out.println("--获取内存地址--");System.out.println(VM.current().addressOf(s1));System.out.println(VM.current().addressOf(s2));}
}

Java获取对象内存地址相关推荐

  1. 深入分析Java中打印对象内存地址 System.identityHashCode()方法

    文章目录 地址是什么样子的 toString()方法 重写hashCode identityHashCode与真正的内存地址 参考 地址是什么样子的 我们知道system.out.println(ne ...

  2. JAVA获取JVM内存空间和物理内存空间

    一.获取JVM内存空间 系统环境:WIN JDK版本:1.8re 直接调用Runtime中相应的方法即可: public long maxMemory()   Returns the maximum ...

  3. 【java】java获取对象属性类型、属性名称、属性值

    java获取对象属性类型.属性名称.属性值 获取属性 修饰符:[在Field[]循环中使用] String modifier = Modifier.toString(fields[i].getModi ...

  4. flask-admin初次使用遇到的几个小问题(显示对象内存地址,编辑无法正确跳转)

    1.flask-admin显示列时如果为列为relationship ,就会显示对象内存地址 我的orm类的 ​​​​​​ 当我想显示Item的place.plaec_name 时我一开始是这样写的 ...

  5. 获取项目服务器ip,java获取服务器ip地址

    java获取服务器ip地址 内容精选 换一换 如果IP经过NAT/WAF,则只能获取到NAT/WAF转化后的IP地址,无法获取到NAT/WAF前的IP地址.如果客户端为容器,只能获取到容器所在主机的I ...

  6. Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL

    Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL >>>>>>>>>>>>> ...

  7. JAVA获取主机IP地址

    JAVA获取主机IP地址 java 获取主机IP地址工具类 import org.springframework.web.context.request.RequestAttributes; impo ...

  8. Java获取对象的内存地址

    前言 我们知道在Java中对于synchronized对于同步方法锁的是当前的实例对象. 例如以下这段代码: import java.util.concurrent.TimeUnit;public c ...

  9. Java中打印对象内存地址

    Object的hashCode()默认是返回内存地址的,但是hashCode()可以重写,所以hashCode()不能代表内存地址的不同 System.identityHashCode(Object) ...

最新文章

  1. 【高级数据类型2】- 10. 接口
  2. EntLib 3.1学习笔记(6) : Security Application Block
  3. opencv中的CommandLineParser类用法
  4. m.soudashi.cn 地图_SEO人员怎样挖掘大量关键词库
  5. hdu 2191 多重背包
  6. (pytorch-深度学习系列)pytorch实现对Fashion-MNIST数据集进行图像分类
  7. 利用python求解度中心性
  8. Java学生实训平台_基于jsp的学生实训平台-JavaEE实现学生实训平台 - java项目源码...
  9. 原生JS 将canvas生成图片
  10. kd-Tree 【专题@AbandonZHANG】
  11. 阿里巴巴如何基于 Kubernetes 实践 CI/CD
  12. 计算机社团招新个人简历,大学社团招新面试自我介绍五篇
  13. 蔬菜大棚原理_温室大棚的原理是什么?
  14. vue脚手架的自定义配置
  15. Java实现八皇后问题
  16. 可汗学院公开课:统计学笔记——线性回归、卡方分布、方差分析
  17. awb入门(2).色彩恒常
  18. python非线性可分支持向量机模型(实现iris分类)
  19. c中纠结不清的点(1)
  20. 长安“战疫”网络安全卫士守护赛部分writeup

热门文章

  1. [附源码]Python计算机毕业设计电商后台管理系统
  2. 整齐美观的资料文件收纳法
  3. c/c++,char型数组转化为int类型
  4. rs485与modbus流程图_多个modbus主机与从机用RS485通讯,怎么办?-专业自动化论坛-中国工控网论坛...
  5. CentOS7.3服务器内网离线部署docker和容器
  6. notepad++汉字在终端显示乱码解决办法
  7. cas14510-06-6|8-羟基喹啉-2-甲醛|8-Hydroxyquinoline-2-carbaldehyde黄色结晶粉末
  8. html的imgie浏览器上显示不出图片,而其他chrome和360安全浏览器都可以
  9. docker出现问题:Docker容器stop,kill都没用,停止删除不了解决方案
  10. [AHOI2005] 航线规划 题解