Skip to content

Commit 4dc2e1c

Browse files
committed
update
1 parent 8ef828d commit 4dc2e1c

32 files changed

+565
-1544
lines changed

Java/JVM高频面试题.md

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,3 @@
1-
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2-
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3-
4-
5-
- [讲一下JVM内存结构?](#%E8%AE%B2%E4%B8%80%E4%B8%8Bjvm%E5%86%85%E5%AD%98%E7%BB%93%E6%9E%84)
6-
- [程序计数器](#%E7%A8%8B%E5%BA%8F%E8%AE%A1%E6%95%B0%E5%99%A8)
7-
- [虚拟机栈](#%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%A0%88)
8-
- [本地方法栈](#%E6%9C%AC%E5%9C%B0%E6%96%B9%E6%B3%95%E6%A0%88)
9-
- [](#%E5%A0%86)
10-
- [方法区](#%E6%96%B9%E6%B3%95%E5%8C%BA)
11-
- [运行时常量池](#%E8%BF%90%E8%A1%8C%E6%97%B6%E5%B8%B8%E9%87%8F%E6%B1%A0)
12-
- [直接内存](#%E7%9B%B4%E6%8E%A5%E5%86%85%E5%AD%98)
13-
- [Java对象的定位方式](#java%E5%AF%B9%E8%B1%A1%E7%9A%84%E5%AE%9A%E4%BD%8D%E6%96%B9%E5%BC%8F)
14-
- [说一下堆栈的区别?](#%E8%AF%B4%E4%B8%80%E4%B8%8B%E5%A0%86%E6%A0%88%E7%9A%84%E5%8C%BA%E5%88%AB)
15-
- [什么情况下会发生栈溢出?](#%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%E4%B8%8B%E4%BC%9A%E5%8F%91%E7%94%9F%E6%A0%88%E6%BA%A2%E5%87%BA)
16-
- [类文件结构](#%E7%B1%BB%E6%96%87%E4%BB%B6%E7%BB%93%E6%9E%84)
17-
- [什么是类加载?类加载的过程?](#%E4%BB%80%E4%B9%88%E6%98%AF%E7%B1%BB%E5%8A%A0%E8%BD%BD%E7%B1%BB%E5%8A%A0%E8%BD%BD%E7%9A%84%E8%BF%87%E7%A8%8B)
18-
- [什么是双亲委派模型?](#%E4%BB%80%E4%B9%88%E6%98%AF%E5%8F%8C%E4%BA%B2%E5%A7%94%E6%B4%BE%E6%A8%A1%E5%9E%8B)
19-
- [为什么需要双亲委派模型?](#%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%8F%8C%E4%BA%B2%E5%A7%94%E6%B4%BE%E6%A8%A1%E5%9E%8B)
20-
- [什么是类加载器,类加载器有哪些?](#%E4%BB%80%E4%B9%88%E6%98%AF%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8%E7%B1%BB%E5%8A%A0%E8%BD%BD%E5%99%A8%E6%9C%89%E5%93%AA%E4%BA%9B)
21-
- [类的实例化顺序?](#%E7%B1%BB%E7%9A%84%E5%AE%9E%E4%BE%8B%E5%8C%96%E9%A1%BA%E5%BA%8F)
22-
- [如何判断一个对象是否存活?](#%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E4%B8%80%E4%B8%AA%E5%AF%B9%E8%B1%A1%E6%98%AF%E5%90%A6%E5%AD%98%E6%B4%BB)
23-
- [可作为GC Roots的对象有哪些?](#%E5%8F%AF%E4%BD%9C%E4%B8%BAgc-roots%E7%9A%84%E5%AF%B9%E8%B1%A1%E6%9C%89%E5%93%AA%E4%BA%9B)
24-
- [什么情况下类会被卸载?](#%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%E4%B8%8B%E7%B1%BB%E4%BC%9A%E8%A2%AB%E5%8D%B8%E8%BD%BD)
25-
- [强引用、软引用、弱引用、虚引用是什么,有什么区别?](#%E5%BC%BA%E5%BC%95%E7%94%A8%E8%BD%AF%E5%BC%95%E7%94%A8%E5%BC%B1%E5%BC%95%E7%94%A8%E8%99%9A%E5%BC%95%E7%94%A8%E6%98%AF%E4%BB%80%E4%B9%88%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB)
26-
- [GC是什么?为什么要GC?](#gc%E6%98%AF%E4%BB%80%E4%B9%88%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81gc)
27-
- [Minor GC 和 Full GC的区别?](#minor-gc-%E5%92%8C-full-gc%E7%9A%84%E5%8C%BA%E5%88%AB)
28-
- [内存的分配策略?](#%E5%86%85%E5%AD%98%E7%9A%84%E5%88%86%E9%85%8D%E7%AD%96%E7%95%A5)
29-
- [Full GC 的触发条件?](#full-gc-%E7%9A%84%E8%A7%A6%E5%8F%91%E6%9D%A1%E4%BB%B6)
30-
- [垃圾回收算法有哪些?](#%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E7%AE%97%E6%B3%95%E6%9C%89%E5%93%AA%E4%BA%9B)
31-
- [有哪些垃圾回收器?](#%E6%9C%89%E5%93%AA%E4%BA%9B%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E5%99%A8)
32-
- [常用的 JVM 调优的命令都有哪些?](#%E5%B8%B8%E7%94%A8%E7%9A%84-jvm-%E8%B0%83%E4%BC%98%E7%9A%84%E5%91%BD%E4%BB%A4%E9%83%BD%E6%9C%89%E5%93%AA%E4%BA%9B)
33-
- [对象头了解吗?](#%E5%AF%B9%E8%B1%A1%E5%A4%B4%E4%BA%86%E8%A7%A3%E5%90%97)
34-
- [main方法执行过程](#main%E6%96%B9%E6%B3%95%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B)
35-
- [对象创建过程](#%E5%AF%B9%E8%B1%A1%E5%88%9B%E5%BB%BA%E8%BF%87%E7%A8%8B)
36-
- [如何排查 OOM 的问题?](#%E5%A6%82%E4%BD%95%E6%8E%92%E6%9F%A5-oom-%E7%9A%84%E9%97%AE%E9%A2%98)
37-
38-
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
39-
40-
> 首先给大家分享一个github仓库,上面放了**200多本经典的计算机书籍**,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,可以star一下,下次找书直接在上面搜索,仓库持续更新中~
41-
>
42-
> github地址:https://github.com/Tyson0314/java-books
43-
>
44-
> 如果github访问不了,可以访问gitee仓库。
45-
>
46-
> gitee地址:https://gitee.com/tysondai/java-books
47-
481
## 讲一下JVM内存结构?
492

503
JVM内存结构分为5大区域,**程序计数器****虚拟机栈****本地方法栈********方法区**

Java/Java基础面试题.md

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,3 @@
1-
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2-
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3-
4-
- [Java的特点](#java%E7%9A%84%E7%89%B9%E7%82%B9)
5-
- [Java 与 C++ 的区别](#java-%E4%B8%8E-c-%E7%9A%84%E5%8C%BA%E5%88%AB)
6-
- [面向对象和面向过程的区别?](#%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E5%92%8C%E9%9D%A2%E5%90%91%E8%BF%87%E7%A8%8B%E7%9A%84%E5%8C%BA%E5%88%AB)
7-
- [JKD和JRE的区别?](#jkd%E5%92%8Cjre%E7%9A%84%E5%8C%BA%E5%88%AB)
8-
- [面向对象有哪些特性?](#%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E6%9C%89%E5%93%AA%E4%BA%9B%E7%89%B9%E6%80%A7)
9-
- [Java的基本数据类型有哪些?](#java%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E6%9C%89%E5%93%AA%E4%BA%9B)
10-
- [什么是值传递和引用传递?](#%E4%BB%80%E4%B9%88%E6%98%AF%E5%80%BC%E4%BC%A0%E9%80%92%E5%92%8C%E5%BC%95%E7%94%A8%E4%BC%A0%E9%80%92)
11-
- [自动装箱和拆箱](#%E8%87%AA%E5%8A%A8%E8%A3%85%E7%AE%B1%E5%92%8C%E6%8B%86%E7%AE%B1)
12-
- [String 为什么不可变?](#string-%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E5%8F%AF%E5%8F%98)
13-
- [String, StringBuffer 和 StringBuilder区别](#string-stringbuffer-%E5%92%8C-stringbuilder%E5%8C%BA%E5%88%AB)
14-
- [String 类的常用方法有哪些?](#string-%E7%B1%BB%E7%9A%84%E5%B8%B8%E7%94%A8%E6%96%B9%E6%B3%95%E6%9C%89%E5%93%AA%E4%BA%9B)
15-
- [new String("dabin")会创建几个对象?](#new-stringdabin%E4%BC%9A%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E5%AF%B9%E8%B1%A1)
16-
- [什么是字符串常量池?](#%E4%BB%80%E4%B9%88%E6%98%AF%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%B8%B8%E9%87%8F%E6%B1%A0)
17-
- [object常用方法有哪些?](#object%E5%B8%B8%E7%94%A8%E6%96%B9%E6%B3%95%E6%9C%89%E5%93%AA%E4%BA%9B)
18-
- [讲讲深拷贝和浅拷贝?](#%E8%AE%B2%E8%AE%B2%E6%B7%B1%E6%8B%B7%E8%B4%9D%E5%92%8C%E6%B5%85%E6%8B%B7%E8%B4%9D)
19-
- [两个对象的hashCode()相同,则 equals()是否也一定为 true?](#%E4%B8%A4%E4%B8%AA%E5%AF%B9%E8%B1%A1%E7%9A%84hashcode%E7%9B%B8%E5%90%8C%E5%88%99-equals%E6%98%AF%E5%90%A6%E4%B9%9F%E4%B8%80%E5%AE%9A%E4%B8%BA-true)
20-
- [Java创建对象有几种方式?](#java%E5%88%9B%E5%BB%BA%E5%AF%B9%E8%B1%A1%E6%9C%89%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F)
21-
- [说说类实例化的顺序](#%E8%AF%B4%E8%AF%B4%E7%B1%BB%E5%AE%9E%E4%BE%8B%E5%8C%96%E7%9A%84%E9%A1%BA%E5%BA%8F)
22-
- [equals和==有什么区别?](#equals%E5%92%8C%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB)
23-
- [常见的关键字有哪些?](#%E5%B8%B8%E8%A7%81%E7%9A%84%E5%85%B3%E9%94%AE%E5%AD%97%E6%9C%89%E5%93%AA%E4%BA%9B)
24-
- [static](#static)
25-
- [final](#final)
26-
- [this](#this)
27-
- [super](#super)
28-
- [final, finally, finalize 的区别](#final-finally-finalize-%E7%9A%84%E5%8C%BA%E5%88%AB)
29-
- [final关键字的作用?](#final%E5%85%B3%E9%94%AE%E5%AD%97%E7%9A%84%E4%BD%9C%E7%94%A8)
30-
- [方法重载和重写的区别?](#%E6%96%B9%E6%B3%95%E9%87%8D%E8%BD%BD%E5%92%8C%E9%87%8D%E5%86%99%E7%9A%84%E5%8C%BA%E5%88%AB)
31-
- [接口与抽象类区别?](#%E6%8E%A5%E5%8F%A3%E4%B8%8E%E6%8A%BD%E8%B1%A1%E7%B1%BB%E5%8C%BA%E5%88%AB)
32-
- [常见的Exception有哪些?](#%E5%B8%B8%E8%A7%81%E7%9A%84exception%E6%9C%89%E5%93%AA%E4%BA%9B)
33-
- [Error和Exception的区别?](#error%E5%92%8Cexception%E7%9A%84%E5%8C%BA%E5%88%AB)
34-
- [运行时异常和非运行时异常(checked)的区别?](#%E8%BF%90%E8%A1%8C%E6%97%B6%E5%BC%82%E5%B8%B8%E5%92%8C%E9%9D%9E%E8%BF%90%E8%A1%8C%E6%97%B6%E5%BC%82%E5%B8%B8checked%E7%9A%84%E5%8C%BA%E5%88%AB)
35-
- [throw和throws的区别?](#throw%E5%92%8Cthrows%E7%9A%84%E5%8C%BA%E5%88%AB)
36-
- [BIO/NIO/AIO区别的区别?](#bionioaio%E5%8C%BA%E5%88%AB%E7%9A%84%E5%8C%BA%E5%88%AB)
37-
- [守护线程是什么?](#%E5%AE%88%E6%8A%A4%E7%BA%BF%E7%A8%8B%E6%98%AF%E4%BB%80%E4%B9%88)
38-
- [Java支持多继承吗?](#java%E6%94%AF%E6%8C%81%E5%A4%9A%E7%BB%A7%E6%89%BF%E5%90%97)
39-
- [如何实现对象克隆?](#%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E5%AF%B9%E8%B1%A1%E5%85%8B%E9%9A%86)
40-
- [同步和异步的区别?](#%E5%90%8C%E6%AD%A5%E5%92%8C%E5%BC%82%E6%AD%A5%E7%9A%84%E5%8C%BA%E5%88%AB)
41-
- [阻塞和非阻塞的区别?](#%E9%98%BB%E5%A1%9E%E5%92%8C%E9%9D%9E%E9%98%BB%E5%A1%9E%E7%9A%84%E5%8C%BA%E5%88%AB)
42-
- [Java8的新特性有哪些?](#java8%E7%9A%84%E6%96%B0%E7%89%B9%E6%80%A7%E6%9C%89%E5%93%AA%E4%BA%9B)
43-
- [什么是序列化和反序列化?](#%E4%BB%80%E4%B9%88%E6%98%AF%E5%BA%8F%E5%88%97%E5%8C%96%E5%92%8C%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96)
44-
- [如何实现序列化](#%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E5%BA%8F%E5%88%97%E5%8C%96)
45-
46-
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
47-
48-
> 首先给大家分享一个github仓库,上面放了**200多本经典的计算机书籍**,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,可以star一下,下次找书直接在上面搜索,仓库持续更新中~
49-
>
50-
> github地址:https://github.com/Tyson0314/java-books
51-
>
52-
> 如果github访问不了,可以访问gitee仓库。
53-
>
54-
> gitee地址:https://gitee.com/tysondai/java-books
55-
561
## Java的特点
572

583
**Java是一门面向对象的编程语言。**面向对象和面向过程的区别参考下一个问题。

Java/Java并发面试题.md

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,3 @@
1-
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2-
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3-
4-
5-
- [线程池](#%E7%BA%BF%E7%A8%8B%E6%B1%A0)
6-
- [为什么使用线程池?](#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8%E7%BA%BF%E7%A8%8B%E6%B1%A0)
7-
- [线程池执行原理?](#%E7%BA%BF%E7%A8%8B%E6%B1%A0%E6%89%A7%E8%A1%8C%E5%8E%9F%E7%90%86)
8-
- [线程池参数有哪些?](#%E7%BA%BF%E7%A8%8B%E6%B1%A0%E5%8F%82%E6%95%B0%E6%9C%89%E5%93%AA%E4%BA%9B)
9-
- [线程池大小怎么设置?](#%E7%BA%BF%E7%A8%8B%E6%B1%A0%E5%A4%A7%E5%B0%8F%E6%80%8E%E4%B9%88%E8%AE%BE%E7%BD%AE)
10-
- [线程池的类型有哪些?适用场景?](#%E7%BA%BF%E7%A8%8B%E6%B1%A0%E7%9A%84%E7%B1%BB%E5%9E%8B%E6%9C%89%E5%93%AA%E4%BA%9B%E9%80%82%E7%94%A8%E5%9C%BA%E6%99%AF)
11-
- [进程线程](#%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B)
12-
- [线程的生命周期](#%E7%BA%BF%E7%A8%8B%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F)
13-
- [讲讲线程中断?](#%E8%AE%B2%E8%AE%B2%E7%BA%BF%E7%A8%8B%E4%B8%AD%E6%96%AD)
14-
- [创建线程有哪几种方式?](#%E5%88%9B%E5%BB%BA%E7%BA%BF%E7%A8%8B%E6%9C%89%E5%93%AA%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F)
15-
- [什么是线程死锁?](#%E4%BB%80%E4%B9%88%E6%98%AF%E7%BA%BF%E7%A8%8B%E6%AD%BB%E9%94%81)
16-
- [线程死锁怎么产生?怎么避免?](#%E7%BA%BF%E7%A8%8B%E6%AD%BB%E9%94%81%E6%80%8E%E4%B9%88%E4%BA%A7%E7%94%9F%E6%80%8E%E4%B9%88%E9%81%BF%E5%85%8D)
17-
- [线程run和start的区别?](#%E7%BA%BF%E7%A8%8Brun%E5%92%8Cstart%E7%9A%84%E5%8C%BA%E5%88%AB)
18-
- [线程都有哪些方法?](#%E7%BA%BF%E7%A8%8B%E9%83%BD%E6%9C%89%E5%93%AA%E4%BA%9B%E6%96%B9%E6%B3%95)
19-
- [volatile底层原理](#volatile%E5%BA%95%E5%B1%82%E5%8E%9F%E7%90%86)
20-
- [synchronized的用法有哪些?](#synchronized%E7%9A%84%E7%94%A8%E6%B3%95%E6%9C%89%E5%93%AA%E4%BA%9B)
21-
- [synchronized的作用有哪些?](#synchronized%E7%9A%84%E4%BD%9C%E7%94%A8%E6%9C%89%E5%93%AA%E4%BA%9B)
22-
- [synchronized 底层实现原理?](#synchronized-%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86)
23-
- [volatile和synchronized的区别是什么?](#volatile%E5%92%8Csynchronized%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%E4%BB%80%E4%B9%88)
24-
- [ReentrantLock和synchronized区别](#reentrantlock%E5%92%8Csynchronized%E5%8C%BA%E5%88%AB)
25-
- [wait()和sleep()的异同点?](#wait%E5%92%8Csleep%E7%9A%84%E5%BC%82%E5%90%8C%E7%82%B9)
26-
- [Runnable和Callable有什么区别?](#runnable%E5%92%8Ccallable%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB)
27-
- [线程执行顺序怎么控制?](#%E7%BA%BF%E7%A8%8B%E6%89%A7%E8%A1%8C%E9%A1%BA%E5%BA%8F%E6%80%8E%E4%B9%88%E6%8E%A7%E5%88%B6)
28-
- [守护线程是什么?](#%E5%AE%88%E6%8A%A4%E7%BA%BF%E7%A8%8B%E6%98%AF%E4%BB%80%E4%B9%88)
29-
- [线程间通信方式](#%E7%BA%BF%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1%E6%96%B9%E5%BC%8F)
30-
- [ThreadLocal](#threadlocal)
31-
- [ThreadLocal原理](#threadlocal%E5%8E%9F%E7%90%86)
32-
- [ThreadLocal内存泄漏的原因?](#threadlocal%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E7%9A%84%E5%8E%9F%E5%9B%A0)
33-
- [ThreadLocal使用场景有哪些?](#threadlocal%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF%E6%9C%89%E5%93%AA%E4%BA%9B)
34-
- [AQS原理](#aqs%E5%8E%9F%E7%90%86)
35-
- [ReentrantLock 是如何实现可重入性的?](#reentrantlock-%E6%98%AF%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E5%8F%AF%E9%87%8D%E5%85%A5%E6%80%A7%E7%9A%84)
36-
- [锁的分类](#%E9%94%81%E7%9A%84%E5%88%86%E7%B1%BB)
37-
- [公平锁与非公平锁](#%E5%85%AC%E5%B9%B3%E9%94%81%E4%B8%8E%E9%9D%9E%E5%85%AC%E5%B9%B3%E9%94%81)
38-
- [共享式与独占式锁](#%E5%85%B1%E4%BA%AB%E5%BC%8F%E4%B8%8E%E7%8B%AC%E5%8D%A0%E5%BC%8F%E9%94%81)
39-
- [悲观锁与乐观锁](#%E6%82%B2%E8%A7%82%E9%94%81%E4%B8%8E%E4%B9%90%E8%A7%82%E9%94%81)
40-
- [乐观锁有什么问题?](#%E4%B9%90%E8%A7%82%E9%94%81%E6%9C%89%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98)
41-
- [什么是CAS?](#%E4%BB%80%E4%B9%88%E6%98%AFcas)
42-
- [CAS存在的问题?](#cas%E5%AD%98%E5%9C%A8%E7%9A%84%E9%97%AE%E9%A2%98)
43-
- [并发工具](#%E5%B9%B6%E5%8F%91%E5%B7%A5%E5%85%B7)
44-
- [CountDownLatch](#countdownlatch)
45-
- [CyclicBarrier](#cyclicbarrier)
46-
- [CyclicBarrier和CountDownLatch区别](#cyclicbarrier%E5%92%8Ccountdownlatch%E5%8C%BA%E5%88%AB)
47-
- [Semaphore](#semaphore)
48-
- [原子类](#%E5%8E%9F%E5%AD%90%E7%B1%BB)
49-
- [基本类型原子类](#%E5%9F%BA%E6%9C%AC%E7%B1%BB%E5%9E%8B%E5%8E%9F%E5%AD%90%E7%B1%BB)
50-
- [数组类型原子类](#%E6%95%B0%E7%BB%84%E7%B1%BB%E5%9E%8B%E5%8E%9F%E5%AD%90%E7%B1%BB)
51-
- [引用类型原子类](#%E5%BC%95%E7%94%A8%E7%B1%BB%E5%9E%8B%E5%8E%9F%E5%AD%90%E7%B1%BB)
52-
53-
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
54-
551
## 线程池
562

573
线程池:一个管理线程的池子。

Java/Java集合面试题.md

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,3 @@
1-
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2-
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3-
4-
5-
- [常见的集合有哪些?](#%E5%B8%B8%E8%A7%81%E7%9A%84%E9%9B%86%E5%90%88%E6%9C%89%E5%93%AA%E4%BA%9B)
6-
- [List 、Set和Map 的区别](#list-set%E5%92%8Cmap-%E7%9A%84%E5%8C%BA%E5%88%AB)
7-
- [ArrayList 了解吗?](#arraylist-%E4%BA%86%E8%A7%A3%E5%90%97)
8-
- [ArrayList 的扩容机制?](#arraylist-%E7%9A%84%E6%89%A9%E5%AE%B9%E6%9C%BA%E5%88%B6)
9-
- [怎么在遍历 ArrayList 时移除一个元素?](#%E6%80%8E%E4%B9%88%E5%9C%A8%E9%81%8D%E5%8E%86-arraylist-%E6%97%B6%E7%A7%BB%E9%99%A4%E4%B8%80%E4%B8%AA%E5%85%83%E7%B4%A0)
10-
- [Arraylist 和 Vector 的区别](#arraylist-%E5%92%8C-vector-%E7%9A%84%E5%8C%BA%E5%88%AB)
11-
- [Arraylist 与 LinkedList 区别](#arraylist-%E4%B8%8E-linkedlist-%E5%8C%BA%E5%88%AB)
12-
- [HashMap](#hashmap)
13-
- [解决hash冲突的办法有哪些?HashMap用的哪种?](#%E8%A7%A3%E5%86%B3hash%E5%86%B2%E7%AA%81%E7%9A%84%E5%8A%9E%E6%B3%95%E6%9C%89%E5%93%AA%E4%BA%9Bhashmap%E7%94%A8%E7%9A%84%E5%93%AA%E7%A7%8D)
14-
- [使用的hash算法?](#%E4%BD%BF%E7%94%A8%E7%9A%84hash%E7%AE%97%E6%B3%95)
15-
- [扩容过程?](#%E6%89%A9%E5%AE%B9%E8%BF%87%E7%A8%8B)
16-
- [put方法流程?](#put%E6%96%B9%E6%B3%95%E6%B5%81%E7%A8%8B)
17-
- [红黑树的特点?](#%E7%BA%A2%E9%BB%91%E6%A0%91%E7%9A%84%E7%89%B9%E7%82%B9)
18-
- [为什么使用红黑树而不使用AVL树?](#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8%E7%BA%A2%E9%BB%91%E6%A0%91%E8%80%8C%E4%B8%8D%E4%BD%BF%E7%94%A8avl%E6%A0%91)
19-
- [在解决 hash 冲突的时候,为什么选择先用链表,再转红黑树?](#%E5%9C%A8%E8%A7%A3%E5%86%B3-hash-%E5%86%B2%E7%AA%81%E7%9A%84%E6%97%B6%E5%80%99%E4%B8%BA%E4%BB%80%E4%B9%88%E9%80%89%E6%8B%A9%E5%85%88%E7%94%A8%E9%93%BE%E8%A1%A8%E5%86%8D%E8%BD%AC%E7%BA%A2%E9%BB%91%E6%A0%91)
20-
- [HashMap 的长度为什么是 2 的幂次方?](#hashmap-%E7%9A%84%E9%95%BF%E5%BA%A6%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF-2-%E7%9A%84%E5%B9%82%E6%AC%A1%E6%96%B9)
21-
- [HashMap默认加载因子是多少?为什么是 0.75?](#hashmap%E9%BB%98%E8%AE%A4%E5%8A%A0%E8%BD%BD%E5%9B%A0%E5%AD%90%E6%98%AF%E5%A4%9A%E5%B0%91%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF-075)
22-
- [一般用什么作为HashMap的key?](#%E4%B8%80%E8%88%AC%E7%94%A8%E4%BB%80%E4%B9%88%E4%BD%9C%E4%B8%BAhashmap%E7%9A%84key)
23-
- [HashMap为什么线程不安全?](#hashmap%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BA%BF%E7%A8%8B%E4%B8%8D%E5%AE%89%E5%85%A8)
24-
- [HashMap和HashTable的区别?](#hashmap%E5%92%8Chashtable%E7%9A%84%E5%8C%BA%E5%88%AB)
25-
- [LinkedHashMap底层原理?](#linkedhashmap%E5%BA%95%E5%B1%82%E5%8E%9F%E7%90%86)
26-
- [讲一下TreeMap?](#%E8%AE%B2%E4%B8%80%E4%B8%8Btreemap)
27-
- [HashSet底层原理?](#hashset%E5%BA%95%E5%B1%82%E5%8E%9F%E7%90%86)
28-
- [HashSet、LinkedHashSet 和 TreeSet 的区别?](#hashsetlinkedhashset-%E5%92%8C-treeset-%E7%9A%84%E5%8C%BA%E5%88%AB)
29-
- [什么是fail fast?](#%E4%BB%80%E4%B9%88%E6%98%AFfail-fast)
30-
- [什么是fail safe?](#%E4%BB%80%E4%B9%88%E6%98%AFfail-safe)
31-
- [讲一下ArrayDeque?](#%E8%AE%B2%E4%B8%80%E4%B8%8Barraydeque)
32-
- [哪些集合类是线程安全的?哪些不安全?](#%E5%93%AA%E4%BA%9B%E9%9B%86%E5%90%88%E7%B1%BB%E6%98%AF%E7%BA%BF%E7%A8%8B%E5%AE%89%E5%85%A8%E7%9A%84%E5%93%AA%E4%BA%9B%E4%B8%8D%E5%AE%89%E5%85%A8)
33-
- [迭代器 Iterator 是什么?](#%E8%BF%AD%E4%BB%A3%E5%99%A8-iterator-%E6%98%AF%E4%BB%80%E4%B9%88)
34-
- [Iterator 和 ListIterator 有什么区别?](#iterator-%E5%92%8C-listiterator-%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB)
35-
- [并发容器](#%E5%B9%B6%E5%8F%91%E5%AE%B9%E5%99%A8)
36-
- [ConcurrentHashMap](#concurrenthashmap)
37-
- [put执行流程?](#put%E6%89%A7%E8%A1%8C%E6%B5%81%E7%A8%8B)
38-
- [怎么扩容?](#%E6%80%8E%E4%B9%88%E6%89%A9%E5%AE%B9)
39-
- [ConcurrentHashMap 和 Hashtable 的区别?](#concurrenthashmap-%E5%92%8C-hashtable-%E7%9A%84%E5%8C%BA%E5%88%AB)
40-
- [CopyOnWrite](#copyonwrite)
41-
- [ConcurrentLinkedQueue](#concurrentlinkedqueue)
42-
- [阻塞队列](#%E9%98%BB%E5%A1%9E%E9%98%9F%E5%88%97)
43-
- [JDK提供的阻塞队列](#jdk%E6%8F%90%E4%BE%9B%E7%9A%84%E9%98%BB%E5%A1%9E%E9%98%9F%E5%88%97)
44-
- [原理](#%E5%8E%9F%E7%90%86)
45-
- [参考链接](#%E5%8F%82%E8%80%83%E9%93%BE%E6%8E%A5)
46-
47-
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
48-
49-
50-
511
## 常见的集合有哪些?
522

533
Java集合类主要由两个接口**Collection****Map**派生出来的,Collection有三个子接口:List、Set、Queue。

0 commit comments

Comments
 (0)