随笔分类 -  JAVA

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 [2] 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
摘要:底层结构 jdk1.8以下:HashMap的底层是:数组+链表(单向链表) jdk1.8+:HashMap的底层是:数组+[链表(单向链表) / 红黑树 ] 线程不安全(put方法没有加锁) 初始化默认大小:16 【1 << 4】 扩容 扩容触发机制: 当前存储过的键值对的数量【即HashMap中的 阅读全文
posted @ 2021-08-05 13:53 风飘落叶 阅读(94) 评论(0) 推荐(0)
摘要:Collection和Collections的区别 1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。声明 阅读全文
posted @ 2021-08-04 14:58 风飘落叶 阅读(127) 评论(0) 推荐(0)
摘要:![image](https://img2020.cnblogs.com/blog/1159660/202108/1159660-20210804105935303-813268313.png) 阅读全文
posted @ 2021-08-04 11:00 风飘落叶 阅读(20) 评论(0) 推荐(0)
摘要:常用的解决方案有: 1.拉链法 2.再哈希法 3.开放地址法 Java中的ThreadLocal就是利用了开放寻址法。 参考地址:https://blog.csdn.net/sinat_33921105/article/details/103295070 4.建立公共溢出区。 参考博客地址: htt 阅读全文
posted @ 2021-08-04 10:59 风飘落叶 阅读(123) 评论(0) 推荐(0)
摘要:很明显,ArrayList是某种程度上的哈希表,适合随机读,但是不适合在集合中间插入和删除(会造成后续数据的位移)。 而LinkedList适合在头尾部插入删除,不适合随机读。 值得一提的是ArrayList随机读的时间复杂度是O(1),LinkedList是O(n)。而ArrayList在中间插入 阅读全文
posted @ 2021-08-04 10:04 风飘落叶 阅读(53) 评论(0) 推荐(0)