<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sqweff的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sqweff</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sqweff]]></copyright><item><title><![CDATA[Failsafe 超时(6)]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/148262773</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/148262773</guid><author>sqweff</author><pubDate>Tue, 27 May 2025 18:31:50 +0800</pubDate><description><![CDATA[当异步执行超时时，Failsafe仍然会等待执行完成，无论是通过中断还是自然完成，然后再记录一个TimeoutExceededException。这避免了在原始执行仍在运行时重试的风险，最终可能导致多个被放弃的执行在多个线程中运行。如果一个Timeout触发了取消，执行将会完成并TimeoutExceededException。由于异步集成的方法涉及外部线程，而Failsafe对此没有了解，因此这些执行无法直接被取消或中断。当一个Timeout在外部 构建时，RetryPolicy超时将取消任何内部。]]></description><category></category></item><item><title><![CDATA[Failsafe 速率限制器(5)]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/148262740</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/148262740</guid><author>sqweff</author><pubDate>Tue, 27 May 2025 18:29:24 +0800</pubDate><description><![CDATA[Failsafe提供了两种速率限制器：平滑和突发型。平滑速率限制器采用漏桶算法均匀分散执行请求，适合控制稳定流量；突发型使用固定窗口方法，允许短时间内突发流量。两种方式都支持配置最大执行次数和等待时间，并能共享使用以协调对公共资源的访问。此外，速率限制器可独立使用或与异步调度集成，具备高效的O(1)时间和空间复杂度性能。该机制能有效防止系统过载，是资源访问控制的重要工具。]]></description><category></category></item><item><title><![CDATA[Failsafe 断路器(4)]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/148262467</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/148262467</guid><author>sqweff</author><pubDate>Tue, 27 May 2025 18:12:14 +0800</pubDate><description><![CDATA[本文介绍了断路器(Circuit Breaker)的设计与实现。断路器通过暂时禁用执行来防止系统过载，提供两种类型：基于计数和基于时间。文章详细讲解了断路器的配置选项，包括故障/成功阈值、延迟时间等参数设置，以及状态转换机制（打开、半开、关闭）。还介绍了故障处理、事件监听和指标监控功能，强调共享断路器的最佳实践。此外，文章说明了断路器可以独立使用或与时间滑动窗口结合，分析了其高效的空间时间复杂度(O(1))实现原理。]]></description><category></category></item><item><title><![CDATA[Failsafe 政策（2）]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/148262044</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/148262044</guid><author>sqweff</author><pubDate>Tue, 27 May 2025 17:50:20 +0800</pubDate><description><![CDATA[本文介绍了Failsafe容错框架中的策略组合机制。主要内容包括：1）故障处理策略可通过配置处理特定异常或结果条件；2）多种策略可按相反顺序组合执行，形成层级调用关系；3）典型策略组合示例说明各策略（如Fallback、RetryPolicy等）的协同工作流程；4）建议根据实际用例选择适当的策略组合方式。文章通过代码示例和流程图展示了策略合成的执行过程及异常处理机制，帮助开发者构建健壮的容错系统。]]></description><category></category></item><item><title><![CDATA[Failsafe 概述（1）]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/148261939</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/148261939</guid><author>sqweff</author><pubDate>Tue, 27 May 2025 17:46:29 +0800</pubDate><description><![CDATA[Failsafe是一个轻量级的Java容错库，提供简洁API处理异步和同步操作中的故障。它通过组合重试、熔断、超时等策略增强系统韧性。开发者可以定义重试条件并包装执行逻辑，支持同步/异步调用方式，还能保存策略组合重复使用。Failsafe无需额外依赖，适合Java 8+项目，帮助构建健壮的分布式系统。]]></description><category></category></item><item><title><![CDATA[Failsafe 重试（3）]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/148261766</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/148261766</guid><author>sqweff</author><pubDate>Tue, 27 May 2025 17:41:28 +0800</pubDate><description><![CDATA[重试策略将重试失败的执行一定次数，并可在尝试之间选择性地延迟。如果在重试次数超过后执行仍然失败，将返回或抛出最后的结果或异常。如果需要额外处理或替代结果，可以围绕回退策略进行组合，并使用重试策略。除了最大尝试次数之外，您还可以为执行添加最大持续时间，如果达到了最大持续时间，而最大尝试次数还没有达到，则重试将停止。默认情况下，一个RetryPolicy允许最多3次执行尝试。默认情况下，RetryPolicy在尝试之间没有延迟。或者一个基于执行结果或异常的计算延迟。]]></description><category></category></item><item><title><![CDATA[自定义View为什么在设计图和应用中中无法显示可能的原因有一个]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/146996440</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/146996440</guid><author>sqweff</author><pubDate>Fri, 04 Apr 2025 11:33:05 +0800</pubDate><description><![CDATA[我们在构造方法中写了inflate 但是却没有对应的布局出现在设计图或者app界面中。无法显示可能的原因有一个 我们需要在正确的构造方法中写inflate才行。]]></description><category></category></item><item><title><![CDATA[近期 Android 工作 Bug 汇总23.3.29]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/129840701</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/129840701</guid><author>sqweff</author><pubDate>Wed, 29 Mar 2023 18:01:49 +0800</pubDate><description><![CDATA[ImageView 缩放问题，蓝湖上的图片放入View后，wrap_content，四周多出了透明的地方，明明没有图案。]]></description><category></category></item><item><title><![CDATA[RecyclerView 小记录]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/115391494</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/115391494</guid><author>sqweff</author><pubDate>Fri, 02 Apr 2021 10:03:26 +0800</pubDate><description><![CDATA[示例：向下滑动，逐步显示内容
流程一、首先布局中加入 主角 RecyclerView二、编写一个 POJO三、编写一个 RecyclerView  Adapter四、编写主界面代码

基于kotlin as4.1

一、首先布局中加入 主角 RecyclerView
   &lt;androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rv1"
        android:layout_width="match_parent"]]></description><category></category></item><item><title><![CDATA[ViewPager2的简单上手 kotlin as4.1]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/115124398</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/115124398</guid><author>sqweff</author><pubDate>Tue, 23 Mar 2021 15:37:36 +0800</pubDate><description><![CDATA[新手小白，记录自己的成长

ViewPager2的简单上手前言一、入门二、使用步骤1.引入依赖2.放置viewpager3.创建fragment4.创建适配器5.主页面代码总结

前言
viewpager 太难了 还麻烦，而随着ViewPager2的发布，一年时间证明了它的便捷。

一、入门
ViewPager2 通常与Fragment 连用，实现翻页功能
不过官方自动创建的fragment+viewpager还是使用的viewpager
不是viewpager2
二、使用步骤
1.引入依赖
impleme]]></description><category></category></item><item><title><![CDATA[Android Jetpack -  Navigation Kotlin 默认生成详解]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/115002899</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/115002899</guid><author>sqweff</author><pubDate>Fri, 19 Mar 2021 14:45:35 +0800</pubDate><description><![CDATA[这里写自定义目录标题创建目录详解
创建
首先我们选择android studio默认生成的Navigation Drawer Activity
不管是新创建一个project还是新创建Activity都是一样的生成结果

新项目不要勾选 use legacy libiraries， 除了一些老项目，使用这个会导致新功能无法使用

创建完成之后：

目录详解
自动创建的要比我们自己创建的要多出不少东西
一个一个来解释
先是mainActivity的layout

mainActivity layout中包含侧]]></description><category></category></item><item><title><![CDATA[eclipse下载]]></title><link>https://blog.youkuaiyun.com/sqweff/article/details/105656650</link><guid>https://blog.youkuaiyun.com/sqweff/article/details/105656650</guid><author>sqweff</author><pubDate>Tue, 21 Apr 2020 13:55:21 +0800</pubDate><description><![CDATA[https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2020-03/R/eclipse-java-2020-03-R-win32-x86_64.zip
下载地址
下载点选择中国

]]></description><category></category></item></channel></rss>