Skip to content

Commit 84d8f8c

Browse files
Update README.md
1 parent fdb3cf0 commit 84d8f8c

File tree

1 file changed

+57
-138
lines changed

1 file changed

+57
-138
lines changed

README.md

Lines changed: 57 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -1,139 +1,58 @@
1-
* [Java基础](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md)
1+
## Java基础
2+
3+
* [Java基础](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#Java基础)
24
* [1.说下面向对象四大特性](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#1说下面向对象四大特性)
3-
* [2.Java语言有哪些特点](#2抽象类和接口java7的区别)
4-
* [3.什么是Java程序的主类?应用程序和小程序的主类有何不同?](3.什么是Java程序的主类?应用程序和小程序的主类有何不同?)
5-
* [4.访问修饰符public,private,protected,以及不写(默认)时的区别?](4.访问修饰符public,private,protected,以及不写(默认)时的区别?)
6-
* []()
7-
* [Java多线程](#java多线程)
8-
* [1.说说synchronized的实现原理](#1说说synchronized的实现原理)
9-
* [2.ReentrantLock与synchronized的区别](#2reentrantlock与synchronized的区别)
10-
* [3.ReentrantLock实现原理](#3reentrantlock实现原理)
11-
* [4.Java原子类AtomicInteger实现原理](#4java原子类atomicinteger实现原理)
12-
* [5.Java线程池实现原理](#5java线程池实现原理)
13-
* [6.ThreadLocal实现原理](#6threadlocal实现原理)
14-
* [7.InheritableThreadLocal原理知道吗?](#7inheritablethreadlocal原理知道吗)
15-
* [8.说一下synchronized锁升级过程](#8说一下synchronized锁升级过程)
16-
* [9.了解过什么是“伪共享”吗?](#9了解过什么是伪共享吗)
17-
* [10.“伪共享”出现的原因是什么?](#10伪共享出现的原因是什么)
18-
* [11.如何避免“伪共享”?](#11如何避免伪共享)
19-
* [12.Java里的线程有哪些状态?](#12java里的线程有哪些状态)
20-
* [13.什么是悲观锁?什么是乐观锁?](#13什么是悲观锁什么是乐观锁)
21-
* [14.怎么停止一个运行中的线程?](#14怎么停止一个运行中的线程)
22-
* [15.说一下你对volatile的理解?](#15说一下你对volatile的理解)
23-
* [Java虚拟机](#java虚拟机)
24-
* [说一下JVM的内存结构?](#说一下jvm的内存结构)
25-
* [栈帧里面包含哪些东西?](#栈帧里面包含哪些东西)
26-
* [程序计数器有什么作用?](#程序计数器有什么作用)
27-
* [字符串常量存放在哪个区域?](#字符串常量存放在哪个区域)
28-
* [你熟悉哪些垃圾收集算法?](#你熟悉哪些垃圾收集算法)
29-
* [Java里有哪些引用类型?](#java里有哪些引用类型)
30-
* [JVM怎么判断一个对象是不是要回收?](#jvm怎么判断一个对象是不是要回收)
31-
* [GC Roots 有哪些?](#gc-roots-有哪些)
32-
* [你知道哪些GC类型?](#你知道哪些gc类型)
33-
* [对象都是优先分配在年轻代上的吗?](#对象都是优先分配在年轻代上的吗)
34-
* [你了解过哪些垃圾收集器?](#你了解过哪些垃圾收集器)
35-
* [说说CMS垃圾收集器的工作原理](#说说cms垃圾收集器的工作原理)
36-
* [说说G1垃圾收集器的工作原理](#说说g1垃圾收集器的工作原理)
37-
* [说说ZGC垃圾收集器的工作原理](#说说zgc垃圾收集器的工作原理)
38-
* [ZGC收集器中的染色指针有什么用?](#zgc收集器中的染色指针有什么用)
39-
* [说说类加载的过程](#说说类加载的过程)
40-
* [说下有哪些类加载器?](#说下有哪些类加载器)
41-
* [什么是双亲委派机制?](#什么是双亲委派机制)
42-
* [双亲委派机制可以被违背吗?请举例说明。](#双亲委派机制可以被违背吗请举例说明)
43-
* [Tomcat是怎么打破双亲委派机制的呢?](#tomcat是怎么打破双亲委派机制的呢)
44-
* [Java对象的布局了解过吗?](#java对象的布局了解过吗)
45-
* [MySQL](#mysql)
46-
* [了解过哪些存储引擎?各有什么优缺点?](#了解过哪些存储引擎各有什么优缺点)
47-
* [说一下什么是事务的ACID属性吧](#说一下什么是事务的acid属性吧)
48-
* [事务的隔离级别了解过吗?](#事务的隔离级别了解过吗)
49-
* [说说InnoDB的索引原理](#说说innodb的索引原理)
50-
* [说说InnoDB的MVCC机制](#说说innodb的mvcc机制)
51-
* [有了解过“回表”的概念吗?什么情况下会出现“回表”?](#有了解过回表的概念吗什么情况下会出现回表)
52-
* [MySQL索引的类型](#mysql索引的类型)
53-
* [有做过MySQL的索引优化吗](#有做过mysql的索引优化吗)
54-
* [什么是聚簇索引?](#什么是聚簇索引)
55-
* [InnoDB有聚簇索引吗?MyIsam呢?](#innodb有聚簇索引吗myisam呢)
56-
* [MyIsam的数据是怎么存储的?](#myisam的数据是怎么存储的)
57-
* [InnoDB的数据是怎么存储的?](#innodb的数据是怎么存储的)
58-
* [InnoDB主键索引跟非主键索引在数据存储上的差异](#innodb主键索引跟非主键索引在数据存储上的差异)
59-
* [InnoDB删除某条记录后,内部会怎么处理?](#innodb删除某条记录后内部会怎么处理)
60-
* [InnoDB如果没有设置主键的话,它内部会怎么处理?](#innodb如果没有设置主键的话它内部会怎么处理)
61-
* [为什么InnoDB一定会生成主键?](#为什么innodb一定会生成主键)
62-
* [MySQL分库分表了解过吗?](#mysql分库分表了解过吗)
63-
* [MySQL的redo日志和undo日志分别有什么用?](#mysql的redo日志和undo日志分别有什么用)
64-
* [MySQL的redo日志的刷盘时机](#mysql的redo日志的刷盘时机)
65-
* [MySQL有哪些锁?以及各种锁的作用?](#mysql有哪些锁以及各种锁的作用)
66-
* [Redis](#redis)
67-
* [Redis有哪些数据结构?](#redis有哪些数据结构)
68-
* [Redis为什么那么快?](#redis为什么那么快)
69-
* [Redis如何实现分布式锁?](#redis如何实现分布式锁)
70-
* [Redis是单线程还是多线程?](#redis是单线程还是多线程)
71-
* [缓存失效?缓存穿透?缓存雪崩?缓存并发?](#缓存失效缓存穿透缓存雪崩缓存并发)
72-
* [Redis中的热key怎么处理?](#redis中的热key怎么处理)
73-
* [Redis中的大key怎么处理?](#redis中的大key怎么处理)
74-
* [使用Redis统计网站的UV,应该怎么做?](#使用redis统计网站的uv应该怎么做)
75-
* [Redis事务机制了解过吗?](#redis事务机制了解过吗)
76-
* [Redis key的淘汰策略有哪些?](#redis-key的淘汰策略有哪些)
77-
* [Redis在什么情况下会触发key的回收?](#redis在什么情况下会触发key的回收)
78-
* [Redis的持久化了解过吗?](#redis的持久化了解过吗)
79-
* [Redis在集群种查找key的时候,是怎么定位到具体节点的?](#redis在集群种查找key的时候是怎么定位到具体节点的)
80-
* [Redis集群各个节点之间是怎么保持数据一致性的?](#redis集群各个节点之间是怎么保持数据一致性的)
81-
* [用Redis做延时队列,具体应该怎么实现?](#用redis做延时队列具体应该怎么实现)
82-
* [Redis String的内部编码有哪些?](#redis-string的内部编码有哪些)
83-
* [Spring](#spring)
84-
* [Spring是怎么解决循环依赖的?](#spring是怎么解决循环依赖的)
85-
* [Spring Boot手动装配有哪几种方式?](#spring-boot手动装配有哪几种方式)
86-
* [Spring Boot自动配置原理](#spring-boot自动配置原理)
87-
* [Netty](#netty)
88-
* [你了解过哪些IO模型?](#你了解过哪些io模型)
89-
* [什么是Reactor模型?Reactor的3种版本都知道吗?](#什么是reactor模型reactor的3种版本都知道吗)
90-
* [了解过粘包拆包吗?为什么会出现粘包拆包?怎么处理粘包拆包?](#了解过粘包拆包吗为什么会出现粘包拆包怎么处理粘包拆包)
91-
* [UDP协议会有粘包拆包的问题吗?为什么?](#udp协议会有粘包拆包的问题吗为什么)
92-
* [微服务](#微服务)
93-
* [微服务有哪些优缺点?](#微服务有哪些优缺点)
94-
* [作为注册中心,Zookeeper和Eureka有什么区别?](#作为注册中心zookeeper和eureka有什么区别)
95-
* [Service Mesh了解过吗?](#service-mesh了解过吗)
96-
* [Zookeeper](#zookeeper)
97-
* [Zookeeper有哪些节点类型?](#zookeeper有哪些节点类型)
98-
* [了解过Zookeeper的ZAB协议吗?](#了解过zookeeper的zab协议吗)
99-
* [Zookeeper怎么实现分布式锁?](#zookeeper怎么实现分布式锁)
100-
* [Zookeeper是怎么保证数据一致性的?](#zookeeper是怎么保证数据一致性的)
101-
* [Zookeeper Leader选举过程是怎样的?](#zookeeper-leader选举过程是怎样的)
102-
* [Zookeeper怎么实现服务注册?](#zookeeper怎么实现服务注册)
103-
* [消息队列](#消息队列)
104-
* [消息队列有哪些应用场景?](#消息队列有哪些应用场景)
105-
* [消息队列的弊端有哪些?](#消息队列的弊端有哪些)
106-
* [使用消息队列,怎么确保消息不丢失?](#使用消息队列怎么确保消息不丢失)
107-
* [使用消息队列,如果处理重复消息?](#使用消息队列如果处理重复消息)
108-
* [Kafka的消息是有序的吗?如果保证Kafka消息的顺序性?](#kafka的消息是有序的吗如果保证kafka消息的顺序性)
109-
* [计算机网络](#计算机网络)
110-
* [说下TCP三次握手的过程](#说下tcp三次握手的过程)
111-
* [TCP为什么需要3次握手](#tcp为什么需要3次握手)
112-
* [TCP为什么需要4次挥手](#tcp为什么需要4次挥手)
113-
* [TCP time_wait状态是主动断开方才有,还是被动断开方才有?还是两边都有?](#tcp-time_wait状态是主动断开方才有还是被动断开方才有还是两边都有)
114-
* [TCP的keepalive机制了解过吗?](#tcp的keepalive机制了解过吗)
115-
* [HTTP的keepalive和TCP的keepalive,有什么区别?](#http的keepalive和tcp的keepalive有什么区别)
116-
* [TCP与UDP的区别?](#tcp与udp的区别)
117-
* [简述 HTTP1.0/1.1/2.0 的区别](#简述-http101120-的区别)
118-
* [HTTPS的原理了解过吗?](#https的原理了解过吗)
119-
* [TCP里Nagle算法了解过吗?可以禁用吗?在Java里怎么禁用?](#tcp里nagle算法了解过吗可以禁用吗在java里怎么禁用)
120-
* [HTTP协议为什么无法实现服务端推送?](#http协议为什么无法实现服务端推送)
121-
* [websocket协议升级过程了解过吗?](#websocket协议升级过程了解过吗)
122-
* [数据结构与算法](#数据结构与算法)
123-
* [说下你熟悉的排序算法](#说下你熟悉的排序算法)
124-
* [布隆过滤器了解过吗?](#布隆过滤器了解过吗)
125-
* [一致性hash算法了解过吗?](#一致性hash算法了解过吗)
126-
* [设计模式](#设计模式)
127-
* [Java怎么实现单例模式?](#java怎么实现单例模式)
128-
* [什么是代理模式?什么是动态代理?Java中动态代理有哪些实现方式?](#什么是代理模式什么是动态代理java中动态代理有哪些实现方式)
129-
* [什么是模板方法模式?试举例说明。](#什么是模板方法模式试举例说明)
130-
* [分布式](#分布式)
131-
* [分布式id如何生成?](#分布式id如何生成)
132-
* [雪花算法了解过吗?](#雪花算法了解过吗)
133-
* [什么是CAP定理?](#什么是cap定理)
134-
* [分布式事务了解过吗?](#分布式事务了解过吗)
135-
* [什么是二阶段提交(2PC)?什么是三阶段提交(3PC)?](#什么是二阶段提交2pc什么是三阶段提交3pc)
136-
* [TCC了解过吗?](#tcc了解过吗)
137-
* [Paxos算法了解过吗?](#paxos算法了解过吗)
138-
* [Zookeeper的Zab协议了解过吗?](#zookeeper的zab协议了解过吗)
139-
* [知道什么是Gossip协议吗?](#知道什么是gossip协议吗)
5+
* [2.Java语言有些特点](#2Java语言有哪些特点)
6+
* [3.什么是Java程序的主类?应用程序和小程序的主类有何不同?](#3什么是java程序的主类应用程序和小程序的主类有何不同)
7+
* [4.<strong>访问修饰符public,private,protected,以及不写(默认)时的区别?</strong>](#4访问修饰符publicprivateprotected以及不写默认时的区别)
8+
* [5.<strong>float f=3.4;是否正确?</strong>](#5float-f34是否正确)
9+
* [6.<strong>Java有没有goto?</strong>](#6java有没有goto)
10+
* [7.<strong>&amp;&amp;&amp;的区别?</strong>](#7和的区别)
11+
* [8.<strong>Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?</strong>](#8mathround115-等于多少mathround-115等于多少)
12+
* [9.<strong>用最有效率的方法计算2乘以8?</strong>](#9用最有效率的方法计算2乘以8)
13+
* [10.什么是Java注释](#10什么是java注释)
14+
* [11.Java有哪些数据类型](#11java有哪些数据类型)
15+
* [12.final 有什么用?](#12final-有什么用)
16+
* [13.final finally finalize的区别](#13final-finally-finalize的区别)
17+
* [14.<strong>String str = "i" 和String str = new String("1")一样吗?</strong>](#14string-str--i-和string-str--new-string1一样吗)
18+
* [15.<strong>Java 中操作字符串都有哪些类?它们之间有什么区别?</strong>](#15java-中操作字符串都有哪些类它们之间有什么区别)
19+
* [16.Java中为什么要用 clone?](#16java中为什么要用-clone)
20+
* [17.<strong>深克隆和浅克隆?</strong>](#17深克隆和浅克隆)
21+
* [18.new一个对象的过程和clone一个对象的区别?](#18new一个对象的过程和clone一个对象的区别)
22+
* [19.Java中实现多态的机制是什么?](#19java中实现多态的机制是什么)
23+
* [20.谈谈你对多态的理解?](#20谈谈你对多态的理解)
24+
* [21.<strong>构造器(constructor)是否可被重写(override)?</strong>](#21构造器constructor是否可被重写override)
25+
* [22.<strong>两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?</strong>](#22两个对象值相同xequalsy--true但却可有不同的hash-code这句话对不对)
26+
* [23.<strong>是否可以继承String类?</strong>](#23是否可以继承string类)
27+
* [24.<strong>String类的常用方法有哪些?</strong>](#24string类的常用方法有哪些)
28+
* [25.<strong>char型变量中能否能不能存储一个中文汉字,为什么?</strong>](#25char型变量中能否能不能存储一个中文汉字为什么)
29+
* [26.this关键字的用法](#26this关键字的用法)
30+
* [27.super关键字的用法](#27super关键字的用法)
31+
* [28.this与super的区别](#28this与super的区别)
32+
* [29.static存在的主要意义](#29static存在的主要意义)
33+
* [30.static的独特之处](#30static的独特之处)
34+
* [31.static应用场景](#31static应用场景)
35+
* [32.static注意事项](#32static注意事项)
36+
* [33.break ,continue ,return 的区别及作用](#33break-continue-return-的区别及作用)
37+
* [34.在Java中定义一个不做事且没有参数的构造方法的作用](#34在java中定义一个不做事且没有参数的构造方法的作用)
38+
* [35.构造方法有哪些特性?](#35构造方法有哪些特性)
39+
* [36.静态变量和实例变量区别](#36静态变量和实例变量区别)
40+
* [38.静态方法和实例方法有何不同?](#38静态方法和实例方法有何不同)
41+
* [39.什么是方法的返回值?返回值的作用是什么?](#39什么是方法的返回值返回值的作用是什么)
42+
* [40.什么是内部类?](#40什么是内部类)
43+
* [41.内部类的分类有哪些](#41内部类的分类有哪些)
44+
* [42.Java中异常分为哪些种类?](#42java中异常分为哪些种类)
45+
* [43.hashCode 与 equals (重要)](#43hashcode-与-equals-重要)
46+
* [hashCode()介绍](#hashcode介绍)
47+
* [44.为什么要有 hashCode](#44为什么要有-hashcode)
48+
* [45.抽象类和接口(Java7)的区别](#45抽象类和接口java7的区别)
49+
* [46.Java 8的接口新增了哪些特性?](#46java-8的接口新增了哪些特性)
50+
* [47.重写和重载的区别](#47重写和重载的区别)
51+
* [48.ArrayList和LinkedList有什么区别?](#48arraylist和linkedlist有什么区别)
52+
* [49.HashMap是怎么实现的?](#49hashmap是怎么实现的)
53+
* [50.HashMap在Java7和Java8中的实现有什么不同?](#50hashmap在java7和java8中的实现有什么不同)
54+
* [51.HashMap有时候会死循环,你知道是什么原因吗?](#51hashmap有时候会死循环你知道是什么原因吗)
55+
* [52.ConcurrentHashMap是怎么实现的?](#52concurrenthashmap是怎么实现的)
56+
* [53.静态代理和动态代理的区别](#53静态代理和动态代理的区别)
57+
* [54.JDK动态代理和CGLIB动态代理的区别](#54jdk动态代理和cglib动态代理的区别)
58+
* [参考链接](#参考链接)

0 commit comments

Comments
 (0)