<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WHabc2002的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WHabc2002</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WHabc2002]]></copyright><item><title><![CDATA[【项目】幸运抽奖 测试报告]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/146379023</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/146379023</guid><author>WHabc2002</author><pubDate>Fri, 21 Mar 2025 16:18:10 +0800</pubDate><description><![CDATA[大学期间，专业班级经常举办一些xxx活动，并伴随着一些抽奖行为，同时在此期间我希望通过实际项目来加深对Java编程语言和相关技术的理解。抽奖系统刚好可以作为一个实际应用，可以让我将理论知识与实践相结合。1.2项目目标于是我希望提供一个功能全面、操作简便、安全可靠的抽奖系统。a.该项目最主要的业务就是抽奖。b.抽奖活动配置：为了支持抽奖业务，管理端支持管理用户、管理奖品、管理抽奖活动，以支持管理员配置抽奖活动信息，配置完成后管理员即可开始抽奖。]]></description><category></category></item><item><title><![CDATA[【项目】畅音天地 测试报告]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/146325913</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/146325913</guid><author>WHabc2002</author><pubDate>Thu, 20 Mar 2025 11:05:22 +0800</pubDate><description><![CDATA[作为一个音乐爱好者，想要拥有属于自己的一个音乐播放器，可以实现自己上传音乐，播放音乐，让更多同学可以体验到自己设计到产品，结合自己所学知识完整的设计出一个产品。这也是一个理论与实际相结合的好的机会。1.2项目目标按照自己的想法，做出一个可以自己上传音乐，播放音乐的产品。•登录功能方面考虑到安全，加入了加密算法Bcrypt。•对于播放音乐，涉及到了播放的第三方插件的引入与使用。•每个功能都涉及到了前端和后端的共同设计，如：响应报文的统一设计。•项目也考虑到了使用拦截器来拦截指定的路径内容。]]></description><category></category></item><item><title><![CDATA[HashSet 扩容的底层机制说明]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144441653</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144441653</guid><author>WHabc2002</author><pubDate>Tue, 04 Mar 2025 17:07:47 +0800</pubDate><description><![CDATA[HashSet的底层就是HashMap（底层是数组+链表/红黑树)，当添加元素时先得到其hash值再转换成索引，找到存取数据的table，看这个位置是否已经存放了元素，如果没有，则直接存放，如果有，调用equals后看是否相同，如果不相同，则放在则添加到最后，相同则放弃添加。1.HashSet的底层就是HashMap，第一次添加元素时，table数组会扩容到16，加载因子是0.75，临界值是16*0.75==12（当HashSet里的元素超过12时就会进行第二次扩容）。]]></description><category></category></item><item><title><![CDATA[Web⾃动化测试及常用函数]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/146013439</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/146013439</guid><author>WHabc2002</author><pubDate>Tue, 04 Mar 2025 17:07:24 +0800</pubDate><description><![CDATA[WebDriverManager是⼀个开源Java库，以完全⾃动化的⽅式对Selenium WebDriver所需的驱动程 序（如chromedriver、geckodriver、msedgedriver等）进⾏管理（即下载、设置和维护)。但是可以使⽤sendkeys来上传指定路径的⽂件，达到的效果是⼀样的。通常代码执⾏的速度⽐⻚⾯渲染的速度要快，如果避免因为渲染过慢出现的⾃动化误报的问题呢？我们的⾃动化脚本⼀般部署在机器上⾃动的去运⾏，如果出现了报错，我们是不知道的，可以通过抓 拍来记录当时的错误场景.]]></description><category></category></item><item><title><![CDATA[Git基础笔记]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144326348</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144326348</guid><author>WHabc2002</author><pubDate>Mon, 09 Dec 2024 21:05:10 +0800</pubDate><description><![CDATA[Git是一个免费的、开源的。]]></description><category></category></item><item><title><![CDATA[ArrayList 扩容机制及底层代码]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144355974</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144355974</guid><author>WHabc2002</author><pubDate>Mon, 09 Dec 2024 21:05:01 +0800</pubDate><description><![CDATA[意思非常简单就是 initialCapacity>0,就按initialCapacity的大小创建集合，initialCapacity==0,就按10的大小创建集合，initialCapacity<0就报错。意思是 elementData数组此时的容量小于添加元素后起码要有的最小容量，此时就要执行grow(minCapacity) 方法进行扩容。意思是如果 elementData是空的数组，就让DEFAULT_CAPACITY和minCapacity比大小。以上为我个人的小分享，如有问题，欢迎讨论！]]></description><category></category></item><item><title><![CDATA[在Ubuntu相关Linux发⾏版操作系统上进行Java项目的简单部署 ]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144311845</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144311845</guid><author>WHabc2002</author><pubDate>Sat, 07 Dec 2024 16:50:32 +0800</pubDate><description><![CDATA[Xshell 可以直接拖动⽂件到窗⼝, 达到上传⽂件的⽬的, 如果使⽤其他客户端,不⽀持⽂件的上传, 需要 借助lrzsz命令。此处安装的是OpenJDK, OpenJDK是⼀个开源版本的 JDK, 和 Oracle 官⽅的 JDK 略有差别。实际⼯作中, 开发环境, 测试环境以及⽣产环境的配置都是不⼀样的。如果我们需要重启服务, 或者重新部署等, 都需要先停⽌之前的服务.按照之前的数据库建表脚本, 在服务器上运⾏, 建⽴相同的表结构。端⼝号写需要开放的端⼝号, 多个端⼝号以逗号分割。]]></description><category></category></item><item><title><![CDATA[Linux 常⽤命令]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144298093</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144298093</guid><author>WHabc2002</author><pubDate>Sat, 07 Dec 2024 16:50:27 +0800</pubDate><description><![CDATA[说明: cp指令⽤于复制⽂件或⽬录，如同时指定两个以上的⽂件或⽬录，且最后的⽬的地是⼀个已经存 在的⽬录，则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录中。当第⼆个参数类型是⽂件时，mv命令完成⽂件重命名，此时，源⽂件只能有⼀个（也可以是源⽬ 录名），它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。当第⼆个参数是已存在的⽬录名称时，源⽂件或⽬录参数可以有多个，mv命令将各参数指定的源 ⽂件均移⾄⽬标⽬录中。-f 或 --force 强⾏复制⽂件或⽬录， 不论⽬的⽂件或⽬录是否已经存在。]]></description><category></category></item><item><title><![CDATA[MD5算法加密笔记]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144062719</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144062719</guid><author>WHabc2002</author><pubDate>Wed, 27 Nov 2024 13:39:06 +0800</pubDate><description><![CDATA[也就是⽆法解密. 通常⽤来检验数据的完整性的重要技术, 即对数据进⾏哈希计算然后⽐ 较摘要值, 判断是否⼀致. 常⻅的摘要算法有: MD5, SHA系列(SHA1, SHA2等), CRC(CRC8, CRC16, CRC32)如果⽤户输⼊的密码和盐值⼀起拼接后的字符串经过MD5加密后, 得到的密⽂与数据库存储的密文相同, 我们就认为密码正确。我们采⽤为⼀个密码拼接⼀个随机字符串（盐）来进⾏MD5加密，然后我们把盐和MD5加密的密文拼接后存储到数据库。以上为我个人的小分享，如有问题，欢迎讨论！]]></description><category></category></item><item><title><![CDATA[JWT令牌]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144057334</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144057334</guid><author>WHabc2002</author><pubDate>Wed, 27 Nov 2024 13:38:47 +0800</pubDate><description><![CDATA[1.令牌技术令牌其实就是⼀个⽤户⾝份的标识, 名称起的很⾼⼤上, 其实本质就是⼀个字符串2.令牌的优缺点优点:1.解决了集群环境下的认证问题2.减轻服务器的存储压⼒(⽆需在服务器端存储)缺点:需要⾃⼰实现(包括令牌的⽣成, 令牌的传递, 令牌的校验)当前企业开发中, 解决会话跟踪使⽤最多的⽅案就是令牌技术3.JWT令牌JWT令牌就是众多令牌的一种。]]></description><category></category></item><item><title><![CDATA[Spring事务笔记]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/144030264</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/144030264</guid><author>WHabc2002</author><pubDate>Tue, 26 Nov 2024 15:40:05 +0800</pubDate><description><![CDATA[什么是事务?事务会把所有的操作作为⼀个整体, ⼀起向数据库提交或者是撤销操作请求. 所以这组操作要么同时成 功, 要么同时失败。]]></description><category></category></item><item><title><![CDATA[留言板（复制粘贴直接就能用！！！）]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/142831046</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/142831046</guid><author>WHabc2002</author><pubDate>Tue, 26 Nov 2024 15:39:44 +0800</pubDate><description><![CDATA[注意：url，库名，username，password，driver-class-name以自身为准。创建springboot⼯程，并导⼊ mybatis的起步依赖、mysql的驱动包。以上为我个人的小分享，如有问题，欢迎讨论！都看到这了，不如关注一下，给个免费的赞。MessageController类。MessageService类。MessageMapper接口。MessageInfo类。]]></description><category></category></item><item><title><![CDATA[统⼀异常处理]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/143914681</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/143914681</guid><author>WHabc2002</author><pubDate>Sat, 23 Nov 2024 10:40:04 +0800</pubDate><description><![CDATA[在具体的SSM项目开发中，由于Controller层为处于请求处理的最顶层,因此肯定需要在Controller里捕获所有异常，并且做适当处理，返回给前端一个友好的错误码。捕获所有异常，并且做适当处理的过程类似。故会有大量重复的、冗余的异常处理代码。将这些重复的部分抽取出来，使得异常的处理有一个统一的控制中心点。统⼀异常处理其实就是捕获异常后，处理信息后返回一个结果。假如我们要实现统⼀异常处理。使用TextController进行测试我们统一返回Result 对象。]]></description><category></category></item><item><title><![CDATA[Spring AOP]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/143946023</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/143946023</guid><author>WHabc2002</author><pubDate>Sat, 23 Nov 2024 10:39:45 +0800</pubDate><description><![CDATA[就需 要把private改为public. 引⽤⽅式为:]]></description><category></category></item><item><title><![CDATA[拦截器的使用]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/142952277</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/142952277</guid><author>WHabc2002</author><pubDate>Tue, 19 Nov 2024 15:36:14 +0800</pubDate><description><![CDATA[1.拦截器执⾏流程拦截器是Spring框架提供的核⼼功能之⼀, 主要⽤来拦截⽤户的请求,开发⼈员提前预定义⼀些逻辑, 在⽤户的请求响应前后执⾏. 也可以在⽤户请求前阻⽌ 其执⾏拦截器执⾏流程. 执⾏⽅法，这个⽅法需要返回⼀个布尔类型的值., 继续访问controller中的⽅法.(controller中的⽅法也不会执⾏)controller当中的⽅法执⾏完毕后，再回过来执⾏这个⽅法以及⽅法，执⾏完毕之后，最终给浏览器响应数据.2.拦截器的使用1.定义拦截器2.注册配置拦截器。]]></description><category></category></item><item><title><![CDATA[统⼀数据返回格式快速⼊⻔]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/143139519</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/143139519</guid><author>WHabc2002</author><pubDate>Tue, 19 Nov 2024 15:35:45 +0800</pubDate><description><![CDATA[1.supports⽅法: 判断是否要执⾏beforeBodyWrite⽅法. true为执⾏, false不执⾏. 通过该⽅法可以。如果⼀些⽅法返回的结果已经是Result类型了, 那就直接返回Result类型的结果即可。多测试⼏种不同的返回结果, 发现只有返回结果为String类型时才有这种错误发⽣。2.降低前端程序员和后端程序员的沟通成本，因为所有接⼝都是固定的返回格式。选择哪些类或哪些⽅法的response要进⾏处理, 其他的不进⾏处理.1.⽅便前端程序员更好的接收和解析后端数据接⼝返回的数据。]]></description><category></category></item><item><title><![CDATA[动态SQL]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/142785655</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/142785655</guid><author>WHabc2002</author><pubDate>Thu, 10 Oct 2024 16:45:13 +0800</pubDate><description><![CDATA[动态 SQL 是Mybatis的强⼤特性之⼀，能够完成不同条件下不同的 sql 拼接接下来我们会使用的数据表如下：对应的实体类为：UserInfo所有的准备工作都在如下文章。MyBatis 操作数据库入门-优快云博客什么是MyBatis?]]></description><category></category></item><item><title><![CDATA[插件生成XML]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/142825273</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/142825273</guid><author>WHabc2002</author><pubDate>Thu, 10 Oct 2024 16:44:16 +0800</pubDate><description><![CDATA[以上为我个人的小分享，如有问题，欢迎讨论！都看到这了，不如关注一下，给个免费的赞。认准generator文件配置的位置。XML的一系列代码都会自动生成。generator文件的内容。配置路径的位置已用红框标出，生成mapxml文件看准。]]></description><category></category></item><item><title><![CDATA[使用XML实现MyBatis的基础操作]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/142764198</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/142764198</guid><author>WHabc2002</author><pubDate>Tue, 08 Oct 2024 23:49:16 +0800</pubDate><description><![CDATA[接下来我们会使用的数据表如下：对应的实体类为：UserInfoMapper所有的准备工作都在如下文章。MyBatis 操作数据库入门-优快云博客什么是MyBatis?]]></description><category></category></item><item><title><![CDATA[使用标签实现MyBatis的基础操作]]></title><link>https://blog.youkuaiyun.com/WHabc2002/article/details/142745011</link><guid>https://blog.youkuaiyun.com/WHabc2002/article/details/142745011</guid><author>WHabc2002</author><pubDate>Tue, 08 Oct 2024 16:06:30 +0800</pubDate><description><![CDATA[接下来我们会使用的数据表如下：对应的实体类为：UserInfoMapper所有的准备工作都在如下文章。MyBatis 操作数据库入门-优快云博客什么是MyBatis?]]></description><category></category></item></channel></rss>