一、类加载器的种类
- Bootstrap ClassLoader 跟类加载器
- Extension ClassLoader 拓展类加载器
- Application ClassLoader 应用程序类加载器
- Bootstrap ClassLoader 启动类加载器
双亲委派 :意义:避免重复加载,避免不安全因素
概念:即一个类加载器在加载类时,先把这个请求委托给自己的父类加载器去执行,
如果父类加载器还存在父类加载器,就继续向上委托,直到顶层的启动类加载器。
如果父类加载器能够完成类加载,就成功返回,
如果父类加载器无法完成加载,那么子加载器才会尝试自己去加载
二、JS常见数据类型
String (字符串)、Number (数值)、Boolean (布尔值)、Null (空值)、Undefined (未定义)、Object(对象)
三、流有哪些类型
根据数据流向分为输入流和字节流;
根据数据类型分为字节流和字符流;
| 输入流 | 输出流 | |
| 字节流 | InputStream | OutputStream |
| 字符流 | Reader | Writer |
四、jsp四个作用域
pageContext 页面域 作用当前页面,离开当前jsp,丢失所有属性
Request 请求域 转发则保留属性,重定向属性丢失
Session 会话域 生命周期内,保留属性
Application 应用域 服务器不停止,则对象存,且为所有会话共享
五、请求转发和重定向
请求转发:服务器行为,一次请求,地址不变,访问自己本身资源,传输数据不会丢
重定向:客户端行为,两次请求,地址发生改变,可以访问自己以外的资源,传输的数据会丢失
六、get和post
Post 安全性高,传输数据大小理论上无限制
Get 传输数据大小有限制,请求的数据暴露在地址栏中
七、集合
Map 键值对
Set 无重复无序无索引
List 可重复有序有索引
八、java特性
封装:讲类中的部分代码实现细节隐藏,不直接对外访问
继承:子类重写父类的所有方法,提高了程序的可重用性和可扩展性
多态:包括编译时和运行时,通过调用不同参数或方法来决定父类对象动态调用哪个子类方法,增强了代码的灵活度。
九、Java数据类型
引用数据类型:类、接口、数组、枚举、注解
基本数据类型(8个)
Byte 1个字节 -128~127
Short 2个字节
Int 4个字节
Long 8个字节
Float 4个字节
Double 8个字节
Char 2个字节
Boolean 1个字节
String s=Integer.toString(int);
Int n = Integer..parseInt(String);
十、什么是反射?
JAVA反射机制是在运行状态中,对于任意一个类和任意一个对象
都能够知道这个类的所有属性和方法;获取任意对象的属性,并且能改变对象的属性
调用任意对象的方法
判断任意一个对象所属的类
实例化任意一个类的对象
十一、cookie和session的区别
Cookie:在客户端,只能保存ASCII字符串,不能直接存取Java对象
Session:在服务端,可以存取很多数据类型,也可以直接保存java对象
十二、MVC
软件工程的一种软件架构模式
M模型:编写程序应用的功能、数据库管理
V视图:界面设计人员进行图形界面设计
C控制器:对请求进行处理,负责请求转发
十三、servlet生命周期
出现到销毁的全过程
加载类,实例化(为对象分配空间),初始化(为对象的属性赋值),请求处理(服务),销毁
十四、说明一下jdbc中Statement与Preparestament的区别
Statement:执行一条编译一次
PrepareStatement:只编译一次,参数设置方便
预编译:防止sql注入,考虑安全问题
十五、后端存储的方式有哪些
session,reqset
十六、什么是泛型
用来灵活地将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递。应用在集合中,加快集合的存储和读取的效率。
十七、MySQL数据库优化方式
- 选取最适用的字段属性
- 使用连接(JOIN)来代替子查询(Sub-Queries)
- 使用联和(UNIOn)代替手动创建的临时表
- 事务
- 锁定表
- 使用外键
- 使用索引
- 优化的查询语句
十八、常见的连接池
| 功能 | druid | c3p0 | HikariCP |
| 是否支持PSCache | 是 | 是 | 否 |
| 监控 | jmx/log/http | jmx.log | jmx |
| 扩展性 | 好 | 弱 | 弱 |
| Sql拦截 | 支持 | 无 | 无 |
| 代码 | 中等 | 复杂 | 简单 |
| 特点 | 阿里开源、功能全面 | 历史悠久,代码逻辑复杂,不易维护 | 优化力度大,功能简单,起源于boneCP |
十九、数据库范式
1NF属于第一范式关系的所有属性都不可再分,数据项不可分
2NF 若某关系R属于第一范式,且每一个非主属性完全函数依赖于任何一个候选码,则关系R属于第二范式
3NF 非主属性既不传递依赖于码,也不部分依赖于码
4NF 限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。
5NF 表必须分解为较小的表,除非那些表在逻辑上拥有与原始表相同的主键。
二十、异步上传的概念
对比传统表单上传,实现页面局部刷新的功能。
传统表单提交,点击提交后,整个页面处于被锁定的状态,上传完成后,页面跳转到一个新的页面。
异步上传则是在整个上传过程中,页面都没有被阻塞,用户可以同时进行其他交互,完成后,在局部页面中给出提示信息,不对整个页面进行刷新。



