![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 51
IT_小和尚
这个作者很懒,什么都没留下…
展开
-
ArrayList和LinkedList区别
下图,计算机给数组 a[10],分配了一块连续内存空间 1000~1039,其中,内存块的首地址为 base_address = 1000。我们知道,计算机会给每个内存单元分配一个地址,计算机通过地址来访问内存中的数据。我们举的这个例子里,数组中存储的是 int 类型数据,所以 data_type_size 就为 4 个字节。LinkedList:除了存储数据还会存储指向下个数据的指针,插入删除修改指针,增删快,查询慢。扩展:数组查询快是因为数组的特性是 连续的内存空间和相同类型的数据,原创 2022-10-12 16:44:44 · 32 阅读 · 0 评论 -
JDK1.8 创建线程池有哪几种方式
newFixedThreadPool 定长线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这时线程数量不再变化,当线程发生错误结束时,线程池会补充一个新的线程 测试代码: public class TestThreadPool { //定长线程池,每当提交一个任务就创建一个线程,直到达到线程池的最大数量,这时线程数量不再变化,当线程发生错误结束时,线程池会补充一个新的线程 static ExecutorService fixedExecutor = Executo...转载 2021-04-09 16:27:15 · 160 阅读 · 0 评论 -
hashmap
hashmap的数据结构 要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一般称之为“链表散列“,jdk1.8中为数组+链表+红黑树),请看下图(横排表示数组,纵排表示数组元素【实际上是一个链表】)。 从图中我们可以看到一个hashmap就是一个数组结构,当新建一个hashmap..原创 2021-04-09 16:19:45 · 47 阅读 · 0 评论 -
线程start() 和 run()区别
1.创建线程池有哪几种方式? 调用 start() 方法是用来启动线程的,轮到该线程执行时,会自动调用 run();直接调用 run() 方法,无法达到启动多线程的目的,相当于主线程线性执行 Thread 对象的 run() 方法。 一个线程对线的 start() 方法只能调用一次,多次调用会抛出 java.lang.IllegalThreadStateException 异常;run() 方法没有限制。 测试 run() 方法 public class TestThreadRunStart { .转载 2021-04-02 10:14:19 · 30 阅读 · 0 评论