红黑树,是一种高效的自平衡二叉查找树
Rudolf Bayer 于1978年发明红黑树,在当时被称为对称二叉 B 树(symmetric binary B-trees)
。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树
。
红黑树具有良好的效率,它可在近似O(logN)
时间复杂度下完成插入、删除、查找等操作,因此红黑树在业界也被广泛应用,比如 Java 中的 TreeMap,JDK 1.8 中的 HashMap、C++ STL 中的 map 均是基于红黑树结构实现的。
死记硬背,很难学会
红黑树的结构和设计都非常优秀,也同样在实现上有着复杂的处理逻辑,包括插入或者删除节点时;颜色变化、旋转操作等操作。但如果只把这些知识点硬背下来,什么时候染色、什么时候旋转,是没有多大意义的,用不了多久也就忘记了。所以这部分的学习,了解其根本更重要。
1Java语言的三大特性
2.Java语言主要特性
3. JDK和JRE有什么区别
4.Java基本数据类型及其封装类
5.如果main方法被声明为private会怎样?
6.说明- -下public static void main(String argsQ])这段声明里每个关键字的作用
7.==与equals的区别
8.Object有哪些公用方法
9.为什么Java里没有全局变量?
10.while循环和do循环有什么不同?
11.char型变量中能不能存储一个中文汉字?为什么?
12.public, private, protected的区别, 继承方法与访问权限
13.float f=3.4;是否正确?
14.shorts1 = 1;s1 = s1 + 1;有错吗? shorts1 = 1;s1 += 1;有错吗
15.8u和&:&的区别?
16.IntegerCache
17.Locale类是什么?
18Java中final. finally. finalize的区别与用法
19.hashCode0和equals0的区别
20.深拷贝和浅拷贝的区别是什么?
21Java中操作字符串都有哪些类?它们之间有什么区别?
22.String str= "a"与String str=new String(“a”)-样吗?
23.抽象类能使用final 修饰吗?
24.static关键字5连问
25.重载(Overload) 和重写(Override) 的区别。重载的方法能否根据返回类型进行区分?
26.Java的四种引用
27.Java中Comparator与Comparable有什么不同?
28. Java序列化,反序列化?
29.什么情况需要Java序列化?
30.序列化的实现?
31.如果某些数据不想序列化,如何处理?
1.什么是I0流?
2java中有几种类型的流?
3.字节流和字符流哪个好?怎么选择?
4.读取数据量大的文件时,速度会很慢,如何选择流?
5.1O模型有几种?
6.阻塞1O (blocking 10)
7.非阻塞I/O (nonblocking 10)
8.I/O多路复用模型(I0 multiplexing)
9.信号驱动I/O模型
10.异步/O(asynchronous 10)
11.NIO与10的区别?
12.NIO和IO适用场景
13.NIO核心组件
14.什么是channel
15.Java NIO中最常用的通道实现?
16.Buffer是什么?
1.什么是进程?
2.什么是线程?
3.线程的实现方式?
4.Thread类中的start0和run0方法有什么区别?
5.线程NEW状态
6.线程RUNNABLE状态
7.线程的RUNNING状态
8.线程的BLOCKED状态
9.线程的TERMINATED状态
10.线程状态转化图
11.i——与System.out.printIn0的异常
12.如何知道代码段被哪个线程调用?
13.线程活动状态?
14.sleep0方法
15.如何优雅的设置睡民时间?
16.停止线程
17.interrupted和isInterrupted
18.yield
19.线程的优先级
20.优先级继承特性
21.谁跑的更快?
22.线程种类
23.守护线程的特点
24.Java中典型的守护线程
25.如何设置守护线程
25Java虚拟机退出时Daemon线程中的finally块一定会执行?
26.设置线程上下文类加载器
27.join
28.什么是synchronized?
29.synchronized包括哪两个jvm重要的指令?
30.synchronized关键字用法?
31.synchronized锁的是什么?
32.Java对象头
还有很多,这里就不一一例举了
1JDK. JRE、 JVM关系?
2.启动程序如何查看加载了哪些类,以及加载顺序? ’
3. class字节码文件10个主要组成部分?
4.画一下jvm内存结构图?
5.程序计数器
6Java虚拟机栈
7.本地方法栈
8Java堆
9.方法区
10.运行时常量池?
11.什么时候抛出StackOverflowError?
12.Java7和Java8在内存模型上有什么区别?
13.程序员最关注的两个内存区域?
14.直接内存是什么?
15.除了哪个区域外,虚拟机内存其他运行时区域都会发生OutOfMeoryError?
16.什么情况下会出现堆内存溢出?
17如何实现一个堆内存溢出?
18.空间什么情况下会抛出OutOfMemoryError?
19.如何实现StrackOverflowError?
20.如何设置直接内存容量?
21.Java堆内存组成?
22. Edem : from : to默认比例是?
23.垃圾标记阶段?
24.引用计数法?
25.根搜索算法?
26.JVM中三种常见的垃圾收集算法?
27.标记-清除算法?
28.复制算法?
29.标记-整理算法?
30.分代收集算法?
31.垃圾收集器?
32.Stop The World?
金三银四到了,送上一个小福利!
资料领取方式:点击这里蓝色传送门
31.垃圾收集器?
32.Stop The World?
金三银四到了,送上一个小福利!
资料领取方式:点击这里蓝色传送门
[外链图片转存中…(img-f5uH9u2V-1624335688705)]
[外链图片转存中…(img-z0DCdLwi-1624335688707)]
[外链图片转存中…(img-ZzGRrxTT-1624335688710)]