JavaSE&JavaEE知识点回顾

1、servlet的生命周期

init() 初始化servlet 只会执行一次load-on-startup 默认-1 意思是第一次被访问时创建
service() 服务 每当客户端请求一个HttpServlet对象时,该对象的service()就会调用一次
destory() 销毁 在servlet被销毁前执行只会执行一次

2、servlet的三大域对象

request 每次请求都会创建一个request,作用域仅在当前请求中有效
session 每次会话都会创建一个session对象,作用域是当前会话中默认存在时间是30min.
Application (ServletContext)服务器创建时存在 作用域是整个服务器

3、常见的状态码

1xx代表服务器接收客户端请求处于等待状态,仍需客户端继续发送请求
2xx代表服务器成功接收请求并处理
3xx代表浏览器需要执行进一步操作完成请求
4xx代表客户端请求错误
5xx代表服务器本身错误
200 OK 客户端请求成功
301 永久移除 请求的URL已移走
302 重定向
304 访问缓存
400 客户端请求有语法错误
403 请求成功,服务器拒绝客户端访问
404 请求的资源不存在
500 服务器内部错误

4、get和post请求的区别

1.get是向服务器请求获取数据,post是向服务器请求发送数据
2.get请求数据会在URL后面 ,post请求数据在请求体中
3.get提交数据长度有限制,post提交数据长度没有限制
4.post比get的安全性高

5、转发和重定向的区别

forward转发是服务器行为 请求一次 地址栏不会发生改变,只能请求当前web服务器内的资源,数据不会发生丢失
redirect重定向是客户端行为,请求两次(不同的请求),地址栏发生改变,可以请求其他服务器内的资源,数据会发生丢失

6、jsp的四大域对象

从小到大分别是
1.PageContext 指定在当前页面传输数据,
2.Request 一次请求中(请求没有中断),可以转发
3.Session 一次会话中,默认session30min自动销毁
4.Application(ServletContext) 整个web服务器

7、cookie和session的区别以及session的创建过程

1.cookie是客户端会话技术,数据存在客户端,session是服务器会话技术,数据存在web服务器上
2.cookie不安全,session安全
3.cookie保存的数据不能超过4kb,同一个服务器的cookie不能超过20个 session
4.cookie只能存储String类型,session可以存任意的Java类型
5.cookie用于在不登陆的情况下对用户的身份识别
session依赖于cookie在服务器端对用户身份识别

session创建流程
1.客户端请求session,在服务器端会创建一个新的session对象 ,并创建一个唯一标识 sessionid
2.服务器发送响应给客户端,响应头:Set-Cookie中携带着 sessionid
3.客户端下次发送请求时,请求头cookie会携带着sessionid发送给服务器.
4.服务器自动获取cookie信息并根据cookie中携带着的sessionid找与之对应的对象.

8、jdbc的执行流程

1.注册驱动
2.建立数据库连接
3.获取数据库操作对象
4.定义SQL
5.获取执行SQL对象,执行SQL
6.获取并处理结果集
7.关闭结果集,数据库操作对象,数据库连接对象

9、ArrayList和linkedlist的区别

ArrayList 底层是可变数组 查询快,增删慢
LinkedList 底层是双向链表 增删快,查询慢

10、map集合的遍历方式

1.通过map.keySet()获取键集合,然后根据map.get(key)获取值 ,可以使用迭代器和增强for遍历
2.通过map.entrySet()获取集合中每一个entry对象,然后变量Set集合取出每一个entry对象的键 entry.getKey()和值entryValue()

11、面向对象的特征

封装:利用数据及数据类型将实现细节封装成类或者方法,对外提供公共访问的方式
继承:是实现类的共性抽取.
多态:一个对象的多种形态,编译类型与运行时类型

12、接口和抽象类的区别

1.接口中的方法修饰符只能是public,抽象类中可以使用public,protected,default修饰
2.接口允许多重继承,抽象类不允许
3.接口不能有私有方法和私有变量,抽象类可以有私有方法和私有变量
4.接口中所有的方法都是抽象的,抽象类中可以包含普通方法
5.接口中不能定义构造器,抽象类中可以定义构造器用于子类完成抽象类的初始化

13、异常的分类

异常分为两大类 Error Exception
Error是程序无法处理的错误,JVM出现的问题
Exception分为运行时异常和编译期异常

14、重写和重载的区别

重写出现的前提是继承 子类存在和父类同名的方法,参数列表和返回值相同
重载一个类中出现多个同名方法,但是参数列表和返回值不同

15、多线程的实现方式

1.继承Thread类
2.实现Runnable接口
3.线程池创建 (ExecutorService)

16、线程的生命周期

五种状态
1.新建 new Thread
2.就绪runnable
3.运行running
4.死亡 dead
5.阻塞 block

17、wait和sleep的区别

wait()是Object类的方法,sleep()是Thread类的方法
sleep()没有释放锁,而wait()释放了锁,使得其他线程可以使用同步控制块或者方法
wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep()可以在
任何地方使用

18、反射的三种实现方式

1.Object类的getClass();
2.对象名.class
3.Class.forName("");

19、事务的特性以及隔离级别

事务有四大特性
1.原子性:每个事务都是一个整体不可拆分
2.一致性:事务在执行前与执行后数据的状态一致
3.隔离性:事务之间互不影响
4.持久性:事务执行成功,对数据库的数据的修改就是永久性的.

隔离级别:

  1. read uncommitted:读未提交
    产生的问题:脏读、不可重复读、幻读
  2. read committed:读已提交 (Oracle)
    产生的问题:不可重复读、幻读
  3. repeatable read:可重复读 (MySQL默认)
    产生的问题:幻读
  4. serializable:串行化
    可以解决所有的问题

脏读: 一个事务读取到了另一个事务中尚未提交的数据
虚读(不可重复读):一个事务中两次读取的数据内容不一致, 这是事务 update 时引发的问题
幻读: 一个事务中两次读取的数据的数量不一致,这是 insert或 delete 时引发的问题

20、三大范式

1NF : 每一列都是不可分割的原子数据项,表中的每一列都不可拆分.
2NF: 简单记 在1NF的基础上,不产生局部依赖, 就是表中的每一个字段都完全依赖于主键.
3NF: 在2NF的基础上,不产生传递依赖,表中所有的列不依赖与其他非主键的列.

知识点回顾,有些理解不是很正确,欢迎质疑.

你可能感兴趣的:(JavaSE&JavaEE知识点回顾)