<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wangbeita的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/wangbeita</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; wangbeita]]></copyright><item><title><![CDATA[设计模式概述]]></title><link>https://blog.csdn.net/wangbeita/article/details/118250911</link><guid>https://blog.csdn.net/wangbeita/article/details/118250911</guid><author>wangbeita</author><pubDate>Sat, 26 Jun 2021 16:46:26 +0800</pubDate><description><![CDATA[文章目录1. 设计模式概述1.1 软件设计模式的产生背景1.2 软件设计模式的概念1.3 学习设计模式的必要性1.4 设计模式分类2. UML图2.1 类图概述2.2 类图的作用2.3 类图表示法2.3.1 类的表示方式2.3.2 类与类之间关系的表示方式2.3.2.1 关联关系2.3.2.2 聚合关系2.3.2.3 组合关系2.3.2.4 依赖关系2.3.2.5 继承关系2.3.2.6 实现关系3. 软件设计原则3.1 开闭原则3.2 里氏代换原则3.3 依赖倒转原则3.4 接口隔离原则3.5 迪米特法则]]></description><category></category></item><item><title><![CDATA[ShardingSphere 分库分表]]></title><link>https://blog.csdn.net/wangbeita/article/details/117395713</link><guid>https://blog.csdn.net/wangbeita/article/details/117395713</guid><author>wangbeita</author><pubDate>Fri, 04 Jun 2021 14:30:29 +0800</pubDate><description><![CDATA[目录一、ShardingSphere1.1 简介1.2 什么是分库分表1.3 分库分表之垂直拆分1.4 分库分表之水平切分二、 ShardingSphere-JDBC2.1 简介2.2 Sharding-JDBC 分表实操2.3 实现水平分表2.3.1 配置 Sharding-JDBC 分片策略2.4 实现水平分库2.4 实现垂直分库2.5 公共表2.6 读写分离2.6.1 什么是读写分离2.6.2 主从复制原理2.6.3 什么是读写分离
一、ShardingSphere
1.1 简介
Apache Sha]]></description><category></category></item><item><title><![CDATA[ElasticSearch]]></title><link>https://blog.csdn.net/wangbeita/article/details/116103522</link><guid>https://blog.csdn.net/wangbeita/article/details/116103522</guid><author>wangbeita</author><pubDate>Tue, 27 Apr 2021 13:47:15 +0800</pubDate><description><![CDATA[ElasticSearch一、ES的概述1. 介绍2. 优点3. 缺点4. 基本概念4.1 Index(索引)4.2 Type(类型)4.3 Document(文档)5. 比较6. 工作原理7. 倒排索引二、ES的安装部署1. Linux安装Docker1.1 删除老版本1.2 安装工具包并设置存储库1.3 安装docker引擎1.4 启动docker1.5 设置开机启动docker1.6 设置国内镜像仓库2. Docker安装Elasticsearch2.1 下载镜像文件2.2 配置挂载数据文件夹2.3.]]></description><category></category></item><item><title><![CDATA[LeeCode-24-两两交换链表中的节点]]></title><link>https://blog.csdn.net/wangbeita/article/details/115470969</link><guid>https://blog.csdn.net/wangbeita/article/details/115470969</guid><author>wangbeita</author><pubDate>Tue, 06 Apr 2021 21:39:54 +0800</pubDate><description><![CDATA[题目：
给定一个链表，两两交换其中相邻的节点，并返回交换后的链表。
你不能只是单纯的改变节点内部的值，而是需要实际的进行节点交换。

示例 1：
输入：head = [1,2,3,4]
输出：[2,1,4,3]
解题思路：
我们可以通过改变链表的指向来解决这道题。
我们以1-&gt;2-&gt;3-&gt;4为例。



定义一个新链表res.next指向原链表。



因为两两交换涉及到三个节点，我们需要定义一个中间指针指向res方便返回修改后的链表，以及指向head节点、指向第二个节点的nxt、第三个节]]></description><category></category></item><item><title><![CDATA[LeeCode-22-括号生成]]></title><link>https://blog.csdn.net/wangbeita/article/details/115447498</link><guid>https://blog.csdn.net/wangbeita/article/details/115447498</guid><author>wangbeita</author><pubDate>Mon, 05 Apr 2021 20:45:15 +0800</pubDate><description><![CDATA[题目：
数字 n 代表生成括号的对数，请你设计一个函数，用于能够生成所有可能的并且 有效的 括号组合。
示例 1：
输入：n = 3
输出：["((()))","(()())","(())()","()(())","()()()"]
示例 2：
输入：n = 1
输出：["()"]
解题思路：
该题我们可以用回溯法来做。
我们可以先用排列组合，列出所有可能的结果。例如加入n=2，则会有以下结果


由上图我们可以得出结论：如果n=2,则left代表左括号的数量；right则代表右括号的数量。
当left&l]]></description><category></category></item><item><title><![CDATA[LeeCode-21-合并两个有序链表]]></title><link>https://blog.csdn.net/wangbeita/article/details/115433708</link><guid>https://blog.csdn.net/wangbeita/article/details/115433708</guid><author>wangbeita</author><pubDate>Sun, 04 Apr 2021 21:33:19 +0800</pubDate><description><![CDATA[题目：
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1：
输入：l1 = [1,2,4], l2 = [1,3,4]
输出：[1,1,2,3,4,4]
解题思路：
我们可以使用迭代法来解决此问题。

定义一个返回结果的链表res和辅助指针cur,让cur=res。
然后依次比较l1和l2的val值，如果l1.val&lt;=l2.val
则让cur.next= l1；否则cur.next= l2.
然后依次移动l1或者l2的指针以及cur的指针。
]]></description><category></category></item><item><title><![CDATA[LeeCode-20-有效的括号]]></title><link>https://blog.csdn.net/wangbeita/article/details/115420446</link><guid>https://blog.csdn.net/wangbeita/article/details/115420446</guid><author>wangbeita</author><pubDate>Sat, 03 Apr 2021 20:50:04 +0800</pubDate><description><![CDATA[题目：
给定一个只包括 ‘(’，’)’，’{’，’}’，’[’，’]’ 的字符串 s ，判断字符串是否有效。
有效字符串需满足：
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
示例 1：
输入：s = “()”
输出：true
示例 2：
输入：s = “()[]{}”
输出：true
示例 3：
输入：s = “(]”
输出：false
解题思路：
这道题我们可以利用栈的数据结构来解。需要考虑一下几点：

需要考虑如果字符串为空，符合条件，直接返回
因为栈是先进后出，我们可以可以考虑把]]></description><category></category></item><item><title><![CDATA[LeetCode-02-两数相加]]></title><link>https://blog.csdn.net/wangbeita/article/details/115408578</link><guid>https://blog.csdn.net/wangbeita/article/details/115408578</guid><author>wangbeita</author><pubDate>Fri, 02 Apr 2021 22:08:07 +0800</pubDate><description><![CDATA[题目：
给你两个 非空 的链表，表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的，并且每个节点只能存储 一位 数字。
请你将两个数相加，并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外，这两个数都不会以 0 开头。

示例 2：
输入：l1 = [0], l2 = [0]
输出：[0]
示例 3：
输入：l1 = [9,9,9,9,9,9,9],l2 = [9,9,9,9]
输出：[8,9,9,9,0,0,0,1]
解题思路：
这道题是两个链表的每个节点相加,如果超过10有进位的]]></description><category></category></item><item><title><![CDATA[LeetCode-01-两数之和]]></title><link>https://blog.csdn.net/wangbeita/article/details/115393435</link><guid>https://blog.csdn.net/wangbeita/article/details/115393435</guid><author>wangbeita</author><pubDate>Fri, 02 Apr 2021 11:46:47 +0800</pubDate><description><![CDATA[题目：
给定一个整数数组 nums 和一个整数目标值 target，请你在该数组中找出 和为目标值 的那 两个 整数，并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
示例 1：
输入：nums = [2,7,11,15], target = 9
输出：[0,1]
解释：因为 nums[0] + nums[1] == 9 ，返回 [0, 1] 。
解题思路：
第一种方法：
(1)可以使用暴力解法。我们可以利用循环遍历,让第一]]></description><category></category></item><item><title><![CDATA[Git常用指令]]></title><link>https://blog.csdn.net/wangbeita/article/details/115313740</link><guid>https://blog.csdn.net/wangbeita/article/details/115313740</guid><author>wangbeita</author><pubDate>Mon, 29 Mar 2021 22:48:48 +0800</pubDate><description><![CDATA[Git 常用操作指令
git init //把这个目录变成Git可以管理的仓库
git add README.md //文件添加到仓库
git add . //不但可以跟单一文件，还可以跟通配符，更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了 
git commit -m "first commit" //把文件提交到仓库
git remote add origin 远程仓库地址 //关联远程仓库
git push -u origin master //把本地库的所有内容推送到远程库上


]]></description><category></category></item><item><title><![CDATA[Nuxt框架使得服务器内存溢出]]></title><link>https://blog.csdn.net/wangbeita/article/details/115306480</link><guid>https://blog.csdn.net/wangbeita/article/details/115306480</guid><author>wangbeita</author><pubDate>Mon, 29 Mar 2021 17:24:38 +0800</pubDate><description><![CDATA[出现的问题：用压测软件测自己写的程序,吞吐量从90/s一直降低到40/s，然后报了以下错误。Nuxt框架使得服务器内存溢出,使用Nuxt上架PC官网项目，上线后，使用压测工具进行压测，运行了三五分钟后，内存逐步上升，直到用完，服务停止响应.


&lt;— JS stacktrace —&gt;
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

.]]></description><category></category></item><item><title><![CDATA[服务负载均衡：Ribbon]]></title><link>https://blog.csdn.net/wangbeita/article/details/113754245</link><guid>https://blog.csdn.net/wangbeita/article/details/113754245</guid><author>wangbeita</author><pubDate>Mon, 08 Feb 2021 21:02:04 +0800</pubDate><description><![CDATA[Ribbon一、Ribbon简介1.1、什么是Ribbon1.2、为什么要使用Ribbon二、Ribbon入门案例2.1、项目准备2.2、修改服务消费者三、Ribbon负载均衡策略3.1、轮询策略（默认）3.2、权重轮询策略3.3、随机策略3.4、最少并发数策略3.5、重试策略3.6、可用性敏感策略3.7、区域敏感性策略四、Ribbon负载均衡设置4.1、全局替换
一、Ribbon简介
1.1、什么是Ribbon
Ribbon 是一个基于 HTTP 和 TCP 的客服端负载均衡工具，它是基于 Netflix]]></description><category></category></item><item><title><![CDATA[服务注册中心：zookeeper]]></title><link>https://blog.csdn.net/wangbeita/article/details/113745702</link><guid>https://blog.csdn.net/wangbeita/article/details/113745702</guid><author>wangbeita</author><pubDate>Sun, 07 Feb 2021 19:24:11 +0800</pubDate><description><![CDATA[zookeeper一、SpringBoot整合zookeeper1.1、创建项目服务提供者1.2、创建消费者服务
一、SpringBoot整合zookeeper
1.1、创建项目服务提供者
(1)创建服务提供者cloud-zookeeper-provider-payment8004
(2)pom.xml中添加依赖
注意： 添加的zookeeper版本要与自己安装在服务器上的一致。
	&lt;dependencies&gt;
        &lt;dependency&gt;
            &lt]]></description><category></category></item><item><title><![CDATA[服务注册中心：Eureka]]></title><link>https://blog.csdn.net/wangbeita/article/details/113729283</link><guid>https://blog.csdn.net/wangbeita/article/details/113729283</guid><author>wangbeita</author><pubDate>Sun, 07 Feb 2021 17:40:53 +0800</pubDate><description><![CDATA[415]]></description><category></category></item><item><title><![CDATA[JSR303校验]]></title><link>https://blog.csdn.net/wangbeita/article/details/112754750</link><guid>https://blog.csdn.net/wangbeita/article/details/112754750</guid><author>wangbeita</author><pubDate>Sun, 17 Jan 2021 20:39:32 +0800</pubDate><description><![CDATA[JSR303校验一、简介1.Bean Validation 规范内嵌的约束注解二、实例1. 基本应用1.1 引入依赖1.2 给实体类成员添加校验注解1.2.1 我们可以直接给bean成员上添加校验注解1.2.2 也可以修改bean成员上添加校验注解，修改默认提示1.2.3 默认的错误提示规则1.3 在Controller上开启校验1.4 运行效果如下2. 统一异常处理2.1 抽取一个异常处理类2.2 测试结果如下2.3 默认异常处理2.3.1 添加默认异常处理2.3.2 定义错误状态码2.3.3 测试结果如]]></description><category></category></item><item><title><![CDATA[npm install的时候报错node-sass]]></title><link>https://blog.csdn.net/wangbeita/article/details/112517509</link><guid>https://blog.csdn.net/wangbeita/article/details/112517509</guid><author>wangbeita</author><pubDate>Tue, 12 Jan 2021 12:35:42 +0800</pubDate><description><![CDATA[执行以下步骤可以完美解决


先查看package.json里面的node-sass的版本是多少,以我的为例为"node-sass": “4.14.1”



然后再查看自己的node.js版本号，在控制台输入node -v即可查看，我的是V14.15.3。



然后参考下图找到自己对应的node-sass版本修改package.json里面的node-sass版本即可，例如我的是node14对应4.14.1。

4 然后清除缓存重新npm intall即可。



...]]></description><category></category></item><item><title><![CDATA[新版Vue脚手架关闭eslint]]></title><link>https://blog.csdn.net/wangbeita/article/details/112516898</link><guid>https://blog.csdn.net/wangbeita/article/details/112516898</guid><author>wangbeita</author><pubDate>Tue, 12 Jan 2021 12:18:37 +0800</pubDate><description><![CDATA[新版vue脚手架如何关闭eslint
遇到的问题如下：

解决的办法：关闭eslint
网上的方法是更改build/webpack.config.js
但是在新版的vue-cli中已经隐藏了这个文件
在根目录新建一个vue.config.js
module.exports = {
    lintOnSave: false
}


...]]></description><category></category></item><item><title><![CDATA[Dubbo知识点]]></title><link>https://blog.csdn.net/wangbeita/article/details/111771030</link><guid>https://blog.csdn.net/wangbeita/article/details/111771030</guid><author>wangbeita</author><pubDate>Sun, 10 Jan 2021 15:24:01 +0800</pubDate><description><![CDATA[1]]></description><category></category></item><item><title><![CDATA[剑指 Offer 22. 链表中倒数第k个节点]]></title><link>https://blog.csdn.net/wangbeita/article/details/109863995</link><guid>https://blog.csdn.net/wangbeita/article/details/109863995</guid><author>wangbeita</author><pubDate>Fri, 20 Nov 2020 20:44:38 +0800</pubDate><description><![CDATA[题目：
输入一个链表，输出该链表中倒数第k个节点。为了符合大多数人的习惯，本题从1开始计数，即链表的尾节点是倒数第1个节点。例如，一个链表有6个节点，从头节点开始，它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
示例：
给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 k = 2.
返回链表 4-&gt;5.
解题思路：
第一种方法：
(1)我们可以先提前定义个辅助指针指向当前链表，从头开始遍历链表,记录链表的长度count。
(2)然后用for循环重]]></description><category></category></item><item><title><![CDATA[Java面试题总结]]></title><link>https://blog.csdn.net/wangbeita/article/details/109347438</link><guid>https://blog.csdn.net/wangbeita/article/details/109347438</guid><author>wangbeita</author><pubDate>Sat, 07 Nov 2020 23:14:09 +0800</pubDate><description><![CDATA[Java基础

JVM、JRE、JDK的关系。
什么是跨平台性？原理是什么。
Java语言有哪些特点？
什么是字节码？采用字节码的最大好处是什么？
什么是Java程序的主类？应用程序和小程序的主类有什么不同？
Java和C++的区别？
Oracle JDK 和OpenJDK的对比。
Java有哪些数据类型？


...]]></description><category></category></item></channel></rss>