<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小柯的的博客]]></title><description><![CDATA[欢迎来到我的博客！喜欢就点个赞吧！]]></description><link>https://blog.youkuaiyun.com/k1507157</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; k1507157]]></copyright><item><title><![CDATA[一套小连招搞定文章评论审核！Java实战篇（结合DeepSeek实现）]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/149199828</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/149199828</guid><author>k1507157</author><pubDate>Tue, 08 Jul 2025 15:46:12 +0800</pubDate><description><![CDATA[本文介绍了一套高效的多层次评论内容审核方案，针对公开网站防止恶意评论和违禁内容。作者比较了本地词库、开源组件和第三方API等主流方案后，提出融合四种技术的综合方案：本地Trie树敏感词库、开源组件、第三方API和AI审核，通过权重判定提高准确率至99.99%。重点讲解了基于Trie树的本地敏感词检测实现，包括树结构构建和Java代码示例，并指出该方案兼顾准确性与成本效益，尤其适合中小型网站。]]></description><category></category></item><item><title><![CDATA[1Panel 部署 OpenResty + Redis 实现 IP 动态封禁教程]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/148581421</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/148581421</guid><author>k1507157</author><pubDate>Wed, 11 Jun 2025 10:36:46 +0800</pubDate><description><![CDATA[OpenResty动态IP封禁方案 这是一个基于OpenResty和Redis的动态IP封禁方案，适合中小网站防御CC攻击和目录扫描。]]></description><category></category></item><item><title><![CDATA[微信小程序组件化开发]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/125081509</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/125081509</guid><author>k1507157</author><pubDate>Fri, 26 Aug 2022 16:29:58 +0800</pubDate><description><![CDATA[小程序组件化开发根据组件传值的不同决定显示效果，减少了代码的耦合、有效对代码进行了复用。]]></description><category></category></item><item><title><![CDATA[【Debug】IE浏览器get请求URL包含中文时出现400错误]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/126457995</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/126457995</guid><author>k1507157</author><pubDate>Mon, 22 Aug 2022 11:31:54 +0800</pubDate><description><![CDATA[IE浏览器get请求包含中文报错400以及jsp页面展示乱码解决。。。。]]></description><category></category></item><item><title><![CDATA[Java 8新特性探究（Lambda 表达式、Stream API）]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/123557105</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/123557105</guid><author>k1507157</author><pubDate>Thu, 17 Mar 2022 21:41:57 +0800</pubDate><description><![CDATA[前言
最近在查漏补缺Java的基础知识，过程中看到了有视频提及一个Java 8 新特性，所以特意查了一下到底是什么，结果找到了下面的内容，感兴趣的可以自行看一下，下面我对里面的Lambda 表达式、Stream API进行一些演示操作。

学习内容
Lambda 表达式
什么是Lambda表达式
Lambda 表达式，也可称为闭包，Lambda 允许把函数作为一个方法的参数（函数作为参数传递进方法中）。使用 Lambda 表达式可以使代码变的更加简洁紧凑。
Lambda与传统方式对比
传统的列表排序：
pu]]></description><category></category></item><item><title><![CDATA[Redis快速入门]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/123140469</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/123140469</guid><author>k1507157</author><pubDate>Thu, 17 Mar 2022 00:50:42 +0800</pubDate><description><![CDATA[前言
前面我们一直在学习Java相关的知识，但是最近我开始使用前面的知识写一个项目的时候发现一个问题，项目中使用了Java中间件——Redis。所以只能停下脚步返回来学习Redis。
学习内容
Redis介绍
前面我们也学过了一写关系型数据库，但是这些数据库都是关系型数据库，主要用于数据的持久化，数据存储在硬盘中。当数据量足够大的时候，数据存取就会受到限制。基于此情况下就诞生了Redis数据库。

Redis是Key-Value型NoSQL数据库
Redis将数据存储在内存中，同时也能持久化到磁盘
Redi]]></description><category></category></item><item><title><![CDATA[图解多线程中的生产者与消费者问题]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/123511710</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/123511710</guid><author>k1507157</author><pubDate>Tue, 15 Mar 2022 21:29:56 +0800</pubDate><description><![CDATA[问题背景
学过操作系统的我们一定都听老师讲过一个经典的问题——生产者消费者问题。这一节我们就借助Java中的多线程来理解一下这个问题。

问题描述
假定我们定义一个生产者和一个消费者，生产者生产一个物品放入仓库，消费者从仓库消费一个物品。
下面我们通过代码简单演示一下这个过程，我们新建示例代码如下：

高清图片，打开看代码，节省文章位置！

运行程序代码时，你会发现有可能出现下面的这些情况：
这些情况都是在我们模拟的场景中不应该出现的，下面我们分析产生这个问题的原因。

原因分析：
产生的原因其实还是由于上]]></description><category></category></item><item><title><![CDATA[银行存取款过程的线程同步问题]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/123505923</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/123505923</guid><author>k1507157</author><pubDate>Tue, 15 Mar 2022 18:40:57 +0800</pubDate><description><![CDATA[问题背景
我们都知道Java的多线程运行会存在一些问题，比如我下面列举的一些问题：

各个线程是通过竞争CPU时间获得运行机会的
各线程什么时候得到CPU时间、占用多久都是随机的
一个正在运行着的线程在什么地方被暂停是不确定的

下面我们以银行存取款的一个案例显示这些问题造成的后果！

问题描述
假定公司财务有一张公共的银行卡，这张卡经常性出现同时有人存款、有人取款的现象。这里我们模拟同时存入100元和取出200元的存取款过程。
下面我们通过代码简单演示一下这个过程，我们新建示例代码如下：


下面我们运行]]></description><category></category></item><item><title><![CDATA[Spring Boot基础知识]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/123046107</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/123046107</guid><author>k1507157</author><pubDate>Mon, 21 Feb 2022 17:21:17 +0800</pubDate><description><![CDATA[目录前言学习内容Spring Boot简介Spring、Spring MVC和Spring BootSpring Boot核心特点新建Spring Boot项目Spring官网新建IDEA集成的Spring Initializr新建完成第一个接口开发配置URL方式@RequestParam@PathVariable@RequestMapping配置文件的两种写法properties配置文件yml配置文件进行自定义配置@Value配置类Spring Boot查询数据库总结
前言
前面我们基于SSM开发了一个简]]></description><category></category></item><item><title><![CDATA[基于SSM开发一个简单的登录逻辑]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122940988</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122940988</guid><author>k1507157</author><pubDate>Tue, 15 Feb 2022 20:43:56 +0800</pubDate><description><![CDATA[目录前言学习内容新建项目工程编写项目代码总结
前言
前面我们已经学习了SSM整个MyBatis-plus的整合，本节我们就使用整合的项目开发一个简单的登录逻辑。
学习内容
新建项目工程


在IDEA中新建一个普通的maven项目；



完善我们的工程结构如下，各分包功能如图；



引入项目依赖，配置MyBatis-Plus;
参考前面的文章：一起学Java——SSM整合及MyBatis-Plus的使用


新建用户数据表；



编写项目代码

新建实体类-User；

package com.fiv]]></description><category></category></item><item><title><![CDATA[SSM整合及MyBatis-Plus的使用]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122878487</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122878487</guid><author>k1507157</author><pubDate>Fri, 11 Feb 2022 18:01:24 +0800</pubDate><description><![CDATA[目录前言学习内容什么是SSM？SSM整合三阶段Spring与Spring MVC环境配置Spring与MyBatis的整合配置整合其他组件
前言
前面的文章我们已经学习了Spring、Spring MVC和Mybatis，本节我们就来使用他们整合我们的SSM框架的整合运用。
学习内容
什么是SSM？
SSM（Spring+SpringMVC+MyBatis） 框架集由Spring、MyBatis两个开源框架整合而成（SpringMVC是Spring中的部分内容），常作为数据源较简单的web项目的框架。百度百]]></description><category></category></item><item><title><![CDATA[Spring MVC基础知识回顾（2）]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122859897</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122859897</guid><author>k1507157</author><pubDate>Fri, 11 Feb 2022 13:01:18 +0800</pubDate><description><![CDATA[目录前言学习内容了解RESTfulRESTful开发风格RESTful开发规范RESTful命名要求第一个RESTful应用@RestController注解与路径变量简单请求与非简单请求JSON序列化浏览器同源策略
前言
上一篇我们一起入门了Spring MVC的使用，接下来我们将进一步学习Spring MVC的使用，冲冲冲~
学习内容
了解RESTful
RESTful开发风格

传统web开发

TESTful风格（前后端分离）


RESTful开发规范

使用URL作为用户交互入口
明确的语义规范]]></description><category></category></item><item><title><![CDATA[Spring MVC基础知识回顾（1）]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122833000</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122833000</guid><author>k1507157</author><pubDate>Thu, 10 Feb 2022 14:10:53 +0800</pubDate><description><![CDATA[目录前言学习内容什么是MVC？什么是Spring MVC？Spring MVC环境配置
前言
上一节我们学习了Spring JDBC相关知识，接下来我们继续学习SSM框架的Spring MVC相关知识。
学习内容
什么是MVC？

什么是Spring MVC？

Spring MVC是Spring体系的轻量级Web MVC框架
Spring MVC的核心是Controller控制器，用于处理请求，产生响应
Spring MVC基于Spring IOC容器运行，所有对象被IOC管理

查看官方文档地址
Spr]]></description><category></category></item><item><title><![CDATA[Spring基础知识回顾（3）]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122823048</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122823048</guid><author>k1507157</author><pubDate>Tue, 08 Feb 2022 16:29:47 +0800</pubDate><description><![CDATA[目录前言学习内容什么是Spring JDBC？Spring JDBC使用步骤JdbcTemplate数据查询查询单条数据查询多条数据JdbcTemplate数据写入编程式事务管理声明式事务管理事务传播行为注解形式声明事务总结
前言
上一节我们学习了Spring AOP相关知识，接下来我们继续学习Spring JDBC技术。
学习内容
什么是Spring JDBC？

Spring JDBC是Spring框架用于处理关系型数据库的模块；
Spring JDBC对JDBC API进行封装，极大简化开发工作量；
]]></description><category></category></item><item><title><![CDATA[Spring基础知识回顾（2）]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122784352</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122784352</guid><author>k1507157</author><pubDate>Tue, 08 Feb 2022 14:10:37 +0800</pubDate><description><![CDATA[目录前言学习内容什么是AOP？AOP关键概念
前言
上一节我们学习了Spring IOC容器与Bean管理，通过学习我们可以使用Spring进行简单的开发，接下来我们继续学习Spring AOP面向切面编程。
学习内容
什么是AOP？
在软件业，AOP为Aspect Oriented Programming的缩写，意为：面向切面编程，通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续，是软件开发中的一个热点，也是Spring框架中的一个重要内容，是函数式编程的一种衍生范型]]></description><category></category></item><item><title><![CDATA[Spring基础知识回顾（1）]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122716553</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122716553</guid><author>k1507157</author><pubDate>Fri, 04 Feb 2022 16:44:34 +0800</pubDate><description><![CDATA[目录前言学习内容什么是Spring？Spring体系结构传统编码方式的不足尝试使用Spring IOC初始化IOC容器Bean的管理从IOC容器获取bean
前言
从这篇文章开始我们就继续开始学习我们的Java，今天开始我们学习Spring相关知识，内容较多，我们分篇幅讲解记录~
学习内容
什么是Spring？
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而，Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松]]></description><category></category></item><item><title><![CDATA[一篇文章轻松玩转Linux]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122647340</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122647340</guid><author>k1507157</author><pubDate>Wed, 26 Jan 2022 00:06:20 +0800</pubDate><description><![CDATA[目录前言学习内容什么是Linux？Linux有哪些特点？Linux发行版选择安装CentOSLinux系统目录结构远程管理Linux
前言
&nbsp;&nbsp;&nbsp;&nbsp;最近几天没有更新博客是因为前面学习了MyBatis后跟着写了一个小案例。过程比较坎坷，但最终还是顺利完成了，今天继续向后学习，这节课我们就来看看一个比较新颖的东西——Linux。
学习内容
什么是Linux？
Linux，全称GNU/Linux，是一种免费使用和自由传播的类UNIX操作系统。 Linux继承了Unix以网络]]></description><category></category></item><item><title><![CDATA[Mybatis基础快速入门]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122411453</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122411453</guid><author>k1507157</author><pubDate>Fri, 14 Jan 2022 10:26:59 +0800</pubDate><description><![CDATA[目录前言学习内容MyBatis入门
前言
&nbsp;&nbsp;&nbsp;&nbsp;真的是一刻都不敢停下学习的脚步，只想快点基础过完开始使用，前期学习把这些都记录下来，方便后期的使用，本节我们就来学习MyBatis使用。
&nbsp;&nbsp;&nbsp;&nbsp;MyBatis 是一款优秀的持久层框架，它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息，将接口]]></description><category></category></item><item><title><![CDATA[【Debug】使用MyBatis获取数据库内容时部分字段内容为null]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122457819</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122457819</guid><author>k1507157</author><pubDate>Wed, 12 Jan 2022 17:16:44 +0800</pubDate><description><![CDATA[项目场景：
&nbsp;&nbsp;&nbsp;&nbsp;最近学习使用MyBatis操作数据库，但是在实际使用的过程中发现一个问题，我们使用MyBatis获取数据库数据时部分字段内容为null。

问题描述：

从图中可以明显看出我们获取的内容全部为null，检查数据表对应的实体类没有发现问题。

原因分析：

问题原因在于我们的数据库字段使用了下划线分隔，但是我们对应的实体类不能使用下划线，必须使用驼峰命名法，这就导致实体类与表字段的不对应。

解决方案：
MyBatis的配置文件（mybatis-co]]></description><category></category></item><item><title><![CDATA[Java单元测试与JUnit4使用]]></title><link>https://blog.youkuaiyun.com/k1507157/article/details/122411769</link><guid>https://blog.youkuaiyun.com/k1507157/article/details/122411769</guid><author>k1507157</author><pubDate>Mon, 10 Jan 2022 16:17:30 +0800</pubDate><description><![CDATA[目录前言学习内容JUnit4的使用方法非Maven项目使用JUnit4Maven项目使用JUnit4总结
前言
&nbsp;&nbsp;&nbsp;&nbsp;很多小伙伴都一直有一个问题，我们在使用Java编码的过程中需要对已经编写的类和方法进行测试，比较常见的就是在main方法中去调用。但是当我们的项目比较大的时候，这种方法就显得不那么可行了，本节我们就来学习如何在Java中使用单元测试对我们的代码进行单元测试。
学习内容
JUnit4的使用方法

引入JUnit jar包或者添加Maven依赖
编写测试]]></description><category></category></item></channel></rss>