<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wangchunting的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangchunting</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangchunting]]></copyright><item><title><![CDATA[Java11功能更新说明]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/160971080</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/160971080</guid><author>wangchunting</author><pubDate>Mon, 11 May 2026 10:53:02 +0800</pubDate><description><![CDATA[JFR 采用事件驱动和内核级嵌入技术，对应用性能的影响通常低于 1%。这使得它可以长期在生产环境中开启，而无需担心显著影响应用的吞吐量和响应延迟。Java 11 中 JFR（Java Flight Recorder）的开源和免费化。要查看和分析这些数据，你需要使用配套的可视化工具。异步请求不会阻塞主线程，非常适合高并发场景。编程模型，极大地简化了 Java 的网络编程体验。工具动态地启动、停止和导出记录，而无需重启应用。可以轻松处理大文件，避免内存溢出。如果应用已经在运行，可以使用。参数来自动开始记录。]]></description><category></category></item><item><title><![CDATA[Java10功能更新说明]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/160914735</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/160914735</guid><author>wangchunting</author><pubDate>Sat, 09 May 2026 10:49:06 +0800</pubDate><description><![CDATA[Java 10在G1垃圾回收器和类数据共享方面进行了重要优化。G1 GC改进包括将Full GC从单线程升级为多线程并行执行，显著缩短大堆内存停顿时间50%以上，并默认启用无需配置。AppCDS功能允许将应用程序类打包成共享归档文件，通过预加载类元数据缩短启动时间30-50%，并减少多实例部署时的内存占用。使用分为三个阶段：生成类列表、创建共享文档和运行启用共享。这些优化显著提升了Java应用的启动速度、内存效率和部署密度。]]></description><category></category></item><item><title><![CDATA[Java9功能更新说明]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/160914669</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/160914669</guid><author>wangchunting</author><pubDate>Sat, 09 May 2026 10:47:28 +0800</pubDate><description><![CDATA[Java 9 引入了多项流处理和集合操作的新特性： takeWhile/dropWhile：根据条件截取或丢弃流元素 ofNullable：将可能为null的元素转换为流 改进iterate：支持带终止条件的有限流生成 Optional.stream：将Optional转换为流 集合工厂方法：提供List/Set/Map的不可变创建方式 多版本JAR：支持单个JAR包包含不同Java版本的实现 这些特性增强了流处理的灵活性，提供了更安全的集合创建方式，并改善了版本兼容性。]]></description><category></category></item><item><title><![CDATA[Rocky Linux安装MySql]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/160788895</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/160788895</guid><author>wangchunting</author><pubDate>Tue, 05 May 2026 13:48:56 +0800</pubDate><description><![CDATA[本文详细介绍了MySQL 8.4.8在Linux系统上的安装配置过程。主要内容包括：下载安装包、创建专用用户组、安装依赖库、配置目录结构；解压二进制包并初始化数据库；配置my.cnf文件、设置环境变量；创建systemd服务并处理SELinux限制；最后修改root密码并开启远程访问权限。整个过程涵盖了从基础安装到安全配置的完整步骤，适用于需要手动部署MySQL的生产环境。]]></description><category></category></item><item><title><![CDATA[VMware17 使用Rocky Linux 9.7系统]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/160745538</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/160745538</guid><author>wangchunting</author><pubDate>Sun, 03 May 2026 21:10:41 +0800</pubDate><description><![CDATA[此时会显示虚拟机的配置摘要。在点击 完成(Finish) 之前，您可以点击 自定义硬件 来调整配置。内存(RAM)：建议给 Rocky Linux 9.7 分配至少 2GB 内存（2048MB），如果您的物理内存充足，分配 4GB 或更多体验更佳。处理器(CPU)：建议分配 2个或更多核心。新CD/DVD (IDE)：确认 ISO 文件路径正确，或者在安装完成后可以将其设置为“使用物理驱动器”或“断开连接”。配置完成后，点击 关闭(Close)，然后点击 完成(Finish)。]]></description><category></category></item><item><title><![CDATA[VMware创建CentOS7 64位系统]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/160741173</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/160741173</guid><author>wangchunting</author><pubDate>Sun, 03 May 2026 16:23:37 +0800</pubDate><description><![CDATA[本文详细介绍了在VMware Workstation中安装CentOS7虚拟机的完整流程。首先通过向导创建虚拟机并配置ISO镜像源，设置虚拟机名称和存储位置，建议分配20GB以上磁盘空间和2GB以上内存。安装过程中需选择中文语言、配置时区、设置root密码等重要选项。安装完成后，文章还提供了NAT网络模式配置指南，包括修改网络接口配置文件、设置静态IP地址、子网掩码、网关和DNS服务器等关键参数，并说明如何重启网络服务使配置生效。整个过程图文并茂，适合初学者按步骤操作。]]></description><category></category></item><item><title><![CDATA[spring-boot-starter-validation字段数据校验]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/160593962</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/160593962</guid><author>wangchunting</author><pubDate>Tue, 28 Apr 2026 15:06:00 +0800</pubDate><description><![CDATA[Constraint(validatedBy = PhoneValidator.class) // 指定校验器String message() default "手机号格式不正确";Class<?Class<?@Phone将校验注解直接添加到数据传输对象（DTO）的字段上，并可以通过message属性自定义错误信息。@NotBlank(message = "用户名不能为空")@Size(max = 50, message = "用户名长度不能超过50")]]></description><category></category></item><item><title><![CDATA[数据结构-图]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159764093</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159764093</guid><author>wangchunting</author><pubDate>Thu, 02 Apr 2026 15:20:58 +0800</pubDate><description><![CDATA[图 G 是由两个集合组成的二元组：G = (V, E)V (Vertex)：顶点的有穷非空集合。顶点是图中的基本单元，也称为节点（Node）。E (Edge)：边的集合，表示顶点之间的关系。边是连接两个顶点的线段，也可以称为弧（Arc）。]]></description><category></category></item><item><title><![CDATA[算法-二分查找]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159764049</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159764049</guid><author>wangchunting</author><pubDate>Thu, 02 Apr 2026 15:19:43 +0800</pubDate><description><![CDATA[二分查找（Binary Search），也称为折半查找，是一种在中查找特定元素的高效搜索算法。它的核心思想是“分而治之”，通过不断将搜索范围缩小一半，从而实现对数级的时间复杂度，使其在处理大规模数据时效率远超线性查找。]]></description><category></category></item><item><title><![CDATA[数据结构-树]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159687731</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159687731</guid><author>wangchunting</author><pubDate>Tue, 31 Mar 2026 14:25:08 +0800</pubDate><description><![CDATA[树是 n(n≥0 ) 个节点的有限集合。当 n=0 时，称为。]]></description><category></category></item><item><title><![CDATA[数据结构-散列表]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159687699</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159687699</guid><author>wangchunting</author><pubDate>Tue, 31 Mar 2026 14:24:06 +0800</pubDate><description><![CDATA[散列表也叫作哈希表（hash table），这种数据结构提供了键（Key）和值（Value）的映射关系。只要给出一个Key，就可以高效查找到它所匹配的Value，时间复杂度接近于O(1)。]]></description><category></category></item><item><title><![CDATA[数据结构-线性数据结构]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159511701</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159511701</guid><author>wangchunting</author><pubDate>Thu, 26 Mar 2026 17:22:13 +0800</pubDate><description><![CDATA[数据结构是组织和存储数据以提高访问和处理效率的方式。常见线性数据结构包括数组（连续内存、随机访问）、链表（动态大小、高效增删）、栈（LIFO原则）和队列（FIFO原则）。数组适合固定数据存储，链表适合频繁增删，栈用于函数调用等场景，队列用于任务排队。每种结构各有优缺点，适用于不同场景。]]></description><category></category></item><item><title><![CDATA[Spring Boot 概述]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159499075</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159499075</guid><author>wangchunting</author><pubDate>Thu, 26 Mar 2026 11:00:19 +0800</pubDate><description><![CDATA[Spring Boot摘要 Spring Boot是一个简化Spring应用开发的Java框架，采用&quot;约定优于配置&quot;理念，提供开箱即用的默认配置。核心特性包括： 自动配置：基于类路径依赖智能配置组件 内嵌服务器：集成Tomcat/Jetty，支持可执行JAR部署 起步依赖：通过Starter简化依赖管理 生产就绪：内置健康检查、监控等功能 无XML配置：完全基于注解和属性文件 自动配置原理： 通过@EnableAutoConfiguration触发 AutoConfigurationIm]]></description><category></category></item><item><title><![CDATA[Java设计模式]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159418161</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159418161</guid><author>wangchunting</author><pubDate>Tue, 24 Mar 2026 10:47:05 +0800</pubDate><description><![CDATA[单例模式是确保类仅有一个实例的设计模式，主要包括饿汉式、懒汉式、双重检查锁、静态内部类和枚举等实现方式。其中双重检查锁和静态内部类是推荐方案，而枚举方式最为安全。代理模式则通过代理对象控制对目标对象的访问，分为静态代理和动态代理（JDK和CGLIB），是Spring AOP等技术的底层基础。两种模式在资源共享、配置管理等场景有广泛应用。]]></description><category></category></item><item><title><![CDATA[Java工具常用命令]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159415238</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159415238</guid><author>wangchunting</author><pubDate>Tue, 24 Mar 2026 09:07:26 +0800</pubDate><description><![CDATA[Java工具摘要 Java提供了一套强大的命令行工具集用于诊断和分析JVM运行状态。核心工具包括： jps：快速查看Java进程列表及基本信息 jinfo：实时查看和动态修改JVM配置参数 jstat：监控内存、GC和类加载的实时统计数据 jstack：生成线程快照，用于分析死锁、CPU飙高等问题 jmap：生成堆内存快照和对象统计直方图 jhat：堆快照分析工具（现多用MAT替代） 这些工具通过PID关联，可配合使用。如先用jps定位问题进程，再用jstat监控GC情况，必要时用jmap导出堆快照，最后用]]></description><category></category></item><item><title><![CDATA[Jvm-垃圾收集器]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159383217</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159383217</guid><author>wangchunting</author><pubDate>Mon, 23 Mar 2026 11:04:46 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了Java垃圾收集器的分类与工作原理，包括新生代收集器（Serial、ParNew、Parallel Scavenge）和老年代收集器（Serial Old、Parallel Old、CMS），以及整体收集器G1。重点分析了各收集器的使用场景、工作流程、优缺点，特别说明了G1收集器的Region内存模型和可预测停顿特性。不同收集器适用于不同场景，如Serial适合单核小内存，CMS追求低延迟，G1则在大内存多核环境下平衡吞吐量与延迟。]]></description><category></category></item><item><title><![CDATA[Jvm-垃圾回收算法]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159383172</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159383172</guid><author>wangchunting</author><pubDate>Mon, 23 Mar 2026 11:02:49 +0800</pubDate><description><![CDATA[摘要：本文介绍了常见的垃圾回收算法，包括引用计数算法和可达性分析算法(GC Roots)两种回收对象算法，以及标记-清除、标记-复制、标记-整理和分代收集四种对象收集算法。引用计数算法实现简单但无法解决循环引用问题，可达性分析算法能准确识别死亡对象但需要全局停顿。在对象收集方面，标记-清除简单但产生碎片，标记-复制无碎片但空间利用率低，标记-整理结合两者优点但移动开销大，分代收集则根据不同对象生命周期采用最优策略。这些算法各有优缺点，适用于不同场景，共同构成了现代JVM高效的内存管理体系。]]></description><category></category></item><item><title><![CDATA[Jvm-类加载机制]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159205914</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159205914</guid><author>wangchunting</author><pubDate>Wed, 18 Mar 2026 13:58:01 +0800</pubDate><description><![CDATA[文章摘要： 本文详细介绍了Java类加载机制，包含类加载的5个阶段（加载、验证、准备、解析、初始化）及其工作原理。重点讲解了双亲委派模型，包括其层级结构（启动类加载器、扩展类加载器、应用类加载器）和&quot;向上委托-向下尝试&quot;的工作流程，分析了该机制在安全性、避免重复加载等方面的优势，并说明了需要打破双亲委派的特殊场景（如SPI、热部署）。最后通过代码示例演示了如何实现自定义类加载器，包括从指定路径加载.class文件、转换字节码为Class对象等关键步骤。]]></description><category></category></item><item><title><![CDATA[Jvm-概述]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/159157315</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/159157315</guid><author>wangchunting</author><pubDate>Tue, 17 Mar 2026 10:06:58 +0800</pubDate><description><![CDATA[摘要：JVM（Java虚拟机）是Java程序运行的核心环境，实现了&quot;一次编写，到处运行&quot;的特性。它通过字节码解释执行和JIT编译优化，在跨平台的同时保证性能。JVM规范与Java语言规范分别定义了字节码执行规则和语法语义。JVM内存分为程序计数器、虚拟机栈、堆、方法区等区域，各自承担不同功能并具有特定配置参数和异常情况。Java 8用元空间替代永久代，优化了方法区内存管理。JVM还提供自动内存管理、安全机制等关键功能，支持多种虚拟机实现如HotSpot、J9等。]]></description><category></category></item><item><title><![CDATA[Java并发-CompletableFuture]]></title><link>https://blog.youkuaiyun.com/wangchunting/article/details/158653647</link><guid>https://blog.youkuaiyun.com/wangchunting/article/details/158653647</guid><author>wangchunting</author><pubDate>Wed, 04 Mar 2026 13:56:39 +0800</pubDate><description><![CDATA[/ 带超时的异步任务try {.orTimeout(2, TimeUnit.SECONDS) // 超时抛出 TimeoutException// 带超时的异步任务 CompletableFuture < String > timedFuture = CompletableFuture . supplyAsync(() -> {try {]]></description><category></category></item></channel></rss>