- 博客(6)
- 收藏
- 关注
原创 日常总结
一、前提写给自己的提醒,工程里讲重设计轻coding,刷题也一样,重思路逻辑轻coding。在纸上把整体思路按逻辑写好coding就简单了,如果上来就直接大脑跟着手敲的代码走就很容易陷进去误区。二、整体知识结构梳理1、数据结构1. 一维结构:基础结构:数组(List 可变数组由ArrayList和LinkedList实现)、链表、集合(Set)、Map高级结构:栈(Stack)、队列(Queue由LinkedList等实现)、双端队列(Deque由LinkedList等实现)2. 二维结构:
2020-06-11 23:32:19
103
原创 Java线程池中的核心线程是如何被重复利用的?
好文链接:https://blog.csdn.net/MingHuang2017/article/details/79571529
2020-05-31 12:49:10
166
转载 Java并发编程:线程池的使用
Java并发编程:线程池的使用](https://www.cnblogs.com/dolphin0520/p/3932921.html)Java并发编程:线程池的使用如果我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java
2020-05-31 12:44:03
89
转载 Java并发编程:Callable、Future和FutureTask
Java并发编程:Callable、Future和FutureTaskJava并发编程:Callable、Future和FutureTask在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完
2020-05-31 12:36:46
99
原创 Collection简介
List1)ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。2)Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写.
2020-05-31 12:23:18
348
原创 Hashtable、HashMap、ConcurrentHashMap、TreeMap的区别
Hashtable、HashMap、ConcurrentHashMap、TreeMap的区别HashMap是继承自AbstractMap类,而HashTable是继承自Dictionary类。不过它们都同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口。存储的内容是基于key-value的键值对映射,不能有重复的key,而且一个key只能映射一个value。HashSet底层就是基于HashMap实现的。Hashtable的key、value都不能为null
2020-05-31 12:03:02
354
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人