一次会话,包含多次请求和响应 http协议:无状态的协议,同一个会话中的连续的多个请求是相互独立的彼此互不了解 会话技术:存储服务器和浏览器多次请求之间的数据 客户端: cookie,服务端 :session cookie 作用,在一次会话中多次请求中共享数据,存储在客户端 ## cookie使用 1. 设置cookie 对象,设置数据到cookie中 Cookie cookie = new Cookie(String name,String value); response.addCookie(cookie) 2. 从cookie 中获取数据,通过request
servlet
servlet 生命周期
创建
默认情况下:
用户第一次访问时,创建servlet,执行init 方法
修改创建时机:
<load-on-startup></load-on-startup>
正数:4-N,主要是因为 tomcat中的web.xml 里面有1-3,所以推荐4以上
负数:-1 用户第一次访问时创建
运行
用户每次访问时,都会重新开启一个线程执行 service方法
销毁
服务器正常关闭时,销毁servlet 执行destroy方法
servlet ,GenericServlet,HttpServlet
servl
B树 B+ 树
B树
B树和B-树,我个人觉得是一个概念 为什么要有B树出现的,首先我们得明白二叉树,当内存存不下的时候需要存储到磁盘里面,如果有1024个节点,大概需要10层到11层,寻址次数比较多, 多叉树是B树的基础,B树是有限制的二叉树,》》》所有的叶子节点在统一的高度上面
BTree
一个M阶B树T,满足以下节点 1. 每个节点至多M棵子树 2. 根节点至少拥有两个子树 3. 除了根节点,其余每个分支节点至少有M/2棵子树 4. 有K棵子树的分支节点则存在k-1个关键字,关键字按照递增的顺序进行排序 5. 所有的叶节点都在同一层 6. 关键字数量满足ceil(M/2)-1<=n <=M
mysql 锁分类
mysql 锁的分类
MyISAM 和 memory 表级锁 ,innodb 支持行级锁也支持表级锁,默认行级锁,BDB 页面锁,也支持表级锁 按照数据类型来分 读锁(共享锁):针对同一份数据,多个读操作也可以同时进行不会互相影响 写锁(排他锁):当前写操作没有完成前,阻断其他写锁和杜所 按照数据操作粒度分: 表级锁:开销小,加锁快,不会出现死锁,锁粒度大,发生锁冲突的概率最高,并发度最低 行级锁:开销大,加锁慢,会出现死锁,锁粒度最小,发生锁冲突的概率最低,并发度也最高 页面锁:开销和加锁时间
mysql
mysql 构成
连接池,SQL 接口,解析器,优化器,缓存,存储引擎等组成,分成,连接层,服务处,引擎层和文件系统层
mysql 物理文件
日志文件包括,错误文件 error log ,二进制日志文件 bin log ,中继日志 relay log 满查询日志 slow log 1. show variables like 'log_error'; 2. show variables like 'slow_query_log_file'; 3. bin log 日志文件 需要在my.cnf 配置 log-bin =/var/log/mysql-bin/bin.log serv