<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_46061535的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_46061535</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_46061535]]></copyright><item><title><![CDATA[MySQL学习记录（9）InnoDB存储引擎]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128780416</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128780416</guid><author>qq_46061535</author><pubDate>Sat, 28 Jan 2023 17:49:47 +0800</pubDate><description><![CDATA[MySQL5.5 版本开始，默认使用InnoDB存储引擎，它擅长事务处理，具有崩溃恢复特性，在日常开发 中使用非常广泛。下面是InnoDB架构图，左侧为内存结构，右侧为磁盘结构。]]></description><category></category></item><item><title><![CDATA[Gateway]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128697735</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128697735</guid><author>qq_46061535</author><pubDate>Sun, 15 Jan 2023 21:01:36 +0800</pubDate><description><![CDATA[*org.springframework.cloud.gateway.route.RouteDefinitionRouteLocator#getFilters()**方法是先加载defaultFilters，然后再加载某个route的filters，然后合并。请求路由后，会将当前路由过滤器和DefaultFilter、GlobalFilter，合并到一个过滤器链（集合）中，排序后依次执行每个过滤器。每一个过滤器都必须指定一个int类型的order值，order值越小，优先级越高，执行顺序越靠前。]]></description><category></category></item><item><title><![CDATA[Feign]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128678673</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128678673</guid><author>qq_46061535</author><pubDate>Fri, 13 Jan 2023 19:35:17 +0800</pubDate><description><![CDATA[Feign是一个声明式的http客户端，其作用就是帮助我们实现http请求的发送，解决上面提到的问题管方地址：https://github.com/OpenFeign/feign-- Feign客户端依赖--> < dependency > < groupId > org.springframework.cloud  < artifactId > spring-cloud-starter-openfeign  ]]></description><category></category></item><item><title><![CDATA[nacos]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128649891</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128649891</guid><author>qq_46061535</author><pubDate>Wed, 11 Jan 2023 19:50:56 +0800</pubDate><description><![CDATA[1.Nacos服务搭建​	①下载安装包​	②解压​	③在bin目录下运行指令：startup.cmd -m standalone2.Nacos服务注册或发现​	①引入nacos.discovery依赖​	②配置nacos地址spring.cloud.nacos.server-addr1.Nacos服务分级存储模型​	①一级是服务，例如userservice​	②二级是集群，例如杭州或上海​	③三级是实例，例如杭州机房的某台部署了userservice的服务器2.如何设置实例的集群属性。]]></description><category></category></item><item><title><![CDATA[MySQL学习记录（8）MySQL锁]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128278456</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128278456</guid><author>qq_46061535</author><pubDate>Sun, 11 Dec 2022 20:38:59 +0800</pubDate><description><![CDATA[​		全局锁就是对整个数据库实例加锁，加锁后整个实例就处于只读状态，后续的DML的写语句，DDL语 句，已经更新操作的事务提交语句都将被阻塞。​		其典型的使用场景是做全库的逻辑备份，对所有的表进行锁定，从而获取一致性视图，保证数据的完整 性。​		为什么全库逻辑备份，就需要加全就锁呢？​		A. 我们一起先来分析一下不加全局锁，可能存在的问题。假设在数据库中存在这样三张表: tb_stock 库存表，tb_order 订单表，tb_orderlog 订单日志表。]]></description><category></category></item><item><title><![CDATA[MySQL学习记录（7）SQL优化]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128190492</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128190492</guid><author>qq_46061535</author><pubDate>Tue, 06 Dec 2022 00:26:34 +0800</pubDate><description><![CDATA[如果我们需要一次性往数据库表中插入多条记录，可以从以下三个方面进行优化
（1）批量插入数据

（2）手动控制事务
（3）主键顺序插入
主键顺序插入，性能要高于乱序插入。（在主键优化中展开讲）如果一次性需要插入大批量数据(比如: 几百万的记录)，使用insert语句插入性能较低，此时可以使用MySQL数据库提供的load指令进行插入。操作如下：

可以执行如下指令，将数据脚本文件中的数据加载到表结构中：

3.2、主键优化
3.2.1、数据组织方式
在InnoDB存储引擎中，表数据都是根据主键顺序组织存放的，]]></description><category></category></item><item><title><![CDATA[MySQL学习记录（6）索引02]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128156044</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128156044</guid><author>qq_46061535</author><pubDate>Sat, 03 Dec 2022 00:30:00 +0800</pubDate><description><![CDATA[虽然是根据name字段查询，查询二级索引，但是由于查询返回在字段为 id，name，在name的二级索引中，这两个值都是可以直接获取到的，因为覆盖索引，所以不需要回表查询，性能高。可以根据索引的选择性来决定，而选择性是指不重复的索引值（基数）和数据表的记录总数的比值，索引选择性越高则查询效率越高， 唯一索引的选择性是1，这是最好的索引选择性，性能也是最好的。最左前缀法则指的是查询从索引的最左列开始，并且不跳过索引的列，如果跳跃某一列，索引将会部分失效（后面的索引失效）。所以需要针对于age也要建立索引。]]></description><category></category></item><item><title><![CDATA[MySQL学习记录（5）索引01]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128135259</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128135259</guid><author>qq_46061535</author><pubDate>Fri, 02 Dec 2022 00:47:49 +0800</pubDate><description><![CDATA[索引（index）是帮助MySQL高效获取数据的数据结构(有序)。在数据之外，数据库系统还维护着满足特定查找算法的数据结构，这些数据结构以某种方式引用（指向）数据， 这样就可以在这些数据结构上实现高级查找算法，这种数据结构就是索引。MySQL的索引时在存储引擎层实现的，不同的存储引擎有不同的索引结构，主要包含：（1）B+Tree索引：最为常见的索引结构，大部分引擎都支持B+树索引（2）Hash索引：底层数据结构是用哈希表实现的，只有精确匹配索引列的查询才有效，不支持范围查询。]]></description><category></category></item><item><title><![CDATA[MySQL学习记录（4）存储引擎]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/128072476</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/128072476</guid><author>qq_46061535</author><pubDate>Mon, 28 Nov 2022 19:27:29 +0800</pubDate><description><![CDATA[最上层是一些客户端和链接服务，包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念，为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。]]></description><category></category></item><item><title><![CDATA[Spring复习——day17_SpringMVC_执行流程]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127625587</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127625587</guid><author>qq_46061535</author><pubDate>Mon, 31 Oct 2022 23:52:12 +0800</pubDate><description><![CDATA[作用：进行视图解析，得到相应的视图，例如：ThymeleafView、InternalResourceView、RedirectView。作用：在DispatcherServlet的控制线Handler对具体的用户请求进行处理。作用：统一处理请求和响应，整个流程控制的中心，由它调用其它组件处理用户的请求。作用：根据请求的url，method等信息查找Handler，即控制方法。，不需要工程师开发，由框架提供。，不需要工程师开发，有框架提供。，不需要工程师开发，由框架提供。，不需要工程师开发，由框架提供。]]></description><category></category></item><item><title><![CDATA[Spring复习——day16_SpringMVC_异常处理器]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127604593</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127604593</guid><author>qq_46061535</author><pubDate>Sun, 30 Oct 2022 21:52:21 +0800</pubDate><description><![CDATA[1、业务异常（BusinessException）

发送对应的消息传递给用户，提醒规范操作，常见的就是提示用户名已存在或者密码格式不正确

2、系统异常（SystemException）

步骤1：发送固定的消息传递给用户，安抚用户（系统繁忙，请稍后再试；系统正在维护升级，请稍后再试；系统出现问题，请联系系统管理员等）

步骤2：发送特定消息给运维成员，提醒维护（可以发送短信、邮箱或者是公司内部通信软件）

步骤3：记录日志（发消息和记录日志对用户来说是不可见的，属于后台程序）

3、其他异常（Excep]]></description><category></category></item><item><title><![CDATA[Spring复习——day15_SpringMVC_文件上传和下载_拦截器]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127542950</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127542950</guid><author>qq_46061535</author><pubDate>Wed, 26 Oct 2022 23:49:17 +0800</pubDate><description><![CDATA[preHandle：控制器方法执行之前执行preHandle()，其boolean类型的返回值表示是否拦截或放行，返 回true为放行，即调用控制器方法；preHandle()返回false和它之前的拦截器的preHandle()都会执行，postHandle()都不执行，返回false的拦截器之前的拦截器的afterCompletion()会执行。preHandle()会按照配置的顺序执行，而postHandle()和afterCompletion()会按照配置的反序执行。]]></description><category></category></item><item><title><![CDATA[Spring复习——day14_SpringMVC_处理ajax请求]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127524079</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127524079</guid><author>qq_46061535</author><pubDate>Tue, 25 Oct 2022 23:40:03 +0800</pubDate><description><![CDATA[3、使用@ResponseBody注解标识控制器方法，在方法中，将需要转换为json字符串并响应到浏览器的java对象作为控制器方法的返回值，此时SpringMVC就可以将此对象直接转换为json字符串并响应到浏览器。@RequestBody可以获取请求体信息，使用@RequestBody注解标识控制器方法的形参，当前请求的请求体就会为当前注解所标识的形参赋值。3、在控制器方法的形参位置，设置json格式的请求参数要转换成的java类型（实体类或map）的参 数，并使用@RequestBody注解标识。]]></description><category></category></item><item><title><![CDATA[复习（基础8）Stream流]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127417929</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127417929</guid><author>qq_46061535</author><pubDate>Wed, 19 Oct 2022 23:54:30 +0800</pubDate><description><![CDATA[​
在Java 8中，得益于Lambda所带来的函数式编程， 引入了一个全新的Stream流概念。

目的：用于简化集合和数组操作的API。



1.2、Stream流思想：
Stream流式思想的核心：

1.先得到集合或者数组的Stream流（就是一根传送带）

2.把元素放上去

3.然后就用这个Stream流简化的API来方便的操作元素。

​]]></description><category></category></item><item><title><![CDATA[Spring复习——day13_SpringMVC_RESTful案例]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127379719</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127379719</guid><author>qq_46061535</author><pubDate>Tue, 18 Oct 2022 00:02:14 +0800</pubDate><description><![CDATA[和传统的CRUD一样，实现对员工信息的增删查改。]]></description><category></category></item><item><title><![CDATA[Spring复习——day12_SpringMVC_RESTful]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127355221</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127355221</guid><author>qq_46061535</author><pubDate>Mon, 17 Oct 2022 23:31:46 +0800</pubDate><description><![CDATA[资源是一种看待服务器的方式，即，将服务器看作是由很多离散的资源组成。每个资源是服

务器上一个可命名的抽象概念。因为资源是一个抽象的概念，所以它不仅仅能代表服务器文件系

统中的一个文件、 数据库中的一张表等等具体的东西，可以将资源设计的要多抽象有多抽象，只

要想象力允许而且客户端 应用开发者能够理解。与面向对象设计类似，资源是以名词为核心来组

织的，首先关注的是名词。一个资源可以由一个或多个URI来标识。URI既是资源的名称，也是资

源在Web上的地址。对某个资源感兴趣的客户端应用，可以通过资源的U]]></description><category></category></item><item><title><![CDATA[Spring复习——day11_SpringMVC_域对象共享数据]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127342559</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127342559</guid><author>qq_46061535</author><pubDate>Sun, 16 Oct 2022 00:01:33 +0800</pubDate><description><![CDATA[使用ModelAndView向请求域共享数据时，可以使用其Model功能向请求域共享数据，使用。Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的。View功能设置逻辑视图，但是控制器方法一定要将ModelAndView作为方法的返回值。]]></description><category></category></item><item><title><![CDATA[Spring复习——day10_SpringMVC_获取请求参数]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127328692</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127328692</guid><author>qq_46061535</author><pubDate>Fri, 14 Oct 2022 23:21:46 +0800</pubDate><description><![CDATA[在控制器方法的形参位置，设置和请求参数同名的形参，当浏览器发送请求，匹配到请求映射时，在 DispatcherServlet中就会将请求参数赋值给相应的形参。若请求所传输的请求参数中有多个同名的请求参数，此时可以在控制器方法的形参中设置字符串 数组或者字符串类型的形参接收此请求参数；可以在控制器方法的形参位置设置一个实体类类型的形参，此时若浏览器传输的请求参数的参数名和实 体类中的属性名一致，那么请求参数就会为此属性赋值。若使用字符串类型的形参，此参数的值为每个数据中间使用逗号拼接的结果。]]></description><category></category></item><item><title><![CDATA[Spring复习——day09_SpringMVC_@RequestMapping注解]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127311768</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127311768</guid><author>qq_46061535</author><pubDate>Fri, 14 Oct 2022 00:16:56 +0800</pubDate><description><![CDATA[若当前请求的请求地址满足请求映射的value属性，但是请求方式不满足method属性，则浏览器报错 405：Request method 'POST' not supported。@RequestMapping注解的method属性是一个RequestMethod类型的数组，表示该请求映射能够匹配多种请求方式的请求。@RequestMapping注解的value属性是一个字符串类型的数组，表示该请求映射能够匹配多个请求地址 所对应的请求。]]></description><category></category></item><item><title><![CDATA[Spring复习——day08_SpringMVC简介&&入门案例]]></title><link>https://blog.youkuaiyun.com/qq_46061535/article/details/127218565</link><guid>https://blog.youkuaiyun.com/qq_46061535/article/details/127218565</guid><author>qq_46061535</author><pubDate>Sun, 09 Oct 2022 23:54:09 +0800</pubDate><description><![CDATA[MVC是一种软件架构的思想，将软件按照模型、视图、控制器来划分M：Model，模型层，值工作中的JavaBean，作用的处理数据JavaBean分为两类：一类称为实体类Bean：专门存储业务数据的，如Student、User等一类称为业务处理Bean：指Service或Dao对象，专门用于处理业务逻辑和数据访问V：View，视图层，指工程中的html或jsp等页面，作用是与用户进行交互，展示数据，控制层，值工程中servlet，作用是接收请求和响应浏览器。]]></description><category></category></item></channel></rss>