<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小唐同学的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csdn11235813</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csdn11235813]]></copyright><item><title><![CDATA[二分查找算法]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108806185</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108806185</guid><author>csdn11235813</author><pubDate>Sat, 26 Sep 2020 00:43:49 +0800</pubDate><description><![CDATA[题目描述
请实现有重复数字的有序数组的二分查找。
输出在数组中第一个大于等于查找值的位置，如果数组中不存在这样的数，则输出数组长度加一。

初步代码
一开始我没有认真看这个题，就用之前记忆中的二分查找去做了，代码如下：
import java.util.*;


public class Solution {
    /**
     * 二分查找
     * @param n int整型 数组长度
     * @param v int整型 查找值
     * @param a int整型一维数组 有]]></description><category></category></item><item><title><![CDATA[LRU算法实现]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108681191</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108681191</guid><author>csdn11235813</author><pubDate>Sat, 19 Sep 2020 16:21:04 +0800</pubDate><description><![CDATA[题目描述
题目描述
设计LRU缓存结构，该结构在构造时确定大小，假设大小为K，并有如下两个功能

set(key, value)：将记录(key, value)插入该结构
get(key)：返回key对应的value值

[要求]

set和get方法的时间复杂度为O(1)
某个key的set或get操作一旦发生，认为这个key的记录成了最常使用的。
当缓存的大小超过K时，移除最不经常使用的记录，即set或get最久远的。

若opt=1，接下来两个整数x, y，表示set(x, y)
若opt=2，接下来]]></description><category></category></item><item><title><![CDATA[java中的引用类型]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108555243</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108555243</guid><author>csdn11235813</author><pubDate>Sun, 13 Sep 2020 21:19:39 +0800</pubDate><description><![CDATA[Java中的引用类型
首先java中的引用类型有如下几种：强引用，软引用，弱引用，虚引用。
接下来会结合代码尝试着对这几种引用类型做下讲解。
测试四种引用类型
首先，我们创建了这样一个类：
public class Test1 {
    @Override
    protected void finalize()throws Throwable{
        System.out.println("finalize发生	");
    }
}

重写了finalize方法 这样在Test1垃圾回收时]]></description><category></category></item><item><title><![CDATA[剑指 Offer 06. 从尾到头打印链表]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108413147</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108413147</guid><author>csdn11235813</author><pubDate>Fri, 04 Sep 2020 23:46:52 +0800</pubDate><description><![CDATA[题目描述
输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）。

值得注意的是我们接收的参数是链表的第一个节点，我们也可以看到链表的定义。
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    publi]]></description><category></category></item><item><title><![CDATA[剑指 Offer 05. 替换空格]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108170766</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108170766</guid><author>csdn11235813</author><pubDate>Sat, 22 Aug 2020 18:20:25 +0800</pubDate><description><![CDATA[题目描述
剑指 Offer 05. 替换空格
请实现一个函数，把字符串 s 中的每个空格替换成"%20"。

题目背景
在网络编程中，如果URL的参数中有特殊字符，比如空格或者“ # ”等，则可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在“%”之后跟上ASCII码的两位十六进制表示。
我的方法
正向循环字符串，如果遇到空格则append“%20”，如果不是空格就append字符串中的字符。
代码如下：
class Solution {
    publ]]></description><category></category></item><item><title><![CDATA[雪崩问题]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108080371</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108080371</guid><author>csdn11235813</author><pubDate>Tue, 18 Aug 2020 16:13:48 +0800</pubDate><description><![CDATA[问题描述
微服务中，服务间调用关系错综复杂，一个请求，可能需要调用多个微服务接口才能实现，会形成非常复杂的调用 链路



解决方法：线程隔离以及服务降级




]]></description><category></category></item><item><title><![CDATA[系统架构演变]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108078782</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108078782</guid><author>csdn11235813</author><pubDate>Tue, 18 Aug 2020 15:49:33 +0800</pubDate><description><![CDATA[系统构架前言
随着互联网的发展，网站应用的规模不断扩大，需求的激增，随之而来的是技术上的压力。系统架构也因此不断的 演进、升级、迭代。从单一应用，到垂直拆分，到分布式服务，到SOA，以及现在火热的微服务架构
集中式构架
当网站流量很小时，只需要一个应用，将所有的功能都部署在一起，以减少部署节点和成本。
优点：

系统开发速度快
维护成本低
适用于并发要求较低的系统

缺点：

代码耦合度高，后期维护困难
无法针对不同模块进行优化
无法水平扩展
单点容错率低，并发能力差

垂直拆分
当访问量逐渐增大，单一应用]]></description><category></category></item><item><title><![CDATA[8.15leetcode每日一题]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/108021509</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/108021509</guid><author>csdn11235813</author><pubDate>Sat, 15 Aug 2020 16:52:44 +0800</pubDate><description><![CDATA[题目描述
给出一些不同颜色的盒子，盒子的颜色由数字表示，即不同的数字表示不同的颜色。你将经过若干轮操作去去掉盒子，直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子（k &gt;= 1），这样一轮之后你将得到 k*k 个积分。
当你将所有盒子都去掉之后，求你能获得的最大积分和。
题目连接


题目分析
1.初步分析
这道题难度困难，看上去还是挺难的，有点像数学问题，我们可以简单的分析一下这个模型：
首先，当给我们一串数字让我们去运算之后，为了分数越高，肯定应该尽量往更多重复的数字上面靠]]></description><category></category></item><item><title><![CDATA[剑指offer面试题01]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/107864466</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/107864466</guid><author>csdn11235813</author><pubDate>Fri, 07 Aug 2020 21:23:37 +0800</pubDate><description><![CDATA[简介
做一下面试的准备，开始搞一下算法题，把剑指offer的题都搞一下
题目
1.数组中重复的数字 offer.03
找出数组中重复的数字
题目描述：

在一个长度为 n 的数组 nums 里的所有数字都在 0～n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字重复了，也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。


我的想法
我自己是这样想的，利用set中的值只能存在一个，再次添加时返回false的特性，找到重复的数字，代码如下：
class Solution {
    pub]]></description><category></category></item><item><title><![CDATA[spring基础部分知识点回顾]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/107744454</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/107744454</guid><author>csdn11235813</author><pubDate>Sun, 02 Aug 2020 18:44:34 +0800</pubDate><description><![CDATA[简介
最近学习了很多框架的知识，spring，springmvc，mybatis等等，这些框架让我感受到便利的同时也让我感受到了需要记忆了解的内容的量很大，很快的接触很多框架有点应接不暇，所以想总结一下框架的使用要点
知识点回顾
1.通过IOC实现对对象的管控
1.1 IOC使用步骤
1.引入jar包，通过maven引入对应依赖实现。
IOC实现需要的包的groupId都是org.springframework
具体需要的包的artifactId如下所示：

spring-core（Spring的核心工具包]]></description><category></category></item><item><title><![CDATA[学习框架时遇到的一些问题]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/107468298</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/107468298</guid><author>csdn11235813</author><pubDate>Fri, 24 Jul 2020 23:23:37 +0800</pubDate><description><![CDATA[1.使用cmd窗口运行时失败

如上图所示，按照教程运行maven之后报错，大概意思是我应该使用6或者更高的java版本，但是实际上我使用的是java11，我一开始的pom.xml是这样的:
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.]]></description><category></category></item><item><title><![CDATA[完成jsp，servlet项目的一点心得]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/107370562</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/107370562</guid><author>csdn11235813</author><pubDate>Fri, 17 Jul 2020 17:57:29 +0800</pubDate><description><![CDATA[关于项目
做的项目是一个简单的教务系统，分配给我的任务主要是集中在菜单管理，权限管理，以及角色管理，这篇博客记录一下一些关于做项目的心得
1.拿到项目先思考些什么
首先我们都了解，这一种项目都是基于mvc设计模式的：

操作的界面是在前端网页
中间需要完成的功能由java连接起来
显示的数据来自数据库

它的核心其实是为了让用户能够按照需求、按照我们的想法去操作、看到数据库的数据，并且还要让用户有比较好的操作体验。
所以首先想的是我们需要什么样的数据库数据，先把表建好，各个表的主键是什么，表与表的关系是什么]]></description><category></category></item><item><title><![CDATA[jsp、servlet项目部分错误总结]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/107281036</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/107281036</guid><author>csdn11235813</author><pubDate>Sat, 11 Jul 2020 11:17:44 +0800</pubDate><description><![CDATA[在最近的写项目过程中遇到了很多问题，这里来整理一下
PropertyNotFoundException: 类型XXX上找不到属性XXX的解决方案
之前遇到了这样的问题，它的报错提示是这样的：
javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[menuid2]

在网上搜到了很多问题解答的方案：

检查java类中属性名有没打错。
在页面用el表示时，应该将第一个字母改为小写。
检查自己的代码写的是否规范
命名冲突

这些只适用于下图]]></description><category></category></item><item><title><![CDATA[Javaweb mvc设计模式与三层架构]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/107124263</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/107124263</guid><author>csdn11235813</author><pubDate>Sat, 04 Jul 2020 15:45:09 +0800</pubDate><description><![CDATA[MVC设计模式与三层架构
什么是Web MVC设计模式？
mvc指的是m（model 模型） v（view 视图） c（controller 控制器）三个模块组成的代码项目。它规定了一种Javaweb的编程规范。

在Web MVC模式下，模型无法主动推数据给视图，如果用户想要视图更新，需要再发送一次请求（即请求-响应模 型）。

M(Model) 模型 : 应用程序的核心功能，管理这个模块中用的数据和值（bean,dao）；
V(View )视图: 视图提供模型的展示，管理模型如何显示给用户，它是应用程序]]></description><category></category></item><item><title><![CDATA[Java集合部分面试题解答]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/106985261</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/106985261</guid><author>csdn11235813</author><pubDate>Sat, 27 Jun 2020 18:36:54 +0800</pubDate><description><![CDATA[Java集合面试题
1.Collection和Collections的区别
Collection是集合类的上级接口，继承与他有关的接口主要有List和Set
Collections是针对集合类的一个帮助类，他提供一系列静态方法实现对各种集合的搜索、排序、线程安全等操作
2.Comparable 和 Comparator 接口是干什么的？列出它们的区别
Comparable 是排序接口。
若一个类实现了Comparable接口，就意味着“该类支持排序”。  即然实现Comparable接口的类支持排序，假设现]]></description><category></category></item><item><title><![CDATA[Java JSON解析简单教程]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/106910932</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/106910932</guid><author>csdn11235813</author><pubDate>Mon, 22 Jun 2020 22:07:24 +0800</pubDate><description><![CDATA[JSON解析
针对JSON解析的问题，我们使用两种解析方式，一种是谷歌开发的Gson，一种是阿里开发的Fastson。
并且一般我们使用过程，就是把对象转换成JSON格式 或者 JSON格式的字符串转换为Java的对象
Gson
将对象转换为JSON字符串
在我们引入jar包之后只需要用以下代码就能转换了：
String json = new Gson().toJSON(要转换的对象);

示例：
        Book book = new Book("100","金苹果","种苹果之路");
    ]]></description><category></category></item><item><title><![CDATA[数据库中正则表达式的使用]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/106886860</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/106886860</guid><author>csdn11235813</author><pubDate>Sun, 21 Jun 2020 17:43:23 +0800</pubDate><description><![CDATA[MySQL数据库中的正则表达式
本文通过对MySQL数据库中的部分正则表达式进行使用测试
首先观察一下我们本次使用的数据库中有哪些内容
select * from test;

字段名为“name”
xxxx 1000
xxxx 2000
1 point 5
2 point 5
.5 point 5
apple (3 tons)
apple (1 ton)
nothing serious



基本字符匹配  通过’ '搜索对应的数据


输入的代码：
select name from test where]]></description><category></category></item><item><title><![CDATA[Java Stream简介]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/106531004</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/106531004</guid><author>csdn11235813</author><pubDate>Sat, 13 Jun 2020 23:16:54 +0800</pubDate><description><![CDATA[目录关于Stream方法介绍filter
关于Stream
在不久前的一次博客中，谈到了Stream，对这个产生了一些疑问，于是想通过了解它的方法使用来了解一下这个接口。
方法介绍
filter

]]></description><category></category></item><item><title><![CDATA[Java Date DateFormat的一些方法介绍]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/106546294</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/106546294</guid><author>csdn11235813</author><pubDate>Fri, 05 Jun 2020 14:56:10 +0800</pubDate><description><![CDATA[目录简介DateDate的构造方法after 测试此日期是否在指定日期之后before 测试此日期是否在指定日期之前clone 返回此对象的副本compareTo 比较两个日期equals 比较两个date类型数据是否相等from 从Instant对象获得Date的实例Instant类getTmie 自1970年1月1日00:00:00 GMT以来的毫秒数setTime 将date对象根据long类型值设置时间hashCode与toStringDateFormatSimpleDateFormat构造方法
简]]></description><category></category></item><item><title><![CDATA[Java BigDecimal的方法介绍]]></title><link>https://blog.youkuaiyun.com/csdn11235813/article/details/106446951</link><guid>https://blog.youkuaiyun.com/csdn11235813/article/details/106446951</guid><author>csdn11235813</author><pubDate>Sun, 31 May 2020 17:04:58 +0800</pubDate><description><![CDATA[目录BigDecimal的方法介绍
BigDecimal的方法介绍
本文使用的是jdk11的版本

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