Java面试
文章平均质量分 84
Mr.huang
做个极客
展开
-
HashMap 源码分析
得益于 Doug Lea 老爷子的操刀,让 HashMap 成为使用和面试最频繁的 API,没办法设计的太优秀了!HashMap 最早出现在 JDK 1.2 中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,在计算哈键的哈希值时,null 键哈希值为 0。HashMap 并不保 证键值对的顺序,这意味着在进行某些操作后,键值对的顺序可能会发生变化。另外,需要注意的是,HashMap 是非线程安全类,在多线程环境下可能会存在问题。原创 2023-04-02 11:58:12 · 95 阅读 · 0 评论 -
HashCode 为什么使用 31 作为乘数?
hashCode在Java中所代表的是一种方法,是获得hash值的一种方法。hash 翻译做“散列”,也可直译为“哈希”,就是把任意长度的值输入,通过hash()函数输出固定长度的消息摘要。hash函数也有很多种,包括:直接取余法,乘法取整法,平方取中法,暂时先了解有这些方法即可。hash表是啥?hash表是由hash值组成的。HashCode的存在主要是为了查找的快捷性,HashCode是用来在散列存储结构中确定对象的存储地址的(用HashCode来代表对象就是在hash表中的位置)。原创 2023-03-30 11:14:59 · 357 阅读 · 0 评论 -
微服务核心
注册成功后,其他微服务如果需要使用另一个微服务会从服务端进行拉取,并且拉取的是微服务名称,就算一个微服务搭建有集群也没啥关系,然后在nacos服务端就会将服务名自动解析成网段,并且拉取服务也是30秒一次,并且拉取完成后会将信息存储到本地(nacos Client 会缓存服务注册表中的信息),就算nacos服务端宕机已经拉取到的服务也能正常通讯,但如果再注册一个微服务则不能拉取到这个服务。nacos Server提供服务发现的功能,各个微服务会将自己的信息注册到nacos Server。原创 2023-03-30 09:46:10 · 46 阅读 · 0 评论