1.java是自己学的还是学校有课程
2.java自动装箱与拆箱
3.java重载与重写的区别
4.浅拷贝与深拷贝
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
5.java创建字符串的方式
6.StringBuffer,String Builder区别
7.StringBuffer为什么是线程安全的
8.synchronized都可以修饰哪些地方
方法,静态方法,代码块,类
9.修饰方法和代码块的区别
谁拿到的锁
锁的粒度
10.java集合分支
Collection
- List
ArrayList
LinkedList
Vector - Set
HashSet
LinkedHashSet
TreeSet
Map
HashMap (LinkedHashMap)
TreeMap
Hashtable (properties)
11.ArrayList和LinkedList区别
场景:读多写少用什么,为什么
12.进程与线程的区别
1.线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
2.一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
3.进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见;
4.调度和切换:线程上下文切换比进程上下文切换要快得多
13.java创建线程的方式
14.Runnable与Callable区别
15.什么是线程池,为什么用到线程池(优点)
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务
优点:减少每次获取资源的消耗,提高对资源的利用率。
- 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
- 提高响应速度:当任务到达时,可以不需要等待线程创建就能立即执行。
- 提高线程的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,监控和调优。
16.MYSQL左连接右连接内连接
内连接是只有符合条件的才显示;
左连接 左边的表是全部数据,右边的只有符合条件的才有数据;
右连接 右边的表数据全,左边的符合条件的有数据;
17.MYSQL关键字,常用SQL
18.Redis基本数据结构
键,字符串,列表,集合,哈希,有序集合
key, String, List, Set, Hash, Zset
评论区