赞
踩
在Java中,堆内存(Heap)和栈内存(Stack)是两种不同类型的内存区域。它们各自扮演着不同的角色,并具有不同的特性。
new
关键字创建的对象。在Java中,String
对象的hashCode
方法是在运行时计算的,而不是在对象被创建时。当hashCode
方法首次被调用时,它会计算字符串的哈希值并将其缓存在字符串对象的内部字段中。这意味着后续的hashCode
调用可以直接访问缓存的值,而不需要重新计算。
缓存通常涉及到将数据存储在内存中以便快速访问。这通常涉及到堆内存,因为它提供了更大的灵活性和空间来存储对象和数据结构。缓存可以是全局的(如应用程序级别的缓存)或局部的(如方法级别的缓存)。在Java中,缓存可能涉及使用各种数据结构,如HashMap
或自定义的对象,这些都存储在堆内存中。
总结:
hashCode
方法时计算,并缓存在字符串对象内部。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。