1.Java基础知识
1. 为什么课程是期末考试?
2、源码、实现原理、底层结构。
3、说说你知道的几个Java集合类:list、set、queue、map实现类。 。 。
4. 描述各自的实现方式及差异
5、Java中的队列是什么,它们有什么区别。
6.反思一下,Class之间的区别。 和
7.Java7和Java8的新特性(百度问的,好BT)
8、Java数组和链表结构的操作效率,在什么情况下(从头开始、从尾部开始、从中间开始)、哪些操作(插入、查找、删除)效率更高
9、Java内存泄漏问题排查定位:jmap的使用等
10.、、区别
11. 和 的区别
13. 异常的结构,运行时异常和非运行时异常,分别给出例子
14. a=“abc”b=“abc”c=新(“abc”)d=“ab”+“c”。 与==比较的结果
15.类的常用方法
16.Java中的引用类型有哪些?
17. 抽象类和接口的区别
18.java的基本类型和字节大小。
19.、、底层实现原理及线程安全问题(建议熟悉jdk源码才能从容回答)
20、如果不允许使用Java Jdk提供的工具,自己实现一个Map,你会怎么做?讲了半天,讲源码。 如果我做了,我会学习原则并执行。
21、Hash冲突怎么办? 解决哈希冲突的方法有哪些?
22、冲突严重,表现最差。 你将如何解决它? 将其从 O(n) 改进为 log(n)。 我们用二叉排序树的思想来谈谈。
23。
24.如何重写()和()生成算法和方法
2.
1、先说一下IO中常见的类,比如字节流、字符流、接口、实现类、方法阻塞等。
2.我们来谈谈蔚来。
3、编码UTF-8和GBK有什么区别?
4.什么时候使用字节流,什么时候使用字符流?
5.递归读取文件夹中的文件,代码如何实现
3.Java网络
1、多个服务部署的区别与联系、生命周期、管理。
2.一些相关问题
三、相关问题
4.jdbc连接,步骤,如何声明使用事务。给出例子和具体代码
5、配置无框架的web.xml主要配置内容
6.jsp和jsp的区别
4. JVM
1.Java的内存模型和GC算法
2、jvm性能调优做了哪些工作?
3.介绍JVM中的7个区域,然后解释每个区域可能导致内存溢出的情况。
4.引入GC和GC Root异常引用。
5、说说加载方式和加载机制,从程序运行时数据区,到内存分配,到常量池,到JVM垃圾回收机制和算法。反正就是各种扩展
6、jvm如何分配直接内存,new对象如何不分配在堆上而是分配在栈上,常量池分析
7. 阵列有多大? 把它放在JVM老年代(不只是设置ld,问一下它通常有多大。如果你以前没有这样做过,你就会知道)
8. 如何访问老年代的数组
9. GC算法,如何GC永久代对象,以及如何处理GC周期
10. 谁将在何时获得 GCed?
11. 如果您想避免被GCed该怎么办?
12.如果想躲过一次GC怎么办?
5. 开源框架
1. 和 的区别
2.我们来谈谈连接池。
3、框架中需要引用哪些jar包以及这些jar包的用途
4、原理
5、注解的含义
六、中和与中和的联系与区别
7. 几种注入方式(循环注入)
8.如何实施事物管理
9.
10. AOP原理
11.如何使用一级和二级缓存以及区别原理(Lazy-Load的理解)
12、原理架构、五个核心接口、对象的三种状态转换、事务管理。
6. 多线程
1、Java中创建线程后直接调用start()方法和run()方法的区别
2、常用线程池模式以及不同线程池的使用场景
3、如果这种线程池的线程数达到最大值会怎样? 基本原则。
4、多线程间通信的同步问题。 锁定的是对象,衍生出很多具体问题并与之相关。 比如同一个类的不同方法有锁,一个对象是否可以同时访问等。 或者类的构造函数加上后续锁的影响。
5.了解可重入锁的含义以及它们之间的区别
6、同步数据结构,比如源码理解和内部实现原理,为什么同步高效
7. 理解和使用关键字进行线程安全操作,例如 and
8.线程间通信、等待和
9. 定时线程的使用
10、场景:在一个主线程中,要求在主线程执行完毕之前,需要执行大量(很多很多)的子线程。 方式多样,考虑效率。
11.进程和线程的区别
12.什么是线程安全?例如
13. 线程的几种状态
14. 并发和同步接口或方法
15.线程安全吗? 为什么不安全? 、线程安全,何为安全。 底层实现是怎样的?
16. 使用JUC下的公共课程。 深入调查; 指某东西的用途。 (take和poll的区别,put和offer的区别); 原子类的实现。
17、简单介绍一下多线程的情况,从建立线程开始。然后是如何控制同步过程,多线程中常用的方法和结构体
18. 理解
19. 实现多线程有多种方法。 如何进行多线程同步? 下面说一下几个线程中常用的方法。
7. 网络通讯