<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jaune162的专栏，最新动态请关注：https://jaune162.blog]]></title><description><![CDATA[Java、Spring、架构、IT资讯。关注我的博客：https://jaune162.blog]]></description><link>https://blog.csdn.net/jaune161</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; jaune161]]></copyright><item><title><![CDATA[桥接模式(Bridge Pattern)]]></title><link>https://blog.csdn.net/jaune161/article/details/136673075</link><guid>https://blog.csdn.net/jaune161/article/details/136673075</guid><author>jaune161</author><pubDate>Wed, 13 Mar 2024 10:33:58 +0800</pubDate><description><![CDATA[将抽象与其实现分离，以便二者可以独立变化。more通过使用桥接模式，可以更好地管理类之间的关系，提高系统的灵活性和可维护性，同时也有利于解决类爆炸的问题。]]></description><category></category></item><item><title><![CDATA[适配器模式(Adapter Pattern)]]></title><link>https://blog.csdn.net/jaune161/article/details/136669672</link><guid>https://blog.csdn.net/jaune161/article/details/136669672</guid><author>jaune161</author><pubDate>Wed, 13 Mar 2024 09:13:32 +0800</pubDate><description><![CDATA[将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。more。]]></description><category></category></item><item><title><![CDATA[设计模式系列文章-7个创建型模式更新已完结]]></title><link>https://blog.csdn.net/jaune161/article/details/136310667</link><guid>https://blog.csdn.net/jaune161/article/details/136310667</guid><author>jaune161</author><pubDate>Mon, 26 Feb 2024 23:15:45 +0800</pubDate><description><![CDATA[博客和专题站内所有内容均免费，由于文章前后书写时思路不一致，导致文章结构也不一致。后续会对文章结构进行调整，统一文章结构。在全部设计模式文章初稿更新玩结构，依然会不断补充和更新新的内容，增加更多工作中的实例和开源框架源码实例，新内容的更新会优先更新到。其实从2019年开始就有些一套关于设计模式的系列文章，但是因为种种原因一直搁置到现在。，博客中的内容更新会有一定的延迟。如果要了解更新更全面的设计模式内容请关注我的。24年2月份开始继续更新设计模式系列文章，目前7个创建型模式已完结。]]></description><category></category></item><item><title><![CDATA[对象池模式-Object Pool Pattern]]></title><link>https://blog.csdn.net/jaune161/article/details/136244537</link><guid>https://blog.csdn.net/jaune161/article/details/136244537</guid><author>jaune161</author><pubDate>Thu, 22 Feb 2024 22:43:29 +0800</pubDate><description><![CDATA[当对象的创建成本很高并且只在很短的周期内使用，那么对象池模式就很有优势。对象池提供一个对象示例的缓存来跟踪那个对象正在使用，哪个对象是可用的。more对象池其实有点类似于工厂，工厂生产的对象交个客户端后就由客户端来维护其生命周期了。而对象池生产的对象再客户端用完之后还需要还给对象池，对象池中对象的生命周期是由对象池来维护的。对象池的核心操作获取对象：从池中获取一个可用对象，可能会触发对象池的创建动作，创建出一个新的对象。对象归还：在使用完成后归还对象。]]></description><category></category></item><item><title><![CDATA[建造者模式-Builder Pattern]]></title><link>https://blog.csdn.net/jaune161/article/details/136133532</link><guid>https://blog.csdn.net/jaune161/article/details/136133532</guid><author>jaune161</author><pubDate>Fri, 16 Feb 2024 22:51:41 +0800</pubDate><description><![CDATA[建造者模式（Builder Pattern）是一种创建型设计模式，它可以让你构建复杂对象时更加灵活和可控。这种模式的主要目的是将一个复杂对象的构建与它的表示分离，使得同样的构建过程可以创建不同的表示。在软件开发中，我们经常会遇到一些复杂的对象，这些对象通常由多个部分组成，而且每个部分的创建和组合可能需要花费大量的时间和精力。为了解决这个问题，我们可以使用建造者模式来简化对象的构建过程。建造者模式的核心思想是将复杂对象的构建过程分解为多个简单的步骤，每个步骤负责创建一个特定的部分。]]></description><category></category></item><item><title><![CDATA[原型模式-Prototype Pattern]]></title><link>https://blog.csdn.net/jaune161/article/details/136133513</link><guid>https://blog.csdn.net/jaune161/article/details/136133513</guid><author>jaune161</author><pubDate>Fri, 16 Feb 2024 22:48:02 +0800</pubDate><description><![CDATA[用原型实例指定创建对象的种类，并且通过拷贝这些原型创建新的对象。more原型模式就是通过一个以存在的对象来创建另一个。如果对象中存在有字段是对象类型，当这个字段被修改后，会同时影响拷贝和被拷贝对象。这时需要用深拷贝来处理。]]></description><category></category></item><item><title><![CDATA[抽象工厂模式-Abstract Factory Pattern]]></title><link>https://blog.csdn.net/jaune161/article/details/136113406</link><guid>https://blog.csdn.net/jaune161/article/details/136113406</guid><author>jaune161</author><pubDate>Wed, 14 Feb 2024 14:52:29 +0800</pubDate><description><![CDATA[首先我们了解下抽象工厂模式的定义。为创建一组相关或相互依赖的对象提供一个接口， 而且无须指定它们的具体类。这个定义不太容易理解，我们通过UML类图和具体的代码来逐步理解其含义。抽象工厂模式是一种创建型设计模式，它提供一个接口用于创建一系列相关或依赖对象的家族，而不需要指定具体的类。这有助于实现对象的解耦和灵活性。适用于需要创建一系列相关对象的场景。它可以提高系统的可维护性和可扩展性。实现了对象的解耦：客户端使用抽象工厂接口来创建产品对象，而无需关心具体的产品类，从而实现了对象的解耦。]]></description><category></category></item><item><title><![CDATA[简单工厂模式-Simple Factory Pattern]]></title><link>https://blog.csdn.net/jaune161/article/details/136113396</link><guid>https://blog.csdn.net/jaune161/article/details/136113396</guid><author>jaune161</author><pubDate>Wed, 14 Feb 2024 14:48:59 +0800</pubDate><description><![CDATA[简单工厂模式是一种非常常用的设计模式，但是并不属于GoF中的23种设计模式。简单设计模式有很多种实现方式。本文我们就来讨论简单工厂模式的实现方式，以及如何借助Spring实现一个扩展性很好的简单工厂模式。创建对象但是不想客户端暴露对象实例化的逻辑通过通用接口引用新创建的对象more。]]></description><category></category></item><item><title><![CDATA[你为什么不喜欢关电脑？我只是想第二天能够快速进入工作状态]]></title><link>https://blog.csdn.net/jaune161/article/details/136063085</link><guid>https://blog.csdn.net/jaune161/article/details/136063085</guid><author>jaune161</author><pubDate>Tue, 06 Feb 2024 22:36:48 +0800</pubDate><description><![CDATA[不关电脑，就好比我们用虚拟机搭建一套开发环境，虽然还没有搞完，但是今天就先到此为止，然后把虚拟机挂起。这样第二天再用的时候直接启动就行了，已经启动的软件、打开的文档跟挂起时是一样的，我们不需要重新打开，直接就能接着昨天没有搞完的地方继续搞就可以了。所以程序员不喜欢关电脑也是如此，当第二天来到公司，打开电脑，映入眼帘的就是昨天下班时候的画面。而且所有工作用的软件都是打开的，都是跟昨天下班结束时是同步的，光打开各种软件这一项也节省了不少时间。每个人的习惯不同，团队的工作方式也不同，用的软件可能会有所差异。]]></description><category></category></item><item><title><![CDATA[工厂方法模式(Factory Method Pattern)]]></title><link>https://blog.csdn.net/jaune161/article/details/136063019</link><guid>https://blog.csdn.net/jaune161/article/details/136063019</guid><author>jaune161</author><pubDate>Tue, 06 Feb 2024 22:08:30 +0800</pubDate><description><![CDATA[工厂方法模式的优点是，我们知道要一个具体的对象，也知道这个对象的类。但是不用关心谁创建了它，创建的过程如何。在上述日志框架中的应用可以看出，多个工厂其实是冲突的。在实际使用时我们只用一个即可。但是这并不是方法工厂模式的要求，方法工厂模式并没有要求多个工厂不能共存，需要结合实际的应用场景来灵活设计、灵活使用。切勿生搬硬套！]]></description><category></category></item><item><title><![CDATA[优秀学习网站推荐-第一辑]]></title><link>https://blog.csdn.net/jaune161/article/details/136033553</link><guid>https://blog.csdn.net/jaune161/article/details/136033553</guid><author>jaune161</author><pubDate>Sun, 04 Feb 2024 22:26:03 +0800</pubDate><description><![CDATA[官网地址：https://roadmap.sh/该网站包含了各个方向、各个语言的开发人员从零开始学习的路线图。下图为Java方向的学习路线图点击对应的模块就可以进入到学习文档或学习视频或公开课，非常的方便。]]></description><category></category></item><item><title><![CDATA[Spring Boot 自定义指标]]></title><link>https://blog.csdn.net/jaune161/article/details/135986191</link><guid>https://blog.csdn.net/jaune161/article/details/135986191</guid><author>jaune161</author><pubDate>Fri, 02 Feb 2024 09:16:26 +0800</pubDate><description><![CDATA[阅读本文需要对一些前置技术有所了解，下面列出的一些前置技术是必须要了解的。在项目中如果希望自定义一些指标用于监控系统的运行情况，那么可以通过本文中介绍的方法来实现自定义监控指标，我们先从一个简单的例子来介绍如何实现自定义监控指标。truncate。]]></description><category></category></item><item><title><![CDATA[OpenFeign认证上下文信息的传递]]></title><link>https://blog.csdn.net/jaune161/article/details/135957557</link><guid>https://blog.csdn.net/jaune161/article/details/135957557</guid><author>jaune161</author><pubDate>Wed, 31 Jan 2024 16:58:05 +0800</pubDate><description><![CDATA[其中网关部分不是本章讨论的范围，网关处理与后续服务的处理类似。这种两种方式都需要在入口处通过Filter将用户信息，放到ThreadLocal中。以便在后续使用。truncate。]]></description><category></category></item><item><title><![CDATA[Gradle配置SpringBoot多环境打包]]></title><link>https://blog.csdn.net/jaune161/article/details/123115172</link><guid>https://blog.csdn.net/jaune161/article/details/123115172</guid><author>jaune161</author><pubDate>Thu, 24 Feb 2022 17:02:35 +0800</pubDate><description><![CDATA[Gradle Task
实现使用Gradle配置SpringBoot多环境打包，首先要搞清楚Gradle的Task。本文中仅介绍用需要注意的点。具体的可以查看其他博主的文章或者查看官方文档。
首先是第一个问题：task中的代码一定是在task执行时运行的吗？
来看下面两个任务
task t1 {
    println "t1"
}

task t2 {
    println "t2"
}

无论我们调用 gradle t1 还是 gradle t2 这两个 println 都会打印。如下：

这是因为其]]></description><category></category></item><item><title><![CDATA[使用Spring AOP 记录Spring MVC请求日志]]></title><link>https://blog.csdn.net/jaune161/article/details/118389725</link><guid>https://blog.csdn.net/jaune161/article/details/118389725</guid><author>jaune161</author><pubDate>Thu, 01 Jul 2021 18:00:13 +0800</pubDate><description><![CDATA[目录前言新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
前言
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章，了解一下Markdown的]]></description><category></category></item><item><title><![CDATA[IDEA中jclasslib插件修改本地化语言为英文的方法]]></title><link>https://blog.csdn.net/jaune161/article/details/117388890</link><guid>https://blog.csdn.net/jaune161/article/details/117388890</guid><author>jaune161</author><pubDate>Sat, 29 May 2021 18:07:37 +0800</pubDate><description><![CDATA[IDEA中的jclasslib插件的语言做了本地化，因此在中国显示的语言为中文。

其实显示中文也挺不错，只是在学习字节码时，很多教程上的中文翻译会有些许差异，因此在学习时使用英文语言是最好的。
下面介绍设置方法。上面已经说了其实是因为你的本地语言为中文，所以才会显示中文。因此只需要设置JVM的本地语言即可
Help &gt; Edit Custom Vm Options… ，在打开的IDEA JVM配置文件中加入如下配置：
-Duser.language=en
-Duser.region=CN


-Du]]></description><category></category></item><item><title><![CDATA[数据结构与算法--后缀表达式]]></title><link>https://blog.csdn.net/jaune161/article/details/105602338</link><guid>https://blog.csdn.net/jaune161/article/details/105602338</guid><author>jaune161</author><pubDate>Sat, 18 Apr 2020 20:57:41 +0800</pubDate><description><![CDATA[中缀表达式转后缀表达式
中缀表达式转后缀表达式的思路步骤分析。

初始化一个栈和一个队列，运算符栈 S1 和存储中间结果的队列 Q1
从左至右扫描中缀表达式
遇到操作数时放入队列 Q1 中
遇到运算符时，比较其与S1栈顶运算符的优先级

如果S1为空，或栈顶运算符为左括号 ( ，则直接将此运算符入栈
否则，若优先级比栈顶运算符的高，也将运算符压入S1
否则，将S1 栈顶的运算符弹出并添加到Q1 中...]]></description><category></category></item><item><title><![CDATA[数据结构与算法--分治法、归并排序]]></title><link>https://blog.csdn.net/jaune161/article/details/105568746</link><guid>https://blog.csdn.net/jaune161/article/details/105568746</guid><author>jaune161</author><pubDate>Thu, 16 Apr 2020 22:26:03 +0800</pubDate><description><![CDATA[分治法
分治法的思想是：将原问题分解成若干个规模较小但是与原问题类似的问题，递归地求解这些子问题，然后再合并这些子问题的解来建立原问题的解。
分治法在每层递归时都有三个步骤：

分解： 将原问题分解为若干个子问题，这些问题是原问题的规模较小的实例
解决： 递归求解子问题，若子问题规模足够小，则直接求解
合并： 合并这些子问题的解成原问题的解。

归并排序
归并排序就是采用分治法的思想。

分解： ...]]></description><category></category></item><item><title><![CDATA[数据结构-栈的应用之中缀表达式的计算]]></title><link>https://blog.csdn.net/jaune161/article/details/105532722</link><guid>https://blog.csdn.net/jaune161/article/details/105532722</guid><author>jaune161</author><pubDate>Wed, 15 Apr 2020 13:08:47 +0800</pubDate><description><![CDATA[中缀表达式就是我们所熟悉的数学算式。如：3 + 6 - 18 / 2或3 + 3 * ( 26 - 16 / 2 ) / 2 + 2 - 20。
我们的目标是要实现一个计算器，来根据中缀表达式计算表达式的值。表达式由数字和+ - * / ()组成。使用两个栈来实现，一个数值栈，一个符号栈。
在这里我们假设表达式都是正确的，并且数值与符号之间由空格隔开。在代码中不再判断表达式的格式是否正确。
实现思...]]></description><category></category></item><item><title><![CDATA[数据结构-栈的使用之行编辑程序]]></title><link>https://blog.csdn.net/jaune161/article/details/105505586</link><guid>https://blog.csdn.net/jaune161/article/details/105505586</guid><author>jaune161</author><pubDate>Tue, 14 Apr 2020 09:59:17 +0800</pubDate><description><![CDATA[一个简单的行编辑器程序的功能是：接收用户从终端输入的程序或数据，对用户输入的一行数据做处理，#表示退格键，删除#前的一个字符。@表示@符号之前的数据均无效。
比如用户输入了 gosd##od实际有效字符是good，当用户输入了pgm@progre#am实际有效的是program。
思路分析
将一行的字符依次读入栈中，遇到#取出栈顶数据，若遇到@则清空栈。
实现

import java.util....]]></description><category></category></item></channel></rss>