java基础杂记(一)

________________JSP三大指令________________
page
include
taglib

________________JSP四个域范围________________
pageScope
requestScope
sessionScope
applicationScope

________________JSP九大内置对象________________
request response
session application
pageContext page
config out
exception  

EL表达式语言
expresion language

EL
功能:
获取数据:来源是四个域
执行运算:
操作web开发中的常用对象
调用java中的函数


JSTL:JSP标准标签库

和EL一样都是替换JSP中的尖括号,百分号

■■■■■■■■■■■■■■■■■■■■■■■反射■■■■■■■■■■■■■■■■■■■■■■■
反射与动态代理:注意使用在框架
Class
Constructor 
Field
Method
反射:
获得类编译后的class被加载到内存中的class对象,通过字节码对象获得里面的构造器,属性,方法作用:
在通用性很高的代码或者是框架中使用反射
使用:
获得类的字节码对象在内存的表示:Class
获取Class文件的三种方式:
1、通过类的名称.class属性获得
2、通过实例对象.getClass属性获得
3、通过Class.forName("类的全路径")
通过类的字节码对象操作它的属性,方法,构造

JavaBean中的无参构造是为反射创建空参构造准备的
<servlet-class>全限定名是为反射准备的</servlet-class>
new BeanHandler<User>(User.class)
利用反射创建对象

总而言之,只要有全路径,就会有反射

■■■■■■■■■■■■■■■■■■■■■■■内省■■■■■■■■■■■■■■■■■■■■■■■
内省基于反射,没有反射前底层的一个技术,这个技术只能获得JavaBean中的属性和对应属性的get或set方法
Introspector
java.beans.Introspector

introspector vi., vt.内省;自省;反省

什么是JavaBean:
就是一个普通的java类,满足了一定的格式:
需要提供一个无参构造
类中的属性私有化
对私有化属性提供公有的get或set方法
JavaBean中的属性是由什么确定的呢?
根据类中的get和set方法确定的。只要有get或set方法,就是一个属性

■■■■■■■■■■■■■■■■■■■■■■■mysql事物的管理■■■■■■■■■■■■■■■■■■■■■■■
什么是事物?
事物指的是逻辑上的一组单元,组成这个逻辑上的各个单元要么一起成功,要么一起失败

多个操作绑定到一个事务里面
事务的作用:
保证数据的完整性
事务的使用:
MySql的命令的事务管理
JDBC的事务管理
MySql的事务管理
MySql数据库,默认是一条语句就是一个事物
Oracle不是的,默认事务不是自动提交的,需要手动提交

要在mysql中进行事务的管理:
★★★★mysql事务管理的方式一★★★★★
手动开启事务,手动提交或者回滚
start transaction 开启事务,下面的语句要么一起成功,要么一起失败
sql语句1
commit/rollback 提交事务/回滚事务
★★★★mysql事务管理的方式二★★★★★
设置mysql自动提交的参数,变为OFF
使用命令查看与commit提交相关的参数
show variables like '%commit%';
设置让它不自动提交
set autocommit=0; 0就是OFF 1就是ON

●●●●●●●●●●●●●●●●●●●●●面试常问●●●●●●●●●●●●●●●●●●●●●●●●●
事务的特性:
原子性
强调组成事务的各个单元是不可分割的
一致性
强调事务执行的前后数据的完整性应该保持一致
隔离性
强调一个事务执行的时候不应该受到其他事务的干扰
如果不考虑事务的隔离性,会引发哪些安全性问题●●●●●●
引发俩大类问题:
读问题
三类读问题
一:脏读 一个事务读到了另一个事务还没有提交的数据 (演示完毕,脏读)
二:不可重复读 一个事务读到了另一个事务已经提交到updated的数据,导致在一个事务中多次查询结果不一致
三:虚读/幻读 一个事务读到了另一个事务已经提交到insert的数据,导致在一个事务中多次查询结果不一致

不可重复读是由update引发的
虚读是由insert引发的
写问题
持久性
强调的是事务一旦结束,事务就持久的保存到数据库中

解决安全性问题:
设置数据库事务的隔离级别
read uncommitted :以上三种读问题都能发生
read committed :避免脏读,但是不可重复读和虚读有可能发生 oracle默认
repeatable read :避免脏读和不可重复读, mysql默认
serializable :避免以上三种读问题,但是虚读有可能发生 串型化,一个事务执行完,再执行另一个事务
serializable是不允许事务并发的
但是安全级别高了,性能就低了
但我们通常会设置2,3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值