摘要: 首先来看一下String中hashCode方法的实现源码 在String类中有个私有实例字段hash表示该串的哈希值,在第一次调用hashCode方法时,字符串的哈希值被计算并且赋值给hash字段,之后再调用hashCode方法便可以直接取hash字段返回。 String类中的hashCode计算方 阅读全文
posted @ 2018-03-22 20:53 一頁書 阅读(11256) 评论(0) 推荐(1) 编辑
摘要: 今天这篇文章我们打算来深度解读一下equal方法以及其关联方法hashCode(),我们准备从以下几点入手分析: 1.equals()的所属以及内部原理(即Object中equals方法的实现原理) 说起equals方法,我们都知道是超类Object中的一个基本方法,用于检测一个对象是否与另外一个对 阅读全文
posted @ 2018-03-22 20:50 一頁書 阅读(733) 评论(0) 推荐(0) 编辑
摘要: 运行时常量池是方法区(PermGen)的一部分。 需要提前了解: 1. JVM内存模型。 2. JAVA对象在JVM中内存分配 常量池的好处 常量池是为了避免频繁的创建和销毁对象而影响系统性能,其实现了对象的共享。 - Java的自动装箱中其实就使用到了运行时常量池。详见:Java 自动装箱与拆箱的 阅读全文
posted @ 2018-03-22 14:19 一頁書 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著 阅读全文
posted @ 2018-03-22 14:15 一頁書 阅读(146) 评论(0) 推荐(0) 编辑