- 博客(11)
- 收藏
- 关注
原创 史上最牛逼的线程池详解
线程池引入一个线程完成一项任务所需时间为:创建线程时间 - Time1线程中执行任务的时间 - Time2销毁线程时间 - Time3为什么需要线程池线程池技术正是关注如何缩短或调整Time1和Time3的时间,从而提高程序的性能。项目中可以把Time1,Time3分别安排在项目的启动和结束的时间段或者一些空闲的时间段线程池不仅调整Time1,Time3产生的时间段,而且它还显著减少了创建线程的数目,提高线程的复用率系统启动一个新线程的成本是比较高的,因为涉及与操作系统的交互,
2022-05-18 00:22:11
208
原创 手撕TreeSet底层源码
public interface SortedMap<K,V> extends Map<K,V> {}public interface NavigableMap<K,V> extends SortedMap<K,V> {}public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>{ //外置比较器
2022-05-12 20:12:58
239
原创 LinkedList底层源码流程
LinkedList一、简介LinkedList同时实现了List接口和Deque接口,也就是既可以把它看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(stack),这样看来,linkedList简直就是无敌的,当你需要使用栈或者队列时,可以考虑用LinkedList,一方面是因为Java官方已经声明不建议使用Stack类,更遗憾的是,Java里根本没有一个叫做Queue的类(只是一个接口的名字)。关于栈或队列,现在首选是ArrayDeque,它有着比LinkedList(当
2022-05-12 19:59:09
284
原创 ArrayList常用方法及手撕源码
初识ArrayList一、简介:ArrayList是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是支持快速访问、复制、序列化的。ArrayList底层数据结构是数组,查询快,增删慢,线程不安全,效率高,可以存储重复元素二、常用方法:add:添加元素ArrayLi
2022-05-12 19:15:20
209
原创 集合的相关概念
集合一、概念什么是集合呢?集合和数组又有哪些区别呢?集合存放的是都是对象的引用,并不是其本身,所以我们称集合中的对象就是集合中对象的引用。集合和数组的区别:长度区别数组长度是固定的集合长度是可变的内容区别数组可以是基本数据类型,也可以是引用数据类型集合只能是引用数据类型元素区别数组只能存储一种数据类型集合可以存储不同的类型(其实集合一般存储的也是同一种类型)在集合这个大家庭下,分为Collection家族和Map家族,其中Collection家族下分为Li
2022-05-11 19:39:03
149
原创 枚举及其应用
枚举引入编写季节类(Season),该类只有四个对象(spring,summer,autumn,winter)概念枚举(enum)全称为 enumeration, 是 JDK 1.5 中引入的新特性。语法public enum Color{ //默认添加 public static final Color RED,GREEN,BLUE;}本质尽管枚举看起来像是一种新的数据类型,实际上,枚举就是一种受限制的类,并且具有自己的方法。创建自己的enum类时,这个类继承
2022-05-09 23:00:28
596
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人