摘要:
SpringMVC 和 Struts2的区别 1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而str 阅读全文
摘要:
Mybatis的解析和运行原理 Mybatis的运行过程大致分为两大步:第一步,读取配置文件缓存到Configuration对象,用以创建 SqlSessionFactory;第二步,SqlSession的执行过程。其中第一步中, SqlSessionFactory的创建过程比较简单,第二步中, S 阅读全文
摘要:
Mybatis中的动态SQL Mybatis中配置SQL有两种方式,一种是利用xml 方式进行配置,一种是利用注解进行配置。 Mybatis使用注解配置SQL,但是由于配置功能受限,而且对于复杂的SQL而言可读性很差,所以很少使用。 Mybatis常用xml配置的方式,使用xml的几个简单的元素,便 阅读全文
摘要:
一、初识Mybatis框架 mybatis是一个持久层的框架,是apache下的顶级项目。 mybatis托管到goolecode下,再后来托管到github下(https://github.com/mybatis/mybatis-3/releases)。 mybatis让程序将主要精力放在sql上 阅读全文
摘要:
Java8中提供了Stream对集合操作作出了极大的简化,学习了Stream之后,我们以后不用使用for循环就能对集合作出很好的操作。 一、流的初始化与转换 Java中的Stream的所有操作都是针对流的,所以,使用Stream必须要得到Stream对象: 1、初始化一个流 Stream strea 阅读全文
摘要:
第三章 线程间通信 32、除了等待/通知机制,采用sleep 和 while(true)也可以实现多个线程间的通信,但是有一个弊端是线程要不断的通过while语句轮询机制来检测某一个条件,这样就会浪费CPU资源,如果轮询的时间间隔太小,更加浪费CPU资源,如果太大,就会丢失某些数据。所以更好的解决方 阅读全文
摘要:
第一章 Java多线程技能 1、实现多线程的方式:一种是继承Thread类,另外一种是实现Runnable接口。 这两者的区别是:继承Thread类的本质是多个线程分别完成自己的任务,实现Runnable接口的本质是多个线程共同完成一个任务。 举例如下: 继承Thread类的,我们相当于拿出三件事即 阅读全文
摘要:
一、事务并发调度的问题 三级封锁协议 可见,三级锁操作一个比一个厉害(满足高级锁则一定满足低级锁)。但有个非常致命的地方,一级锁协议就要在第一次读加x锁,直到事务结束。几乎就要在整个事务加写锁了,效率非常低。三级封锁协议只是一个理论上的东西,实际数据库常用另一套方法来解决事务并发问题。 二、隔离性级 阅读全文
摘要:
完整性约束 完整性约束是为了表的数据的正确性!如果数据不正确,那么一开始就不能添加到表中。 1 主键 当某一列添加了主键约束后,那么这一列的数据就不能重复出现。这样每行记录中其主键列的值就是这一行的唯一标识。例如学生的学号可以用来做唯一标识,而学生的姓名是不能做唯一标识的,因为学生姓名有可能同名。 阅读全文
摘要:
初识SQL 1. 什么是SQL:结构化查询语言(Structured Query Language)。 2. SQL的作用:客户端使用SQL来操作服务器。 > 启动mysql.exe,连接服务器后,就可以使用sql来操作服务器了。 > 将来会使用Java程序连接服务器,然后使用sql来操作服务器。 阅读全文