<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IWinds的博客]]></title><description><![CDATA[你看那天上白云，聚了又散，散了又聚，人生离合，亦复如斯]]></description><link>https://blog.youkuaiyun.com/IWinds</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; IWinds]]></copyright><item><title><![CDATA[Docker实战-CentOS 7系统中Docker的安装与卸载]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/150467634</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/150467634</guid><author>IWinds</author><pubDate>Sun, 17 Aug 2025 15:20:36 +0800</pubDate><description><![CDATA[如果你想要更详细的信息，也可以使用其他命令，比如uname -r来查看内核版本，或者hostnamectl来获取包括操作系统在内的更多系统信息。解决这个问题的一个有效方法是使用国内的镜像源，如阿里云、网易云等提供的加速服务。请注意，如果你的CentOS版本较老，可能需要先检查可用的Docker版本，并选择适合的版本进行安装。接下来，我们将添加Docker的官方仓库地址，这里我们使用的是阿里云提供的镜像源来加速下载。在国内安装Docker时，由于网络环境的特殊性，可能会遇到一些特有的问题。]]></description><category></category></item><item><title><![CDATA[Docker实战-核心概念与工作原理]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/150154348</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/150154348</guid><author>IWinds</author><pubDate>Sun, 10 Aug 2025 19:24:09 +0800</pubDate><description><![CDATA[当需要创建容器时，Docker守护进程会在本地或远程的Docker仓库（Docker Registry）中查找指定的镜像。守护进程会解析命令，并执行相应的操作，比如根据指定的Docker镜像创建容器，或者在容器内部执行特定的任务。的机器上，实现虚拟化。Docker容器的运行采用沙箱机制，容器之间不会有任何接口，使得它们之间的运行完全隔离，从而保证了应用的安全性和稳定性。Docker是一个开源的应用容器引擎，它可以让开发者将应用及其依赖包打包到一个可移植的镜像中，并发布到任何流行的Linux或。]]></description><category></category></item><item><title><![CDATA[中间件-消息队列-RocketMQ]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/149879540</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/149879540</guid><author>IWinds</author><pubDate>Sun, 03 Aug 2025 13:44:00 +0800</pubDate><description><![CDATA[RocketMQ中的死信队列（Dead-Letter Queue，简称DLQ）是一种特殊的队列，用于存储那些在正常消费流程中无法被正确处理的消息，即死信消息（Dead-Letter Message）。这些消息通常是因为消费失败且超过了预设的最大重试次数而被转移到死信队列中。RocketMQ的死信队列机制帮助系统隔离有问题的消息，避免它们无限循环重试，影响正常消息的处理流程。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：DateTimeFormatter与ZoneOffset类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/149696631</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/149696631</guid><author>IWinds</author><pubDate>Sun, 27 Jul 2025 21:52:04 +0800</pubDate><description><![CDATA[JDK版本：11。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：Year、YearMonth、MonthDay、DayOfWeek类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/149309081</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/149309081</guid><author>IWinds</author><pubDate>Sun, 13 Jul 2025 13:35:56 +0800</pubDate><description><![CDATA[Year、YearMonth、MonthDay、DayOfWeek是Java 8中新增的日期时间API的一部分，它们提供了更灵活和强大的日期和时间处理能力。这些类都是不可变的，意味着一旦创建了对象，其值就不能更改。这种设计使得对这些对象的并发操作更加安全和高效。同时，这些类都实现了Comparable接口，可以根据时间顺序进行比较。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：Duration类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/148961941</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/148961941</guid><author>IWinds</author><pubDate>Fri, 27 Jun 2025 22:39:36 +0800</pubDate><description><![CDATA[JDK版本：11。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：Period类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/148853687</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/148853687</guid><author>IWinds</author><pubDate>Mon, 23 Jun 2025 20:23:56 +0800</pubDate><description><![CDATA[易于使用：Period类提供了许多简便的方法来操作时间段，例如plus()、minus()、multiply()、divide()等，使得操作变得更加简单。适合表示较大时间单位：与Duration类相比，Period类更适合表示年、月、日等较大的时间单位，因为它的粒度更粗，不会因为纳秒等较小的单位而产生精度问题。精度问题：Period类的比较粒度较粗，只能精确到天、月、年等较大的单位，对于需要更高精度的时间段，例如毫秒、纳秒等，Period类无法满足需求。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：ChronoUnit、ChronoField类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/148677119</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/148677119</guid><author>IWinds</author><pubDate>Sun, 15 Jun 2025 22:33:06 +0800</pubDate><description><![CDATA[JDK版本：11。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：TemporalAdjusters、TemporalAdjuster类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/148481806</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/148481806</guid><author>IWinds</author><pubDate>Fri, 06 Jun 2025 20:39:14 +0800</pubDate><description><![CDATA[JDK版本：11。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：TemporalQuery、TemporalQueries类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/148364792</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/148364792</guid><author>IWinds</author><pubDate>Sun, 01 Jun 2025 12:00:29 +0800</pubDate><description><![CDATA[TemporalQueries和TemporalQuery是Java时间库中的两个相关类，它们都用于处理时间查询。TemporalQueries是一个类，它提供了TemporalQuery的常见实现。这些实现是常量，因为lambda表达式不能保证这一点。通过在这里分配一次，它们变成了“普通的”Java常量。TemporalQuery是一个接口，它定义了从临时对象中提取信息的关键工具。这些工具的存在是为了使查询过程外化，允许根据策略设计模式采用不同的方法。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：ZonedDateTime类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/148176830</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/148176830</guid><author>IWinds</author><pubDate>Fri, 23 May 2025 21:59:26 +0800</pubDate><description><![CDATA[时区信息：ZonedDateTime包含时区信息，可能包含城市或地区的信息，而OffsetDateTime只包含时差信息，不包含城市或地区的信息。创建方式：创建ZonedDateTime和OffsetDateTime类的对象通常通过now()和of()这两个方法完成。通过now()方法所创建的对象表示系统当前的日期时间。而如果通过of()方法创建对象，需要给of()方法传递3部分信息，分别是：日期、时间以及时区。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：OffsetDateTime类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/148049686</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/148049686</guid><author>IWinds</author><pubDate>Sun, 18 May 2025 20:49:06 +0800</pubDate><description><![CDATA[JDK版本：JAVA11。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：LocalDateTime类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/147879070</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/147879070</guid><author>IWinds</author><pubDate>Sun, 11 May 2025 21:07:49 +0800</pubDate><description><![CDATA[如果需要指定时区，可以使用 ZoneId 类的 of 方法来创建时区对象，然后使用 LocalDateTime.atZone 方法将 LocalDateTime 对象转换为 ZonedDateTime 对象，最后再使用 ZonedDateTime.toLocalDateTime 方法将其转换为指定时区的 LocalDateTime 对象。如果支持，方法将返回 true；LocalDateTime 是 Java 8 中引入的一个新的日期时间 API，它表示一个没有时区的日期时间对象，是不可变且线程安全的。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：LocalTime类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/147723256</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/147723256</guid><author>IWinds</author><pubDate>Mon, 05 May 2025 21:47:09 +0800</pubDate><description><![CDATA[Java 8引入了一个非常重要的，用于处理时间的类：LocalTime。LocalTime可以表示一天中的时间，不包括日期信息。它提供了各种方法来处理时间，例如获取当前时间、设置时间、获取小时、分钟、秒等。]]></description><category></category></item><item><title><![CDATA[深入Java8-日期时间API：LocalDate类]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/147543589</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/147543589</guid><author>IWinds</author><pubDate>Sat, 26 Apr 2025 22:08:38 +0800</pubDate><description><![CDATA[需要注意的是，这个方法并不会对输入的天数进行有效性检查，因此如果输入的天数超出了给定年份的范围（例如，在2月输入了30），那么创建出来的 LocalDate 对象可能不准确。这个方法返回的是一个长整型（long）的值，它将此本地日期与指定的时间和作为参数传递的偏移量相结合，以计算epoch-second值，该值是从1970-01-01T00:00:00Z开始经过的秒数。LocalDate的lengthOfMonth()方法用于获取此LocalDate表示的月份的长度，即该月份的天数。]]></description><category></category></item><item><title><![CDATA[深入Java8-排序]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/147375731</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/147375731</guid><author>IWinds</author><pubDate>Sun, 20 Apr 2025 21:29:12 +0800</pubDate><description><![CDATA[List<String> sortListB = Arrays.asList("春", "夏", "秋", "冬");]]></description><category></category></item><item><title><![CDATA[深入Java8-Optional]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/147190028</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/147190028</guid><author>IWinds</author><pubDate>Sun, 13 Apr 2025 12:19:48 +0800</pubDate><description><![CDATA[在 Java 中，Optional是用于优雅处理null的容器类，其核心目标是，避免。以下是Optional。]]></description><category></category></item><item><title><![CDATA[Kafka重试机制与死信队列]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/147002950</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/147002950</guid><author>IWinds</author><pubDate>Fri, 04 Apr 2025 21:19:15 +0800</pubDate><description><![CDATA[Spring Kafka提供了全面的错误处理机制，通过灵活的重试策略和死信队列处理，帮助开发者构建健壮的消息处理系统。在实际应用中，应根据业务需求配置适当的重试策略，包括重试次数、重试间隔以及特定异常的处理方式。死信队列作为最后的防线，确保没有消息被静默丢弃，便于后续分析和处理。结合事务管理，可以实现更高级别的错误处理和一致性保证。]]></description><category></category></item><item><title><![CDATA[自定义注解，通过SpEL表达式调用类方法、引用方法参数、引用方法参数的属性]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/130990182</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/130990182</guid><author>IWinds</author><pubDate>Fri, 02 Jun 2023 09:49:30 +0800</pubDate><description><![CDATA[自定义注解，SpEL表达式，SpEl调用类方法，SpEl引用方法参数]]></description><category></category></item><item><title><![CDATA[线程池中线程抛出了异常，该如何处理？]]></title><link>https://blog.youkuaiyun.com/IWinds/article/details/129919434</link><guid>https://blog.youkuaiyun.com/IWinds/article/details/129919434</guid><author>IWinds</author><pubDate>Sun, 02 Apr 2023 23:33:32 +0800</pubDate><description><![CDATA[在实际开发中，我们常常会用到线程池，但任务一旦提交到线程池之后，如果发生异常之后，怎么处理？怎么获取到异常信息？]]></description><category></category></item></channel></rss>