Paxos算法可分为两二段: 阶段一: 1.Proposer选择一个提案号Mn,然后向Acceptor的某个超过半数的子集发送编号为Mn的Prepare请求。 2.如果一个Acceptor收到一个提案编号为Mn的Prepare请求,且Mn大于该Acceptor已响应过的所有编号,那么它会将它已经批准 Read More
环境: centOs系统 一、安装redis: 1.下载安装(先装c编译器yum -y install gcc) 2.启动: 3.交互 二、多节点集群搭建的配置工作: 其实就是启动的配置文件redis.conf不一样,下面是步骤: 1.根目录下创建 redis_cluster文件夹,cd进去: 创建 Read More
一.Spring支持四种事务隔离级别: 1.ISOLATION_READ_UNCOMMITTED(读未提交):这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。 2.ISOLATION_READ_COMMITTED(读已提交): 保证一个事务修改的数据提交后才能被另外一个事务读 Read More
这个项目就是一个例子,只有添加图书的功能: 项目架构: resource: 整合流程: 1.pom文件节点,这两个是整合用的,其他节点不再赘述: 如果mybatis用的是3.4.1,那么mybatis-spring版本要用1.3.0 2.applicationContextDay06.xml 3.j Read More
1.Cglib动态代理 目标类: 测试: 测试结果: 测试第27行enhancer.create()方法调用了Service的构造器。 create()方法是生成代理对象,其本质是目标类的子类实例,所以会调用父类构造。 2.JDK动态代理 jdk动态代理原理是动态生成目标对象实现接口的实现类。 接口 Read More
1.查询语句,where: 2.插入语句,trim: 3.修改语句,trim: 4.查询语句,foreach: Read More
1、这回先创建数据库吧 下表cid是CategoryId的缩写,cname是CategoryName的缩写,pid是parentId的缩写 无限级分类一般都包含这三个属性,至少也要包含cid和pid才能建立无限级关联 ok,这个东东就是无限级分类了。 即便是外行人稍微看一眼也能发现cid为1的图书在 Read More
接着上面创建的maven项目来。 1.java目录下创建cn.happy.entity包 2.idea下创建数据库连接 配置连接参数 3.把数据库表变成实体类 导入成功,改一下包名就可以用了 4.新建cn.happy.dao包,在下面新建IUserDAO接口,代码如下 5.在IUserDAO同包下新 Read More
这里接着上一篇来 我们观察目录发现有两个pom.xml(project object module) 项目是里面的,所以外面的先不管它。 点击里面的pom.xml 1.在<url>节点下面加入阿里云仓库 2.修改原有的junit依赖 3.加入log4j依赖 打开http://maven.aliyun Read More
1.新建 Project 2.点击Next 3.填写组织名称和项目名称,点击next 4.在你的本地仓库目录下创建settings.xml文件,把mirror的url改成阿里云的 <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Read More
Layer: UI层: user interface 用户接口层 Biz层: service business login layer 业务逻辑层 DAO层: Date Access Object 数据访问层 1.建立三层架构 UI层(对应包ui):这里就是一个简单的测试类 Biz层(对应包serv Read More
这里使用触发程序实现此功能. 触发程序语法如下: Create trigger <tri_name> {before|after} {insert|update|delete} On <tab_name> For each row <触发程序SQL语句> 核心代码: 运行了三次插入操作,结果如下: Read More
一.创建/删除数据库. 二.创建若干表用于测试 这里预留了几个坑,下面要填坑的.. 添加汉字数据的时候如果报错,说什么未定义的数据类型,就把你的默认字符集latin改成utf8就行了.具体方法不赘述了 三.添加外键约束 运行这行代码会报错. SQL Error [1215] [HY000]: Can Read More
下面举例介绍注册事件的几种方法: 以光棒效果为例 1.bind注册: 2.on注册: 3.使用.hover模仿悬停事件: Read More
列表的显示与隐藏 轮播图: html: css: jQuery: Read More
jQuery选择器可以分为四类:基础选择器,层级选择器,属性选择器,过滤选择器 基础选择器: 层级选择器: 属性选择器: 过滤选择器:这就比较多了,总的来说就是以":"开头的选择器,下面举几个例子。 Read More
Js创建对象与构造函数的继承关系 Read More
需求:输入一个数,判断其类型(完全数,过剩数,不足数) 完全数:自身之外所有因数和==自身 过剩数:自身之外所有因数和>自身 不足数:自身之外所有因数和<自身 测试类: Read More
需求:现有一个员工姓名list,其中包含单字母索引.要求输出一个字符串,去掉所有单字母,所有名字首字母大写并用逗号隔开. 测试类: Read More
需求:读入一个文本文件,确定所有单词的使用频率并从高到低排序,打印出所有单词及其频率的排序列表 先用传统方法解: 再使用Java8的新特性解: 测试类: Read More
MySQL逻辑架构: 链接管理与安全性: MySQL5.5或更高版本版本提供了一个API,支持线程池(Thread-Pooling)插件,可以使用池中的少量线程来服务大量的连接。 优化与并行: MySQL会解析查询,并创建解析树,然后对其进行各种优化,包括重写查询,决定表的读取顺序,以及选择合适的索 Read More
本文摘自网络: 1、阻塞IO(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 图1 阻塞IO 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多 Read More
1.在没有配置的情况下,mybatis默认开启一级缓存。 打个断点测试一下就知道了。 在同一个SqlSession中,第一次查询后,调用mapper相同方法,SqlSession会从一级缓存中取数据,而且得到的是相同的对象。不会发送SQL。 如果SqlSession进行了提交,那么一级缓存将会清除。 Read More
1.概念 MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟加载规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。 2.关联对象的加载时机 ①.直接加载 执行完对主加载对象的select语句,马上执行对关联对象的select查询 ②.侵入式延迟加载 执 Read More