Java Web
1.JDBC
1.1说下原生 jdbc 操作数据库流程?
加载数据库连接驱动 获取数据连接对象 根据 SQL 获取 sql 会话对象 执行 SQL 处理结果集 关闭结果集、关闭会话、关闭连接
1.2说说事务的概念,在 JDBC 编程中处理事务的步骤。
事务是作为单个逻辑工作单元执行的一系列操作 事务的四个属性,称为原子性、一致性、隔离性和持久性 conn.setAutoComit(false);设置提交方式为手工提交 conn.commit()提交事务 出现异常,回滚 conn.rollback();
1.3脏读是什么?哪种数据库隔离级别能防止脏读?
脏读就是指当一个事务正在访问修改数据,而这次修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后读到了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据。 不可重复读、可重复度、串行化都可以隔离脏读
补充:MySQL事务隔离级别 事务隔离级别 脏读 不可重复读 幻读 读未提交(read-uncommitted) 是 是 是 不可重复读(read-committed) 否 是 是 可重复读(repeatable-read) 否 否 是 串行化(serializable) 否 否 否
事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。 3、隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。 4、持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。
2.网路通讯部分
2.1 TCP 与 UDP 区别?
UDP: A、UDP是面向无连接,不需要建立连接 B、每个数据包的大小在限制64k内 C、协议不可靠 D、速度快 TCP: a、TCP建议连接,形成传输数据的通道. b、在连接中进行大数据量传输,以字节流方式 C、协议可靠 c、效率低2.2 说一下什么是 Http 协议?
Http协议即超文本传送协议 ( 客户端和服务器端之间数据传输的格式规范是一个基于请求与响应模式的、无状态的、应用层的协议,基于 TCP 的连 接方式 )2.3 get 与 post 请求区别?
get 重点在从服务器上获取资源,post 重点在向服务器发送数据; get 传输的数据用户可见,post传输的数据用户不可见, get 传输的数据量小但效率较高,post可以传输大量数据 get 较post安全性较低 get 传输数据是通过 URL 请求,post 传输数据通过 Http 的2.4 http 中重定向和请求转发的区别?
本质区别:转发是服务器行为,重定向是客户端行为。 重定向特点:两次请求,浏览器地址发生变化,可以访问自己 web 之外的资源,传输的数据会丢失。 请求转发特点:一次强求,浏览器地址不变,只能访问自己本身的 web 资源, 传输的数据不会丢失3.1 Cookie 和 Session 的区别
Cookie 和 session 的不同点: 1、无论客户端做怎样的设置,session 都能够正常工作。cookie则不可以。 2、session能够存储任意的java对象,cookie只能存储String类型的对象。