<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_65384516的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_65384516</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_65384516]]></copyright><item><title><![CDATA[Java语言实现Modbus协议通过用串口读取数据（以RTU为例）]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/162702466</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/162702466</guid><author>m0_65384516</author><pubDate>Wed, 08 Jul 2026 17:26:54 +0800</pubDate><description><![CDATA[本文介绍了使用Java实现Modbus通信的过程。通过Maven引入modbus4j（3.0.3）和jSerialComm（2.10.4）依赖，配置了专用仓库地址。核心部分包含两个工具类：Modbus4jUtils封装了创建ModbusMaster和读取线圈状态、输入状态、保持寄存器等数据的方法；SerialPortWrapperJSerialImpl实现了串口初始化功能。测试案例通过虚拟主站成功读取了从站1的保持寄存器、线圈状态等数据，实现了完整的Modbus RTU通信功能。]]></description><category></category></item><item><title><![CDATA[在JAVA中Mybatis的使用]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/151050831</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/151050831</guid><author>m0_65384516</author><pubDate>Mon, 01 Sep 2025 21:44:37 +0800</pubDate><description><![CDATA[本文介绍了MyBatis框架的基本配置与使用。主要内容包括：1）配置MyBatis依赖项和数据库连接；2）创建DAO层工具类实现SQLSession管理；3）定义Mapper接口及XML映射文件；4）SQL语句的编写与参数传递方式；5）动态SQL标签的使用（if、where、set、trim、foreach等）。文章详细说明了如何通过MyBatis实现CRUD操作，处理多表关联查询，以及使用动态SQL简化开发工作。重点介绍了MyBatis的核心配置、结果集映射、事务管理以及多种参数传递方法，为开发者提供了完]]></description><category></category></item><item><title><![CDATA[mysql笔记]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/150589375</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/150589375</guid><author>m0_65384516</author><pubDate>Thu, 21 Aug 2025 18:59:25 +0800</pubDate><description><![CDATA[本文介绍了MySQL数据库的基础知识与应用开发要点。主要内容包括：数据库的作用与重要性（数据保存、完整性、共享性等）；MySQL的安装配置步骤；常见数据类型（数值、字符串、日期时间等）；以及数据库约束类型（主键、外键、唯一、非空等）。文章重点讲解了如何初始化MySQL服务、修改密码、处理常见错误，并详细说明了各种字段类型的特点和适用场景。最后，对外键约束的概念和使用方法进行了专门说明，为数据库设计和开发提供了基础指导。]]></description><category></category></item><item><title><![CDATA[Java中JDBC的使用]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/150589065</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/150589065</guid><author>m0_65384516</author><pubDate>Thu, 21 Aug 2025 18:51:05 +0800</pubDate><description><![CDATA[本文介绍了JDBC（Java Database Connectivity）的基础知识与应用。主要包括：1）JDBC的基本概念和核心接口（DriverManager、Connection、Statement、ResultSet）；2）连接MySQL数据库的具体步骤和代码示例；3）三层架构实现学生管理系统的项目案例；4）SQL注入问题的原理与解决方案（PreparedStatement）；5）连接池技术（C3P0和Druid）的使用方法。文章通过完整的代码示例，展示了从基础连接到实际项目开发的全过程，重点讲解了]]></description><category></category></item><item><title><![CDATA[使用单调栈解决力扣第42题--接雨水]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/150149184</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/150149184</guid><author>m0_65384516</author><pubDate>Sun, 10 Aug 2025 17:59:18 +0800</pubDate><description><![CDATA[本文介绍了单调栈的概念及其在算法问题中的应用。单调栈是指栈内元素保持单调递增或递减的数据结构，可分为严格单调和非严格单调两种形式。文章通过两个具体问题展示了单调栈的实用价值：1）寻找数组中每个元素左侧第一个比它大的元素，将暴力解法的O(n²)时间复杂度优化为O(n)；2）解决LeetCode第42题&quot;接雨水&quot;问题，通过维护左右两侧的最大值单调栈，计算每个柱子能接的雨水量。作者提供了完整的Java代码实现，并分析了算法优化的思路，展示了单调栈在提升算法效率方面的优势。]]></description><category></category></item><item><title><![CDATA[JAVA中关于Stream流的使用]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/150148222</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/150148222</guid><author>m0_65384516</author><pubDate>Sun, 10 Aug 2025 15:45:33 +0800</pubDate><description><![CDATA[文章摘要： 本文介绍了Java中Stream流的使用及其优势。首先通过传统集合操作与Stream流对比，展示了Stream流更优雅的函数式编程风格。详细讲解了Stream的获取方式、常用方法分类（终结与非终结方法），以及forEach、filter、limit等核心操作的使用。同时阐述了Stream的注意事项，包括只能操作一次、返回新流、惰性求值等特性。最后还介绍了并行流的使用方法，通过多线程提升处理效率。Stream流通过链式调用和函数式编程，使数据处理逻辑更加清晰简洁。]]></description><category></category></item><item><title><![CDATA[Java Lambda表达式：简洁高效的函数式编程]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/150020022</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/150020022</guid><author>m0_65384516</author><pubDate>Thu, 07 Aug 2025 18:58:42 +0800</pubDate><description><![CDATA[Java Lambda表达式与函数式接口摘要 Lambda表达式是Java 8引入的匿名函数，用于简化函数式编程。其语法为(parameters)-&gt;expression，可替代传统匿名内部类写法，使代码更简洁。函数式接口（@FunctionalInterface）是仅含一个抽象方法的接口，支持Lambda实现。Java.util.function包提供常用函数式接口：Supplier（无参有返）、Consumer（有参无返）、Function（类型转换）、Predicate（条件判断）和Compar]]></description><category></category></item><item><title><![CDATA[Java中的反射机制]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149978416</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149978416</guid><author>m0_65384516</author><pubDate>Thu, 07 Aug 2025 18:41:28 +0800</pubDate><description><![CDATA[摘要： Java反射机制允许程序在运行时动态获取类信息并操作类对象，包括实例化、访问属性和调用方法。通过Class类可获取构造方法（Constructor）、成员变量（Field）和方法（Method），支持动态创建对象（如clazz.newInstance()）和绕过封装访问私有成员（setAccessible(true)）。反射适用于不确定类名的场景（如Spring IOC容器、JDBC驱动加载），提升灵活性，但会破坏封装性并带来性能损耗。典型应用包括工厂模式优化和框架设计，需权衡灵活性与安全性。]]></description><category></category></item><item><title><![CDATA[JAVA中关于多线程的学习和使用]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149912596</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149912596</guid><author>m0_65384516</author><pubDate>Wed, 06 Aug 2025 18:58:20 +0800</pubDate><description><![CDATA[文章摘要：本文系统介绍了Java多线程编程的核心概念与技术。主要内容包括：1.线程基础概念，解释进程与线程的关系；2.四种线程创建方式（继承Thread类、实现Runnable/Callable接口、线程池）；3.线程常用方法（命名、休眠、优先级、守护线程等）；4.线程同步机制（synchronized关键字和Lock锁）；5.线程生命周期状态；6.线程池原理及四种类型（FixedThreadPool、CachedThreadPool等）的实现与使用。]]></description><category></category></item><item><title><![CDATA[字符串匹配--KMP算法]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149912987</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149912987</guid><author>m0_65384516</author><pubDate>Tue, 05 Aug 2025 19:07:52 +0800</pubDate><description><![CDATA[KMP算法是一种高效的字符串匹配算法，通过利用已匹配部分的信息避免不必要的回溯。其核心是构建next数组，记录模式串的最长公共前后缀，从而在匹配失败时快速调整模式串位置。相比暴力匹配O(n*m)的时间复杂度，KMP算法优化至O(n+m)。实现包括两部分：1）计算next数组；2）利用next数组进行匹配。虽然原理复杂，但掌握后能显著提升字符串处理效率。学习时建议理解算法逻辑而非死记模板，通过手动演算加深理解。该算法在编程竞赛中应用广泛，值得深入学习。]]></description><category></category></item><item><title><![CDATA[加密与安全]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149828090</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149828090</guid><author>m0_65384516</author><pubDate>Fri, 01 Aug 2025 17:48:25 +0800</pubDate><description><![CDATA[本文介绍了编码算法和哈希算法的基本原理及其应用。在编码算法部分，详细讲解了ASCII、Unicode、URL编码和Base64编码的实现方式与使用场景。哈希算法部分阐述了其核心特性（相同输入固定输出、不同输入大概率不同输出）、哈希碰撞原理，以及MD5、SHA等常见算法的应用，包括文件校验和密码存储的安全实践。此外，文章还介绍了Hmac算法作为更安全的密钥哈希方案，以及BouncyCastle提供的扩展算法支持。最后简要说明了对称加密算法（如AES）的工作模式（ECB/CBC）和实现方法，强调密钥长度对安全性]]></description><category></category></item><item><title><![CDATA[Java网络编程 TCP与UDP协议]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149808744</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149808744</guid><author>m0_65384516</author><pubDate>Thu, 31 Jul 2025 20:50:37 +0800</pubDate><description><![CDATA[本文介绍了计算机网络和网络编程的基础知识。主要内容包括：1. 计算机网络概念，互联网作为网络的网络，TCP/IP协议的重要性；2. IP地址的类型（IPv4/IPv6、公网/内网）及子网划分原理；3. 网络分层模型（OSI和TCP/IP模型）；4. TCP和UDP协议的特点及区别；5. Java网络编程实现，包括TCP编程（ServerSocket/Socket）和UDP编程（DatagramSocket/DatagramPacket）的基本用法，涵盖服务器端和客户端的创建、数据传输等核心操作。文章提供了J]]></description><category></category></item><item><title><![CDATA[Excel文件解析]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149787303</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149787303</guid><author>m0_65384516</author><pubDate>Wed, 30 Jul 2025 21:24:22 +0800</pubDate><description><![CDATA[/创建工作簿//创建工作表//创建行//根据行创建单元格//填充值}finally {;try (//创建工作簿){//创建单元格表头样式//设置单元格的水平对齐类型为居中对齐//设置单元格的垂直对齐方式为居中对齐//设置字体样式//是否加粗//颜色设置为红色//创建工作表XSSFSheet sheet=workbook.createSheet("礼品金额表");//创建行//根据行创建单元格。]]></description><category></category></item><item><title><![CDATA[JSON在java中的使用]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149754817</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149754817</guid><author>m0_65384516</author><pubDate>Tue, 29 Jul 2025 19:58:45 +0800</pubDate><description><![CDATA[本文介绍了JSON与Java对象之间的转换方法，包括JSONObject和JSONArray的使用。主要内容有：1) 将JavaBean转为JSON字符串（toJSONString）；2) JSON字符串与JavaBean互相转换（parseObject）；3) 处理JSON数组（parseArray）并转为List集合；4) 处理嵌套JSON对象并转为Map集合。通过示例代码演示了如何获取JSON中的特定字段值，以及使用TypeReference处理复杂类型的转换。这些方法实现了Java对象与JSON格式]]></description><category></category></item><item><title><![CDATA[文件操作与IO流]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149724141</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149724141</guid><author>m0_65384516</author><pubDate>Tue, 29 Jul 2025 19:48:10 +0800</pubDate><description><![CDATA[【摘要】本文介绍了Java中文件操作的核心类File及其常用方法。主要内容包括：1）File类的基本概念和创建方式；2）文件信息获取（名称、大小、修改时间等）；3）目录操作（list/listFiles）；4）文件判断（exists/isFile/isDirectory）；5）文件创建与删除；6）Files工具类的字符/字节操作；7）IO流体系（InputStream/OutputStream/Reader/Writer）及其缓冲流的使用；8）Properties类的属性操作。文章通过实例代码演示了文件读写]]></description><category></category></item><item><title><![CDATA[Map集合]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149692235</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149692235</guid><author>m0_65384516</author><pubDate>Sun, 27 Jul 2025 18:04:45 +0800</pubDate><description><![CDATA[本文介绍了Java中Map集合的常用操作，重点讲解了HashMap、LinkedHashMap和TreeMap的特点及使用方法。HashMap是无序的键值对集合，通过示例展示了put、get、remove等基本操作以及遍历方式；LinkedHashMap保持插入顺序；TreeMap支持排序，使用自定义比较器实现对象排序。此外还介绍了Collections工具类的常用方法，如排序、查找、交换、乱序等集合操作。文章内容涵盖Map集合的核心操作和实用技巧，适合Java开发者参考使用。]]></description><category></category></item><item><title><![CDATA[Set集合]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149691954</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149691954</guid><author>m0_65384516</author><pubDate>Sun, 27 Jul 2025 16:40:55 +0800</pubDate><description><![CDATA[摘要：本文介绍了Java中三种Set集合的特点与用法。HashSet无序且元素不可重复，通过hashCode和equals方法判断重复性；LinkedHashSet继承HashSet但保持插入顺序；TreeSet可排序，需通过Comparable或Comparator提供排序规则。文章演示了集合的基本操作（添加、删除、遍历）和对象排序的实现方式，特别展示了使用Comparator对自定义类Book对象按价格排序的示例。三种Set都保证元素唯一性，区别主要在于排序和存储顺序特性。]]></description><category></category></item><item><title><![CDATA[List集合]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149578992</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149578992</guid><author>m0_65384516</author><pubDate>Wed, 23 Jul 2025 20:32:54 +0800</pubDate><description><![CDATA[本文介绍了Java中两种重要的List实现类ArrayList和LinkedList。ArrayList基于动态数组实现，具有快速随机访问(O(1))和高内存连续性等优点，但在插入删除时需要移动元素；LinkedList基于双向链表实现，插入删除效率高(O(1))但随机访问慢(O(n))。文章详细分析了二者的常用方法、扩容机制、优缺点比较，并通过教室座位比喻形象说明了数组和链表的区别。最后作者提出将二者优势结合的构想，并预告后续将发布相关数据结构实现的文章。]]></description><category></category></item><item><title><![CDATA[Exception捕获异常]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149513860</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149513860</guid><author>m0_65384516</author><pubDate>Tue, 22 Jul 2025 21:39:37 +0800</pubDate><description><![CDATA[自定义异常BaseException应该提供多个构造方法}else {throw new AgeException("年龄不符");]]></description><category></category></item><item><title><![CDATA[mysql笔记]]></title><link>https://blog.youkuaiyun.com/m0_65384516/article/details/149514070</link><guid>https://blog.youkuaiyun.com/m0_65384516/article/details/149514070</guid><author>m0_65384516</author><pubDate>Mon, 21 Jul 2025 20:00:51 +0800</pubDate><description><![CDATA[MySQL数据库基础操作指南 本文档介绍了MySQL数据库的基础操作，包括安装配置、数据类型、约束条件和表操作等内容。主要涵盖MySQL的安装步骤（初始化、服务安装、密码修改）、常见错误处理方案，以及详细的字段类型说明（数值、字符串、日期时间等类型）。文档还详细讲解了七种约束条件及其应用场景，包括主键、外键、唯一性等约束的使用方法。最后提供了完整的表操作命令，包括创建表、修改表结构、更新数据、删除表和数据插入等常用SQL语句模板，为数据库开发人员提供了实用的操作参考。]]></description><category></category></item></channel></rss>