<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JssenJ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JssenJ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JssenJ]]></copyright><item><title><![CDATA[软件设计-模块化设计初思考二]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/121734754</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/121734754</guid><author>JssenJ</author><pubDate>Sun, 05 Dec 2021 20:30:06 +0800</pubDate><description><![CDATA[软件设计-模块化设计初思考二
模块化设计初思考二软件设计-模块化设计初思考二书接上回AccountModularity类的升级首先，我们来分析一下，具体功能登录问题：解决边界化说明举一个例子再举一个例子入口抽象类再来Lifecycle接口本期最终优化成果自此完成
书接上回
我们已经
设计了Sender接口 用来实现信息的发送，为此我们做了两个实现类，分别实现，邮箱发送与短信发送。（实现类，未实现功能）
设计了  Verify接口  用来实现 不同的验证方式 为此我们做了两个实现类 ，分别实现，邮箱验证与账号]]></description><category></category></item><item><title><![CDATA[软件设计-模块化设计初思考一]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/121734726</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/121734726</guid><author>JssenJ</author><pubDate>Sun, 05 Dec 2021 20:28:33 +0800</pubDate><description><![CDATA[软件设计-模块化设计初思考一
模块化设计
说明：模块化设计，简单地说就是程序的编写不是开始就逐条录入计算机语句和指令，而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来，
并定义和调试好各个框架之间的输入、输出链接关系。
逐步求精的结果是得到一系列以功能块为单位的算法描述。
以功能块为单位进行程序设计，实现其求解算法的方法称为模块化。
模块化的目的是为了降低程序复杂度，使程序设计、调试和维护等操作简单化。
改变某个子功能只需相应改变相应模块即可。

最近在设计软件，突发奇想，把自己的模块化]]></description><category></category></item><item><title><![CDATA[slf4j + log4j2 实现日志系统：报错]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/119953873</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/119953873</guid><author>JssenJ</author><pubDate>Fri, 27 Aug 2021 15:21:46 +0800</pubDate><description><![CDATA[近日使用slf4j + log4j2 实现日志系统
报出以下错误
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.
SLF4J: Class path contains SLF4J bindings targe]]></description><category></category></item><item><title><![CDATA[项目分工思考]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/119714511</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/119714511</guid><author>JssenJ</author><pubDate>Sun, 15 Aug 2021 16:03:21 +0800</pubDate><description><![CDATA[项目分工
一个人
当我们一个人手撸一个项目的时候，从来没有考虑过分工问题。
自己动手，丰衣足食。
两个人
当项目大了起来，一个人手撸代码，逐渐花费时间，你可能会想，要是找个人来帮你写代码就好了。
于是，你找了一个人帮你写代码，说好了你负责这个模块，我自己写其他模块，其中发生了点小问题

代码风格不一致。
接口不一致。
代码思考不一致。

每个人都有自己的编程习惯，命名想法，思考方式
你在整合的时候，眼花的看别人代码。项目只有两个人，你还能解决。
三人以上，六人以下
项目日渐庞大，你得多找几个人了。
于是，你]]></description><category></category></item><item><title><![CDATA[归并排序Java详解+例题]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/119078973</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/119078973</guid><author>JssenJ</author><pubDate>Sun, 25 Jul 2021 12:14:04 +0800</pubDate><description><![CDATA[归并排序—&gt;分治
归并排序归并排序—&gt;分治背景归并原理与过程原理：过程图形展示模板代码模板讲解归并例子完整java代码
背景
归并排序是十大排序之一
十大排序：

归并原理与过程
原理：
取中值，将数组分成左右部分，分别对两边再次分成两个部分，一直到最终一边只有两个数，如何进行双指针从两端进行判定，若左端，比右端大，则交换两个位置的值。
过程
首先取数组中值，进行左右两边归并排序，调用递归。然后运用双指针算法（若不会，请看快速排序有讲解）判断两端的值，在适合条件下进行交换。最后完成所有区间的排序]]></description><category></category></item><item><title><![CDATA[KMP算法图文详解_JAVA]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/118877245</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/118877245</guid><author>JssenJ</author><pubDate>Sun, 18 Jul 2021 16:40:35 +0800</pubDate><description><![CDATA[KMP算法图文详解
这几天学习KMP算法，一时不得解，查阅了很多资料，看了些视频，总算是学了点东西。小小的理解了KMP思想方法。下面是我的详细理解过程。
KMP算法KMP算法图文详解什么是KMP算法基本概念说明朴素算法实现KMP在何处优化求next数组s与p匹配代码题目代码
什么是KMP算法
KMP算法是广泛说是一个子字符串匹配方法，
主要来说是 主字符串中查找模式字符串的位置
是对暴力求解的优化
时间复杂度是O(n)
基本概念说明
s[ ]是模式串，通俗来说是较长的字符串。
p[ ]是模板串，通俗来说是较]]></description><category></category></item><item><title><![CDATA[快速排序Java详解+例题]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/118656953</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/118656953</guid><author>JssenJ</author><pubDate>Sun, 11 Jul 2021 19:22:51 +0800</pubDate><description><![CDATA[快速排序—&gt;分治
快速排序快速排序---&gt;分治背景快排原理与过程图形展示双指针算法简介快排模板步骤：死循环解析例题quickSort方法说明：
背景
快速排序是十大排序之一
十大排序：

快排原理与过程
快速排序是通过选取一个随机值 x 进行运用双指针算法从两端遍历
每一次遍历有两个指针
i 与 j
i 从区间左端开始
j 从区间右端开始
每当arr[i]  &gt; x时，i 遍历停止
每当arr[i]  &lt; x时，j 遍历停止
两边停止时交换数据使得
x左边区间全部小于等于x
x右边区]]></description><category></category></item><item><title><![CDATA[蓝桥杯-算法训练-区间k大数查询-Java（优化后的算法）]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/113916377</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/113916377</guid><author>JssenJ</author><pubDate>Sun, 21 Feb 2021 15:40:03 +0800</pubDate><description><![CDATA[文章目录问题描述问题分析上代码代码讲解欢迎浏览
问题描述
试题 算法训练 区间k大数查询
资源限制
时间限制：1.0s   内存限制：256.0MB
问题描述
给定一个序列，每次询问序列中第l个数到第r个数中第K大的数是哪个。
输入格式
第一行包含一个数n，表示序列长度。
第二行包含n个正整数，表示给定的序列。
第三个包含一个正整数m，表示询问个数。
接下来m行，每行三个数l,r,K，表示询问序列从左往右第l个数到第r个数中，从大往小第K大的数是哪个。序列元素从1开始标号。
输出格式
总共输出m行，每行一个]]></description><category></category></item><item><title><![CDATA[Mybatis的多对一与一对多查询 Mapper.xml 讲解]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/113727656</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/113727656</guid><author>JssenJ</author><pubDate>Sat, 06 Feb 2021 17:39:20 +0800</pubDate><description><![CDATA[文章目录Mybatis、一、数据库搭建二、多对一查询**1.创建Student实体类****2.创建Teacher实体类****3.StudentMapper构建****4. StudentMapper.xml 讲解（只展示核心代码部分）****4.1  按照查询嵌套处理****4.2  按照结果嵌套处理**三、一对多1. 创建Student实体类2. 创建Teacher实体类对象3. TeacherMapper构建4. TeacherMapper.xml讲解（只展示核心代码部分）4.1 按照结果嵌套处理4]]></description><category></category></item><item><title><![CDATA[动态代理模式基础讲解（包括静态代理模式）]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/113423550</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/113423550</guid><author>JssenJ</author><pubDate>Sat, 30 Jan 2021 14:16:27 +0800</pubDate><description><![CDATA[代理模式
1、原理（百度）
代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下，一个对象不想或者不能直接引用另一个对象，而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式的思想是为了提供额外的处理或者不同的操作而在实际对象与调用者之间插入一个代理对象。这些额外的操作通常需要与实际对象进行通信。
2、静态代理模式
特征：代理类和目标对象的类都是在编译期间确认下来，不利于程序的扩展。同时，每一个代理类只能为一个接口服务，这样一来程序开发中必然产生过多的代理。
代码讲解：]]></description><category></category></item><item><title><![CDATA[关于IDEA配置文件读取时报空指针异常问题]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/112788903</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/112788903</guid><author>JssenJ</author><pubDate>Mon, 18 Jan 2021 17:38:24 +0800</pubDate><description><![CDATA[在IDEA中读取配置文件出现的问题
代码展示
 InputStream is = ConnectTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
        Properties pros = new Properties();
        pros.load(is);
        
        String user = pros.getProperty("user");
        String p]]></description><category></category></item><item><title><![CDATA[jsp向servlet发出请求，响应时，出现的乱码问题解决方法]]></title><link>https://blog.youkuaiyun.com/JssenJ/article/details/110264397</link><guid>https://blog.youkuaiyun.com/JssenJ/article/details/110264397</guid><author>JssenJ</author><pubDate>Sun, 29 Nov 2020 15:04:17 +0800</pubDate><description><![CDATA[我们在使用jsp 向servlet发出请求 ,接收数据时 ，出现乱码问题 下面是我的解决方法

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