首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

hashCode源码原理解析

package unit1;

public class Java06 {

public static void main(String[] args) {

// hashCode方法

// ???????Member member = new Member();

// ???????member.setName("张三");

// Object类:toString、equals、hashcode

// toString方法的原理

// unit1.Member@1b6d3586

// 包名.类名@哈希地址

// ???????System.out.println(member);

// Object顶级父类中toString方法的默认实现:包名.类名@哈希地址

// ???????System.out.println(member.toString());

// hashCode方法作用是获取哈希码(散列码)int整数、确定该对象在哈希表中的索引位置

// 说明:hashCode方法是本地方法(c、c++、java)

// java本地方法:java方法 -> 底层c/c++方法 -> 内存

// 概念:硬件层(c语言)、操作系统层(c/c++)、应用层(java)

// 被native关键字修饰的方法叫做本地方法、本地方法会调用c语言来实现具体功能

// public native int hashCode();

Member member = new Member();

int i = member.hashCode();

Member member2 = new Member();

int i2 = member2.hashCode();

// 线程启动原理也是本地方法:start() -> start0() -> ?private native void start0();

// ???????Thread thread = new Thread();

// ???????thread.start();// 启动线程

}

}

class Member extends Object {

String name;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Override

public String toString() {

return "Member{" +

"name='" + name + '\'' +

'}';

}

}

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O4mqRU9WjyQ20OzNfgDc_Ekg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com