HashMap 的实现原理简述

HashMap 基于 Hash 算法实现的,我们通过 put(key,value)存储,get(key)来获取。当传入 key 时,HashMap 会根据 key. hashCode() 计算出 hash 值,根据 hash 值将 value 保存在 bucket 里。当计算出的 hash 值相同时,我们称之为 hash 冲突,HashMap 的做法是用链表和红黑树存储相同 hash 值的 value。当 hash 冲突的个数比较少时,使用链表否则使用红黑树。
阅读全文

HashMap 和 Hashtable 有什么区别

存储:HashMap 运行 key 和 value 为 null,而 Hashtable 不允许。 线程安全:Hashtable 是线程安全的,而 HashMap 是非线程安全的。 推荐使用:在 Hashtable 的类注释可以看到,Hashtable 是保留类不建议使用,推荐在单线程环境下使用 HashMap 替代,如果需要多线程使用则用 ConcurrentHashMap 替代。
阅读全文

BIO、NIO、AIO 有什么区别

BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。 NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。 AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。
阅读全文

String 不属于基础类型

String 不属于基础类型,基础类型有 8 种:byte、boolean、char、short、int、float、long、double,而 String 属于对象。
阅读全文

JDK和JRE的区别

具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK
阅读全文

mj12bot

网站经常有mj12bot的爬虫来爬取数据。MJ12bot是英国的一家搜索引擎营销网站Majestic的爬虫,是Majestic-12分布式搜索引擎的爬虫
阅读全文

maven 的 dependencyManagement 使用

maven的dependencyManagement主要是给多模块项目使用的,在parent的pom.xml声明依赖的version,然后各子模块用到了这个依赖直接声明坐标就好,不用声明version。这样方便version的统一的管理
阅读全文

网站www和springboot的301重定向实现

很多网站在打开时,地址栏里的域名有的带有“www.”,而有的网站前面则没有带“www.”,有些网站可以用这两个域名都能访问。 不加“www.”的域名是主网站也称为裸域,加上“www.”的域名,就相当于是一个二级域名,从优化的角度来讲,加上“www.”就会分散主网站的权重。 加上“www.”比较符合咱们国人的习惯,分散权重只是一小部分的,毕竟权重分来分去还是分在你的网站上。最重要的就是多做一些高质量的反链
阅读全文
Loading...