5.2.3 HashCode方法
Rabin-Karp 字符串编码
维基百科:https://zh.wikipedia.org/wiki/%E6%8B%89%E5%AE%BE-%E5%8D%A1%E6%99%AE%E7%AE%97%E6%B3%95
力扣题目:https://leetcode-cn.com/problems/longest-duplicate-substring/solution/zui-chang-zhong-fu-zi-chuan-by-leetcode-0i9rd/
Object 类的哈希值获取:实际存放数据的地址
jdk8u/jdk8u/hotspot: 87ee5ee27509 src/share/vm/runtime/synchronizer.cpp
生成源码(JDK1.8),总结,共六种方式获取哈希:
实际上,JDK6和JDK7使用的是 第一种随机数,JDK8使用的是第六种线程状态结合xorshift,啊啊啊,被腾讯云骗了(写的第一个和第五,应该是第一和第六吧),公众号那里发错了
o(╥﹏╥)o,眼睛看到的才是真相,不能太轻信:
JDK6截图:
JDK8截图:
参考下面这篇:
java默认的hashcode方法到底得到的是什么? - 云+社区 - 腾讯云
其他参考文档:
What does java mean by native and how to view the source code, such as hashcode
从源码看Java中Object类中hashCode方法的实现_weixin_42559495的博客
自己如何选用哈希码?
5.2.4 toString 方法
Object默认方法:类名@16进制哈希码
StringBuilder和StringBuffer默认:生成字符串对象
重写 toString 通常为了打印数据
public class Main {public static void main(String[] args){
Main solution = new Main();
A a = solution.new A();
System.out.println(a);//打印类时,会自动调用 toString 方法
}
class A{
@Override
public String toString() {
return "My name is A, Ha ha ha!";
}
}
}
系列内容:
《Java 核心技术 卷1》 笔记:第一章 Java程序设计概述
《Java 核心技术 卷1》 笔记:第二章 Java程序设计环境
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(1)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(2)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(3)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(4)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(6)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(7)大数处理、数组、多维数组、控制台传参
《Java 核心技术 卷1》 笔记 第四章:类与对象
《Java 核心技术 卷1》 笔记 第四章:类与对象(2) GregorianCalendar 与 类的基本组成
《Java 核心技术 卷1》 笔记 第四章:类与对象(3) 构造器全局私有方法
《Java 核心技术 卷1》 笔记 第四章:类与对象(4) 静态字段+静态方法+工厂方法
《Java 核心技术 卷1》 笔记 第四章:类与对象(5) 形参与实参 构造器的默认值与默认构造
《Java 核心技术 卷1》 笔记 第四章:类与对象(6) 构造器调用与初始化块
《Java 核心技术 卷1》 笔记 第四章:类与对象(7) 注释、JavaDoc与类设计
《Java 核心技术 卷1》 笔记 第五章 继承
《Java 核心技术 卷1》 笔记 第五章 继承(2)
《Java 核心技术 卷1》 笔记 第五章 继承(3)
《Java 核心技术 卷1》 笔记 第五章 继承(4)equals方法
喜欢的话,点个赞吧~!平时做题,以及笔记内容将更新到公众号。
关注公众号,互相学习:钰娘娘知识汇总