<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ToBeWhatYouWant]]></title><description><![CDATA[一个正在成长的新手程序员]]></description><link>https://blog.youkuaiyun.com/dpf373521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dpf373521]]></copyright><item><title><![CDATA[传统商城的秒杀设计简单实现]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/106335797</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/106335797</guid><author>dpf373521</author><pubDate>Tue, 26 May 2020 01:33:20 +0800</pubDate><description><![CDATA[*秒杀的实现
一.秒杀的特点
1.秒杀的特点是在规定时间内，用户在同一时间进行抢购，网站流量激增。
2.秒杀的请求量远远大于库存量。
3.抢购支付成功从数据库减少库存。
二.秒杀的设计
限流：由于有很多个线程抢夺资源，只有少数线程抢成功，所以要对大部分线程进行分流处理，只允许少数的线程进入秒杀的服务器端。
削峰：队友秒杀系统会有大量的线程涌入，所以在抢购一开始的时候会有很高的峰值，可能会对系统产生巨大的冲击力，把高流浪峰值变成平稳的流量也是秒杀系统很重要的思路，实现削峰的常用方法利用缓存技术和消息中间件（m]]></description><category></category></item><item><title><![CDATA[MySQL 数据库 - SQL 优化]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102948987</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102948987</guid><author>dpf373521</author><pubDate>Thu, 07 Nov 2019 17:13:26 +0800</pubDate><description><![CDATA[一.结构图
MySQL 数据库 - SQL 优化

1.1ISAM(Indexed Sequential Access Method)
ISAM是一个定义明确且定义明确的数据表格管理方法，在设计时就考虑到数据库的查询次数远远大于更新的次数。因此，ISAM执行读取操作的速度很快，而且不占用大量的内存和存储资源。
ISAM的两个不足点：
1.ISAM不支持事务；
2.不能够容错。如果你的硬盘崩溃了，那...]]></description><category></category></item><item><title><![CDATA[超详细的JVM优化方案]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102938146</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102938146</guid><author>dpf373521</author><pubDate>Wed, 06 Nov 2019 21:24:45 +0800</pubDate><description><![CDATA[一.概念理解
1.1堆与栈
栈是运行时单位，解决程序的运行问题，即程序如何执行，或说如何处理数据

堆是数据的存储单位，堆是jvm中管理内存中最大一块。它是被共享，存放对象实例。也称为“gc堆”。
垃圾回收的主要管理区域

在java中一个线程就会有一个线程栈与之对应，不同的线程执行逻辑不同，因此需要一个独立的线程栈。而堆是所有线程共性的。栈因为是运行单位，因此里面存储的信息都是跟当前线程相关信息...]]></description><category></category></item><item><title><![CDATA[Spring Cloud高可用集群搭建]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102893424</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102893424</guid><author>dpf373521</author><pubDate>Mon, 04 Nov 2019 17:11:39 +0800</pubDate><description><![CDATA[一.集群搭建架构图
每个区域一个Eureka集群区域，负责该区域内的服务实例。每个区域至少有一台Eureka服务器来处理区域故障

服务注册Eureka，然后发送心跳每30s更新一次租约，

...]]></description><category></category></item><item><title><![CDATA[Spring Cloud Eureka入门配置]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102869678</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102869678</guid><author>dpf373521</author><pubDate>Mon, 04 Nov 2019 10:47:13 +0800</pubDate><description><![CDATA[一.Spring Cloud Eureka和Zookeeper的区别？

CAP定理，指的是在一个分布式系统中，一致性（Consistency）、可用性（Availability）、分区容错性（Partition tolerance）。CAP 原则指的是，这三个要素最多只能同时实现两点，不可能三者兼顾。
CAP原则的精髓之处就是要么AP,要么AC，要么CP，但是不存在CAP。
Zk注重数据的一致性...]]></description><category></category></item><item><title><![CDATA[单体架构和微服务架构的优缺点]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102860444</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102860444</guid><author>dpf373521</author><pubDate>Fri, 01 Nov 2019 18:04:20 +0800</pubDate><description><![CDATA[单体架构：单体架构就是把所有的业务模块编写在一个项目中，最终会打包成一个war，然后进行部署运行

单体架构的优点：
1.由于是完整的

]]></description><category></category></item><item><title><![CDATA[Mybatis初始化原理]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102749188</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102749188</guid><author>dpf373521</author><pubDate>Fri, 01 Nov 2019 15:07:05 +0800</pubDate><description><![CDATA[Mybatis初始化过程]]></description><category></category></item><item><title><![CDATA[Mybatis的一级缓存，二级缓存过期时间分析]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102748592</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102748592</guid><author>dpf373521</author><pubDate>Fri, 25 Oct 2019 19:50:16 +0800</pubDate><description><![CDATA[Mybatis的缓存级别
Mybatis提供了查询缓存来查询数据，使在项目开发中提高性能。 Mybatis的缓存分为一级缓存和二级缓存，一级缓存是SqlSession级别的缓存，二级缓存是mapper级别的缓存，二级缓存是多个SqlSession共享的。Mybatis通过缓存机制减轻数据压力，提高数据库的性能。
一.一级缓存没有过期时间，只有生命周期
（1）.Mybatis在开启一个数据库会话时，...]]></description><category></category></item><item><title><![CDATA[Mysql优化]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102728870</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102728870</guid><author>dpf373521</author><pubDate>Thu, 24 Oct 2019 18:18:06 +0800</pubDate><description><![CDATA[一.Mysql的存储引擎
MyISAM的特点：
不支持完整的事务，奔溃恢复能力差
.frm:表结构信息
.MYD:数据文件
.MYI:表的索引信息（比innodb多的文件）
InnoDB 特点：
1）、支持事务
2）、数据多版本读取（InnoDB+MyISAM+ISAM）
3）、锁定机制的改进
4）、实现外键
2. innodb 与 myisam 区别

InnoDB 支持事务，MyISAM 不支...]]></description><category></category></item><item><title><![CDATA[Spring常见面试题]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102719071</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102719071</guid><author>dpf373521</author><pubDate>Thu, 24 Oct 2019 17:46:52 +0800</pubDate><description><![CDATA[大大]]></description><category></category></item><item><title><![CDATA[Spring Cloud Eureka和Zookeeper的区别]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102575803</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102575803</guid><author>dpf373521</author><pubDate>Tue, 15 Oct 2019 22:32:08 +0800</pubDate><description><![CDATA[一.CPA原则
CAP原则又称CAP定理，指的是在一个分布式系统中，一致性（Consistency）、可用性（Availability）、分区容错性（Partition tolerance）。CAP 原则指的是，这三个要素最多只能同时实现两点，不可能三者兼顾。
一致性（C）：在分布式系统的所有数据备份，在同一时刻是否同样的值（等同于所有节点访问同一份最新的数据副本））
可用性（A）：在集群中一部分...]]></description><category></category></item><item><title><![CDATA[微信小程序登录流程及登录]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/102556876</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/102556876</guid><author>dpf373521</author><pubDate>Mon, 14 Oct 2019 21:53:17 +0800</pubDate><description><![CDATA[一.登录流程

1.微信小程序端发起请求并携带主要参数;
2.java后台接收到登录请求后，根据临时凭证code去调用微信接口获取用户唯一标识openId和sessionKey;
3.使用openId去查询数据库（openId是会员的的唯一标识）
a.若openId存在，直接登录成功；
b.若openId’不存在，我们把openId写入到数据库，并且让他登录
4.根据openId查询redis数据...]]></description><category></category></item><item><title><![CDATA[ActiveMQ入门学习]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/101024790</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/101024790</guid><author>dpf373521</author><pubDate>Thu, 19 Sep 2019 17:18:32 +0800</pubDate><description><![CDATA[一.ActiveMQ的简介
Activemq ： 是一个实现了JMS的消息中间间。该中间可跨平台，java ，c++ python ，.net都能使用，最近流行websocket ，mqtt 也能实现，但是activemq 是java写的，实现jms的规范写的！
特点：
1、支持多种语言编写客户端
2、对spring的支持，很容易和spring整合
3、支持多种传输协议：TCP,SSL,NIO,U...]]></description><category></category></item><item><title><![CDATA[BloomFilter布隆过滤器的实现解决缓存击穿问题]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/101017773</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/101017773</guid><author>dpf373521</author><pubDate>Thu, 19 Sep 2019 14:45:00 +0800</pubDate><description><![CDATA[什么是缓存的击穿
缓存穿透是指缓存和数据库中都没有的数据，缓存每次都无法命中，因为我们默认不会缓存null 值，导致用户访问 id=-1 这样的数据时，一直都无法命中，这时的用户很可能是攻击者，攻击会导致数据库压力过大。
解决方法：
A.在redis缓存null, 当它再次查询id = -i ，在缓存里面有值，可以不在访问数据库
但是缺点缓存了null 值
B.使用BloomFilter
Bloo...]]></description><category></category></item><item><title><![CDATA[Springboot+MybatisPlus+layui简易账单管理项目]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/100551574</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/100551574</guid><author>dpf373521</author><pubDate>Thu, 05 Sep 2019 10:49:19 +0800</pubDate><description><![CDATA[1.项目整体效果如下：

2.数据库设计：
表一：

表二：


]]></description><category></category></item><item><title><![CDATA[Linux下安装Zookeeper]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/100166535</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/100166535</guid><author>dpf373521</author><pubDate>Fri, 30 Aug 2019 22:12:45 +0800</pubDate><description><![CDATA[1，系统要求
ZooKeeper可以运行在多种系统平台上面，表1展示了zk支持的系统平台，以及在该平台上是否支持开发环境或者生产环境。
ZooKeeper支持的运行平台:

ZooKeeper是用Java编写的，运行在Java环境上，因此，在部署zk的机器上需要安装Java运行环境。为了正常运行zk，我们需要JRE1.6或者以上的版本。
对于集群模式下的ZooKeeper部署，3个ZooKeepe...]]></description><category></category></item><item><title><![CDATA[redis的集群]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/98525012</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/98525012</guid><author>dpf373521</author><pubDate>Mon, 05 Aug 2019 22:03:12 +0800</pubDate><description><![CDATA[1，为什么要使用profiles
在开发中，一般有两种环境
1，生产环境  [项目上线，客户在使用中，就是生产环境]
2，开发环境[就是开发环境，不解释]
有时候开发环境和生产环境的配置方法是不一样的，那么如何快速的切换呢，这里就要使用profiles文件
2，使用方法[文件]
1，创建applicatin-dev.properties
server.port=8888
2，创建applicati...]]></description><category></category></item><item><title><![CDATA[spring简介及代理模式]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/98520401</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/98520401</guid><author>dpf373521</author><pubDate>Mon, 05 Aug 2019 21:49:10 +0800</pubDate><description><![CDATA[1.创建student类

2.在pom文件中加入配置文件提示的依赖

创建appliccation.propproperties，里面不能写中文


@Component之后，ioc容器里就有一个student对象，能匹配到@ConfigurationProperties(prefix=“stu”)里面的"stu"前缀，来匹配到application.properties，跟applicatio...]]></description><category></category></item><item><title><![CDATA[Springboot学习（一）Springboot介绍与入门程序]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/98315315</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/98315315</guid><author>dpf373521</author><pubDate>Sat, 03 Aug 2019 17:11:17 +0800</pubDate><description><![CDATA[一.springboot的介绍
1.springboot简介
Spring Boot 是由 Pivotal 团队提供的全新框架，其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。
　　该框架使用了特定的方式来进行配置，从而使开发人员不再需要定义样板化的配置。　　
　　通过这种方式，Spring Boot 致力于在蓬勃发展的快速应用开发领域（rapidapplication deve...]]></description><category></category></item><item><title><![CDATA[springboot学习（五）自动配置原理及@Conditional派生注解]]></title><link>https://blog.youkuaiyun.com/dpf373521/article/details/95460532</link><guid>https://blog.youkuaiyun.com/dpf373521/article/details/95460532</guid><author>dpf373521</author><pubDate>Sat, 03 Aug 2019 09:07:52 +0800</pubDate><description><![CDATA[概述
SpringMVC是spring提供的一个强大而灵活的web框架。借助于注解，SpringMVC提供了几乎是POJO的开发模式，是的控制器的开发和测试更加简单。这些控制器一般不直接处理请求，二回将其委托给Spring上下文中的其他的bean，通过spring的依赖注入功能，这些bean被注入到控制器中。
SpringMVC主要有DsipatcherServlet，处理器映射，处理器（控制器）...]]></description><category></category></item></channel></rss>