<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Tower_SHR的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Tower_SHR</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tower_SHR]]></copyright><item><title><![CDATA[算法基础：复杂度、二分法、异或运算—左程云]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/124142146</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/124142146</guid><author>Tower_SHR</author><pubDate>Wed, 13 Apr 2022 21:26:45 +0800</pubDate><description><![CDATA[文章目录时间复杂度常数时间操作排序算法O（N^2）选择排序冒泡排序插入排序二分法异或运算
时间复杂度
常数时间操作

执行时间固定的为常数时间操作，执行时间不固定不是常数操作
·常见的算术运算（+、-、*、/、%等）
·常见的位运算（&gt;&gt;带符号右移、&gt;&gt;&gt;不带符号右移、&lt;&lt;、|、&amp;、^等）
·赋值、比较、白增、白减操作等
·数组寻址操作


排序算法O（N^2）
选择排序

每次确定最小值[0-n-1]，[1-n-1]，[2-n-1]…
每个范围的前界：0，]]></description><category></category></item><item><title><![CDATA[浅显CSS]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121765211</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121765211</guid><author>Tower_SHR</author><pubDate>Tue, 07 Dec 2021 20:22:38 +0800</pubDate><description><![CDATA[不用看，没什么东西，自己笔记]]></description><category></category></item><item><title><![CDATA[浅显HTML]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121740220</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121740220</guid><author>Tower_SHR</author><pubDate>Tue, 07 Dec 2021 10:50:28 +0800</pubDate><description><![CDATA[不用看，没什么东西，自己笔记]]></description><category></category></item><item><title><![CDATA[HttpServletRequest接口]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121735833</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121735833</guid><author>Tower_SHR</author><pubDate>Sun, 05 Dec 2021 21:59:17 +0800</pubDate><description><![CDATA[文章目录用途方法
用途

Tomcat服务器将HTTP协议中的请求信息以及数据全部解析出来，然后Tomcat服务器把这些信息封装到HttpServletRequest对象当中

举例：下面的POST请求代码



"POST请求"
 	  POST /servlet05/postServlet HTTP/1.1                                                  请求行
      Host: localhost:8080                    ]]></description><category></category></item><item><title><![CDATA[web站点的欢迎页面]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121733971</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121733971</guid><author>Tower_SHR</author><pubDate>Sun, 05 Dec 2021 20:01:15 +0800</pubDate><description><![CDATA[文章目录静态网页欢迎页面Servlet欢迎页面WEB-INF目录

web站点的欢迎页面：当你访问这个webapp的时候，或者访问这个web站点的时候，没有指定任何“资源路径”，这个时候会默认访问你的欢迎页面。
对于一个webapp来说，我们是可以设置它的欢迎页面的。

"下面方式是指定了要访问的就是login.html资源。"
 http://localhost:8080/servlet06/login.html 
 
"访问的方式是访问站点，没有指定资源路径，默认会访问你设置的欢迎页面。"
 http:]]></description><category></category></item><item><title><![CDATA[HttpServlet]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121722078</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121722078</guid><author>Tower_SHR</author><pubDate>Sun, 05 Dec 2021 17:18:48 +0800</pubDate><description><![CDATA[文章目录

前文是GenericServlet原理，但是B/S结构的系统中，是不会直接继承GenericServlet类的。这种系统是基于Http超文本传输协议，在Servlet规范中，还有一个HttpServlet类，它是专门为HTTP协议准备的Servlet类
HttpServlet是继承GenericServlet，是GenericServlet的子类。

"jakarta.servlet.Servlet;"  ——祖辈
 jakarta.servlet.Servlet；
        "jakar]]></description><category></category></item><item><title><![CDATA[HTTP协议]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121726654</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121726654</guid><author>Tower_SHR</author><pubDate>Sun, 05 Dec 2021 14:49:20 +0800</pubDate><description><![CDATA[文章目录HTTP协议HTTP协议请求协议请求行请求头空白行请求体响应协议状态行响应头空白行响应体get请求 ；post请求
HTTP协议

协议用处

协议就是一套规范，就是一套标准。由其他人或其他组织来负责制定的。大家都按照这个规范来，这样可以做到沟通无障碍。


HTTP协议：是W3C制定的一种超文本传输协议。（通信协议：发送消息的模板提前被制定好。）

这种协议游走在B和S之间。B向S发数据要遵循HTTP协议。S向B发数据同样需要遵循HTTP协议。这样B和S才能解耦合。

解耦合

B不依赖S。
S也]]></description><category></category></item><item><title><![CDATA[GenericServlet原理：Servlet；ServletConfig；ServletContext]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121711534</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121711534</guid><author>Tower_SHR</author><pubDate>Sat, 04 Dec 2021 16:00:58 +0800</pubDate><description><![CDATA[文章目录


当编写一个Servlet类直接实现Servlet接口有什么缺点？

service方法是最常用的，其他方法大部分情况下是不需要使用的。如此其他的方法就显得有些冗余，代码很丑陋。
解决思路：编写一个“中间商”，使中间商实现Servlet接口，我们编写的Servlet类再继承“中间商”





版本一

创建一个抽象类GenericServlet实现Servlet接口，将子类需要的方法设置为抽象方法。
将子类继承 GenericServletTest抽象类，并实现对应的抽象方法。
需要注意的是：]]></description><category></category></item><item><title><![CDATA[Idea—Tomcat—Mysql三者连接]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121702470</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121702470</guid><author>Tower_SHR</author><pubDate>Fri, 03 Dec 2021 19:13:45 +0800</pubDate><description><![CDATA[文章目录Idea—Tomcat链接JDBC
Idea—Tomcat

前期准备

安装好Tomcat适用的JDK版本
在doc窗口中，测试Tomcat，保证可以正常执行。


第一步：New Project（我比较习惯先创建一个Empty Project【空工程】，然后在空工程下新建Module【模块】，这不是必须的，只是一种习惯，你可以直接新建非空的Project），这个Empty Project起名为：javaweb（不是必须的，只是一个名字而已。一般情况下新建的Project的名字最好和目录的名字一致]]></description><category></category></item><item><title><![CDATA[模拟Servlet实现原理]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121683778</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121683778</guid><author>Tower_SHR</author><pubDate>Thu, 02 Dec 2021 19:04:47 +0800</pubDate><description><![CDATA[创建三个角色

TomCat —— TomCat 类
Servlet ——ServLet接口
Web应用程序 ——BankServiceWebApp 类

程序员设置的配置文件——web.properties





package javaWeb;
/**
 * 模拟sun公司
 * 拟定servlet接口/规范
 */
public interface ServLet {
    //提供服务的方法
    void service();
}


package javaWeb;

public c.]]></description><category></category></item><item><title><![CDATA[栈—计算器]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121467220</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121467220</guid><author>Tower_SHR</author><pubDate>Sun, 28 Nov 2021 09:29:02 +0800</pubDate><description><![CDATA[文章目录

]]></description><category></category></item><item><title><![CDATA[数据结构：链表]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121449415</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121449415</guid><author>Tower_SHR</author><pubDate>Mon, 22 Nov 2021 10:48:45 +0800</pubDate><description><![CDATA[文章目录链表创建单链表代码尾插法顺序插删除遍历修改统计单链表结点数查找倒数第K个结点单链表逆转
链表

链表是有序的列表，内存存储如下

链表是以节点的方式来存储是链式存储
每个节点包含data域，next域：指向下一个节点
如上图：发现链表的各个节点不一定是连续存储
链表分带头节点的链表和没有头节点的链表，根据实际的需求来确定


创建单链表代码

创建带head的单向链表，完成尾插法、顺序插法、遍历、删除、查找
创建带头节点的单向链表

package linkList.singleLinkList;
]]></description><category></category></item><item><title><![CDATA[JDBC基础]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/121207916</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/121207916</guid><author>Tower_SHR</author><pubDate>Wed, 10 Nov 2021 17:44:23 +0800</pubDate><description><![CDATA[文章目录JDBCidea导入JDBCjar包JDBC流程—六步注册驱动获取连接获取数据库操作对象执行SQL语句处理查询结果集释放资源注册驱动——使用类加载数据存放配置文件使用查询语句，处理结果集
JDBC

java DataBase Connectivty(java语言连接数据库)
JDBC是sun制定的接口（interface）：java.sql.*

面向接口：解耦合：降低程序的耦合度，提高程序的扩展力
每一个数据库底层实现原理都不一样




idea导入JDBCjar包

JDBC开发前，先从官网]]></description><category></category></item><item><title><![CDATA[Mysql 范式]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/120850455</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/120850455</guid><author>Tower_SHR</author><pubDate>Tue, 19 Oct 2021 21:18:47 +0800</pubDate><description><![CDATA[文章目录关键码依赖等级范式多对多一对多一对一
关键码

超键：在关系中能唯一标识元组的属性或属性集称为关键模式的超键。
候选键：不含有多余属性的超键称为候选键。也就是在候选键中在删除属性就不是键了。
主键：用户选作元组标识的候选键称为主键。一般不加说明，键就是指主键。
外键：如果模式R中属性K是其他模式的主键，那么K在模式R中称为外键。

依赖等级


完全依赖、部分依赖、传递依赖


部分函数依赖：设X,Y是关系R的两个属性集合，存在X→Y，若X’是X的真子集，存在X’→Y，则称Y部分函数依赖于X。

举]]></description><category></category></item><item><title><![CDATA[mysql 导入导出；创建用户]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/120849174</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/120849174</guid><author>Tower_SHR</author><pubDate>Tue, 19 Oct 2021 16:58:30 +0800</pubDate><description><![CDATA[文章目录DBA命令创建用户授权导出数据导入数据
DBA命令
创建用户

create user 用户名 identified by ‘密码’;

授权

mysql&gt; grant all privileges on dbname.tbname to ‘yangxin’@’%’ identified by ‘yangxin123456’ with grant option;

all privileges：表示将所有权限授予给用户。也可指定具体的权限，如：SELECT、CREATE、DROP等。【粗粒度]]></description><category></category></item><item><title><![CDATA[MySQL 视图]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/120847151</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/120847151</guid><author>Tower_SHR</author><pubDate>Tue, 19 Oct 2021 16:00:38 +0800</pubDate><description><![CDATA[文章目录视图优点
视图

视图是一个虚拟表，本身并不包含数据。作为一个select语句保存在数据字典中的。它是sql的查询结果，其内容由查询定义。是从另外一个角度看待原表。同真实的表一样，视图包含一系列带有名称的列和行数据，在使用视图时动态生成。视图的数据变化会影响到基表，基表的数据变化也会影响到视图[insert update delete ] ;
创建视图—只有DQL语句才能以视图对象的方式创建出来，Mysql视图的定义在from关键字后面不能包含子查询

create view  视图名  as  s]]></description><category></category></item><item><title><![CDATA[MySQL 索引]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/120843842</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/120843842</guid><author>Tower_SHR</author><pubDate>Tue, 19 Oct 2021 15:05:34 +0800</pubDate><description><![CDATA[文章目录索引添加索引实现原理索引分类
索引

索引相当于一本书的目录，对于想要查找的一个片段，相比于一页页的查找，按照目录查找的方式快速高效。
数据库中，查询表的两种检索方式

全表扫描
索引检索—因为缩写了扫描范围，效率高


索引缺点

索引是数据库当中的对象，需要数据库不断维护，有维护成本，当表中的数据经常被修改，此时就不适合添加索引，因为数据一旦修改，索引需要重新排序。


添加索引的条件

数据量庞大
该字段有很少的DML操作。—字段的数据进行修改操作，索引也需要维护
该字段经常出现在where当]]></description><category></category></item><item><title><![CDATA[MySQL 事务Transaction]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/120800920</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/120800920</guid><author>Tower_SHR</author><pubDate>Tue, 19 Oct 2021 11:58:01 +0800</pubDate><description><![CDATA[文章目录事务 Transaction事务特性ACID并发数据问题更新丢失（Lost update）读脏数据不可重复读幻象读隔离级别Read uncommitted(未授权读取、读未提交)Read committed（授权读取、读提交）Repeatable read（可重复读取）Serializable（序列化）
tcl
事务 Transaction

一个事务是一个完整的业务逻辑单元，不可再分
DML语句与事务相关：insert 、update、delete


事务特性ACID

原子性（Atomicit]]></description><category></category></item><item><title><![CDATA[Mysql存储引擎]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/120799416</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/120799416</guid><author>Tower_SHR</author><pubDate>Sat, 16 Oct 2021 16:36:14 +0800</pubDate><description><![CDATA[文章目录存储引擎MyISAM存储引擎InnoDBMEMORY
存储引擎

存储引擎就是指表的类型以及表在计算机上的存储方式
mysql支持很多存储引擎，每一种存储引擎都对应一种不同的存储方式
每一种存储引擎都有自己的优缺点，不同需求选择合适的存储引擎。
查看当前Mysql支持的存储引擎

show engines \G；


完整的建表语言

mysql默认使用的存储引擎是InnoDB方式
默认的字符集是UTF-8




MyISAM存储引擎
  Engine: MyISAM
     Support: ]]></description><category></category></item><item><title><![CDATA[MySQL表及表内容的基本操作]]></title><link>https://blog.youkuaiyun.com/Tower_SHR/article/details/120786611</link><guid>https://blog.youkuaiyun.com/Tower_SHR/article/details/120786611</guid><author>Tower_SHR</author><pubDate>Sat, 16 Oct 2021 15:22:22 +0800</pubDate><description><![CDATA[文章目录创建表插入表表的复制删除表
创建表
create table 表名（
	字段1 数据类型，		//当往表中插入数据的时候，没有插入该字段，该字段默认为null
	字段2 数据类型 default XX， //当往表中插入数据的时候，没有插入该字段，该字段默认为XX
	字段3 数据类型，
	......
）;


数据类型

int			整数
bigint		长整型
float		浮点型
char		定长字符串
varchar	可变长字符串
date		日期类型
BLOB	二进制大对象  -存储图片、]]></description><category></category></item></channel></rss>