自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(240)
  • 资源 (3)
  • 收藏
  • 关注

原创 设计模式-装饰器模式

装饰器设计模式(Decorator Pattern)是一种结构型设计模式,它允许你通过将对象包装在一个装饰器类中来动态地扩展其功能。装饰器模式能够在不改变原有对象的情况下,通过添加新的装饰器类来增加对象的功能。在装饰器模式中,有一个抽象组件(Component)接口,定义了被装饰对象和装饰器对象的共同行为。然后有一个具体组件(ConcreteComponent)类,实现了抽象组件接口,并定义了基本的功能。接下来,有一个抽象装饰器(Decorator)类,也实现了抽象组件接口,并持有一个抽象组件对象的引用。

2023-10-24 21:28:50 463

原创 设计模式-原型模式

原型设计模式(Prototype Pattern)是一种创建型设计模式,它用于创建对象的克隆副本,而无需通过实例化对象的方式。该模式通过复制现有对象的原型来创建新的对象,从而避免了使用new关键字实例化对象的过程。在原型设计模式中,一个原型对象作为模板,通过克隆的方式创建新的对象。原型对象是一个已经存在的对象,它包含了需要被复制的属性和方法。通过复制原型对象,可以创建新的对象,而且这个新的对象与原型对象具有相同的属性和方法。

2023-10-19 21:09:15 480

原创 设计模式-适配器模式

适配器设计模式是一种结构型设计模式,它允许将一个类的接口转换为客户端所期望的另一个接口。适配器模式可以解决由于接口不兼容而无法合作的问题。适配器模式的核心思想是通过一个适配器类来实现接口的转换。适配器类实现了客户端所期望的目标接口,并将其方法委托给另一个已有的类,该类实现了需要适配的接口。目标接口(Target):定义客户端所期望的接口。需要适配的类(Adaptee):具有一个不兼容的接口,需要被适配。适配器类(Adapter):实现目标接口,并将方法委托给需要适配的类。

2023-09-29 22:47:54 638

原创 设计模式-组合模式

组合模式是一种结构型设计模式,它允许将对象组合成树状结构来表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。在组合模式中,有两种主要类型的对象:叶子对象和组合对象。叶子对象是没有子对象的基本对象,而组合对象是包含子对象的复合对象。组合对象可以是叶子对象或其他组合对象的集合。组合模式的主要思想是通过将对象组合成树状结构来表示对象之间的整体-部分关系,使得用户可以统一地处理单个对象和组合对象。这种设计模式可以使得客户端代码更加简洁,不需要对单个对象和组合对象进行特殊处理。

2023-09-29 22:47:01 738

原创 设计模式-建造者模式

建造者模式是一种创建型设计模式,它允许你按照特定的步骤创建复杂对象。它将对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常用于创建具有复杂结构的对象,例如需要多个步骤或多个部件来构建的对象。它将构建过程分解为一系列的步骤,每个步骤都有一个具体的建造者来完成。最终,所有的步骤都被组合在一起,形成一个完整的对象。产品(Product):要创建的复杂对象,它由多个部件组成。抽象建造者(Builder):定义了构建产品的抽象接口,包括各个部件的构建方法。

2023-09-27 21:34:23 364

原创 idea设置项目启动的JVM运行内存大小

在开发当中,idea默认服务启动要占用1G内存。其实每个项目本地开发和调试的时候,根本不需要1G内存,200M左右足以。刚好本人的电脑只有8G,公司的微服务项目启动后,电脑风扇疯狂的转动。如果在微服务体系下,那效果更明显,相同的内存可以启动更多的服务。

2023-09-18 21:15:58 3612

原创 springcloud相关面试题

Eureka作为SpringCloud的服务注册功能服务器,他是服务注册中心,系统中的其他服务使用Eureka的客户端将其连接到Eureka Service中,并且保持心跳,这样工作人员可以通过Eureka Service来监控各个微服务是否运行正常spring cloud bus 将分布式的节点用轻量的消息代理连接起来,它可以用于广播配置文件的更改或者服务直接的通讯,也可用于监控。如果修改了配置文件,发送一次请求,所有的客户端便会重新读取配置文件。使用:1、 添加依赖2、 配置rabbimq。

2023-09-13 21:42:58 152

原创 设计模式-策略模式

策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,将每个算法封装起来,并使它们可以互相替换。策略模式使得算法可以独立于使用它的客户端而变化。总之,策略模式可以帮助我们将算法的定义、使用和变化分离开来,提高代码的可维护性和扩展性。

2023-09-09 22:07:33 614

原创 jwt和token的区别

需要注意的是,无论是Token还是JWT,都需要注意安全性,例如使用HTTPS来保证传输过程的安全性,以及适当地设置Token或JWT的过期时间,避免被恶意使用。而一般的Token没有这种机制,只能通过验证Token的合法性来确保安全性。JWT是无状态的,即服务端不需要保存任何用户信息,只需验证JWT的签名即可。总的来说,JWT是一种更安全、更灵活、更轻量级的身份验证机制,适用于分布式系统和无状态的API。JWT可以存储更多的信息,例如用户的角色、权限等,而一般的Token只能存储有限的信息。

2023-09-07 21:51:00 1931

原创 分布式锁的实现

分布式锁是一种用于协调分布式系统中多个进程或线程之间对共享资源的访问的机制。在分布式系统中,多个进程或线程同时访问共享资源可能会导致数据不一致或并发冲突的问题。分布式锁通过保证在同一时间只有一个进程或线程能够访问共享资源,从而解决了这些问题。

2023-09-06 11:11:34 147

原创 手摸手2-springboot编写基础的增删改查

实现 test 表中的添加、修改、删除及列表查询接口(未分页)

2023-09-01 21:43:09 464

原创 Relying upon circular references is discouraged and they are prohibited by default.

不鼓励依赖循环引用,并且默认情况下禁止循环引用。更新应用程序以删除bean之间的依赖循环。作为最后的手段,可以通过设置spring.main来自动打破这个循环。允许循环引用为true。提示中已经把解决方案说了 setting spring.main.allow-circular-references to true.在springboot2.6正式发布,循环依赖默认静止了。我这里是 yml配置,加上后重启就正常运行了。如果是 properties 配置文件。如果是 yml 配置文件。

2023-08-14 22:00:08 196

原创 35岁程序员体能下降,没用了?

笔者本人已经35岁以上了,明显的能感觉到身体相对于30岁以前的话,体能确实下降了不少。但是说实话,有班上就上班,没班上,总会有出路的,上班只是生命的一部分,不是必要部分。身体是自己的,还是要平时注意。而且需要会的多,也没有什么导师之类的,没有人会教你。主要也是看公司,有些公司在乎结果,活干完就不会玩加班那一套,有些老板在乎过程,需要你哄他,喜欢看你加班。甚至坐久了会腰疼、睡眠困扰开始加重,在众多的归因中,仿佛35岁的到来,会为一切的焦虑埋下伏笔。有条件的话还是要注意身体的健康,适当的运动很是有必要的。

2023-08-14 13:28:27 148

原创 mybatis-plus常见的几个注解

ASSIGN_ID 分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法)这里的nick_name 是数据库里的字段名,有的时候我们在该实体类中添加的字段但在数据库表中是没有的,但有些依赖又需要保持一致。这里的主键type一般都是数据库id自增即 AUTO,还有其他属性,NONE用的也比较多。

2023-08-11 13:37:17 353

原创 idea添加作者信息

不过我们在新建文件的时候可以添加头的自定义信息我们从 File->setting中进入配置,在Editor->File and Code Templates ,选择 Includes ,在其中添加自定义的作者信息些时我们再新建文件的时候就会有个自定义的作者信息了。

2023-08-10 16:00:39 1305

原创 ruoyi-cloud微服务新建子模块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wwo9oUxH-1691631133435)(C:\Users\保护人员\AppData\Roaming\Typora\typora-user-images\image-20230809163124196.png)]直接复制 modules下面已有的system模块,改名为 test。把原有的system 修改成test。

2023-08-10 09:32:30 1503 2

原创 idea常用插件

当我们在写代码的时候,其实很多基础的代码都可以直接生成的,个人比较喜欢用easycode,该插件可以自己自定义生成基础的增删改查,有提供的模板,但个人建议最好还是自己写个模板,能符合自己的项目。定制性更强,而且该代码能直接生成到项目中选择连接的数据库,右击使用。

2023-08-09 12:50:36 1852

原创 idea中如何处理飘红提示

把鼠标放在飘红的提示上面,我们选择 more action->Go to sql resolution Scope。进入界面,把默认的 All Data Sources 勾选去掉,然后选择对应的数据库,就能把默认的飘红给解决掉。再次修改时可以到 file->setting->sql resolution Scope 中进行修改。查找资料,大部分都是说关提示,这里把错误提示选择为None即可。关掉以后,也确实不显示任何提示了,但总有一种掩耳盗铃的感觉。在写sql时,总是会提示各种错误。

2023-08-08 13:21:33 1027

原创 手摸手1-整合SpringBoot+MyBatis搭建基本骨架

整合SpringBoot+MyBatis搭建基本骨架1、使用IDEA初始化一个SpringBoot项目

2023-06-25 10:18:07 68

原创 springboot防重复提交

一般接口提交时会有token验证,表明该请求是合法一个用户。后端可以通过 用户token+类+方法来判断是否是重复请求。RepeatSubmitTestController 文件。

2023-06-16 14:00:24 1996

原创 window下安装docker并运行angular项目

但是测试服上面的node 版本是 14.19.3,angular 是1.0.0-beta.28.3 ,会导致angular项目的 ng build 打包不了。但是不能升级版本,因为这个测试服务器上面的东西也是接手离职同事的,不知道上面都有些啥,所以打算利用docker重新安装一套打包环境。D:\projects\mechanic-pc-angular 是本地的项目路径映射到容器的 /mechanic-pc-angula 路径。这个安装程序是默认安装到c盘的,但是c盘的空间不够,我想安装到d盘。

2023-06-12 21:42:34 1416

原创 windows下安装rabbitmq

在Path变量中加入信息。

2023-05-23 14:18:53 821

原创 公司已有springboot项目引入swagger

官网:https://swagger.io/Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。

2023-05-19 14:44:29 969

原创 windows下搭建局域网的mysql

场景:公司的需要搭建一个局域网的mysql服务器,利用phpstudy傻瓜式安装后,用本机访问,提示 1130 - Host ‘DESKTOP-IRSGN4A’ is not allowed to connect to this MySQL servermysql 安装软件首先我们需要进入mysql的安装目录下 D:\projects\tools\phpstudy_pro\Extensions\MySQL5.7.26\bin>,如果不是该目录下,输入命令会提示没有mysql然后运行 mysql -u roo

2023-05-12 11:01:34 726

原创 windows下安装rabbitmq

在Path变量中加入信息。

2023-05-07 21:48:42 286

原创 nacos搭建

这里我们再次访问地址 http://localhost:8848/nacos/#/login ,就会发现有登录界面了,这里用户名和密码都默认帮我们填写好了,默认的账号密码都是 nacos。解压后,进入到文件夹nacos->bin 下,我这里用的电脑是windows的,就双击startup.cmd文件。上面的默认的端口号是8848,如果本地已经占用了这个端口号,就可以修改下nacos的属性来改变这个端口号。点击登录,就能看到对应的界面了,这里默认是英文的,可以点击右上角的 中,切换到中文。

2023-04-27 16:05:10 1262

原创 java 长度为2 for循环只循环了一次

在你的代码中,你在遍历userList时,又尝试移除其中的元素。因此,如果你想要安全地从列表中删除元素,你应该使用一个Iterator来遍历列表,并调用Iterator的remove()方法来删除元素,而不是直接在列表上进行修改。在Java中,当你在循环一个列表的同时又对该列表进行修改时,就会抛出一个ConcurrentModificationException异常。这是因为在遍历列表时,迭代器记录了列表中元素的数量和状态,并且期望在列表的生命周期内保持一致性。

2023-04-26 15:19:32 284

原创 springcloud alibaba创建工程

springcloud 从零搭建

2023-04-23 20:23:36 88

原创 AI的应用对软件行业带来的机遇

人工智能技术可以帮助开发人员更快速地构建应用程序。例如,使用人工智能技术可以加快数据预处理和数据分析的速度,这可以为开发人员提供更快的反馈和更准确的数据。此外,使用人工智能技术可以快速地优化应用程序的性能,这可以使应用程序更快速地运行和响应用户需求。总的来说,人工智能技术可以大大提高软件开发的效率和质量,并且可以使软件更加自适应和灵活。人工智能技术可以使软件更加自适应,例如基于机器学习和人工智能技术,可以开发出自适应软件,能够根据用户行为和环境变化进行自动调整,以适应不同的用户需求和应用场景。

2023-04-08 14:05:12 229

原创 window下正常的springboot到mac下运行却报错

这里报依赖包错误,这可能是由于不同操作系统环境下的依赖库版本不同,导致在 Mac 上需要进行依赖版本的修改。Maven 依赖的版本可能会受到操作系统环境和系统中其他软件包的影响。这些不同的环境和软件包可能会影响项目中使用的依赖库的版本和行为。例如,如果项目中使用了与 Windows 操作系统相关的依赖库,那么在 Mac 上可能需要更新依赖库的版本或者切换到 Mac 相关的依赖库。这是因为依赖库版本之间可能存在不兼容性,这会导致在不同的操作系统上出现不同的行为。

2023-03-18 17:41:35 374

原创 leetcode 104. 二叉树的最大深度(java实现)

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。给定一个二叉树,找出其最大深度。

2023-03-11 12:09:25 90

原创 leetcode 101 对称二叉树(解法)

给你一个二叉树的根节点 root , 检查它是否轴对称。

2023-03-10 22:45:00 93

原创 leetcode 94 二叉树的中序遍历(java实现)

给定一个二叉树的根节点 root ,返回 它的 中序 遍历。

2023-03-09 16:04:51 54

原创 leetcode-70 爬楼梯(java实现)

如果要爬上第n阶,要么是从第n-1上面再爬1阶上去的,要么是从n-2上面再爬2阶上去的,那么我们就可以想到 f(n) = f(n-1)+f(n-2),这样也就很容易利用递归写出来。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?提交后,leetcode 平台提示运行失败,超时了。需要 n 阶你才能到达楼顶。本地是能正常输出的,不过确实慢。

2023-03-08 19:42:54 555

原创 leetcode-21合并两个有序链表(java实现)

这里我们使用递归解法,其实我们要注意题目初定义的ListNode的结构。这里提前定论了一个 ListNode类,这个要注意其结构。

2023-03-07 21:44:15 52

原创 leetcode-20有效的括号(java实现)

这里就是不停的替换,替换到不能再替换为止,再看最后的长度是否为零,这个解法的好处就是容易理解,也容易记住,缺点就是执行时间长,效率低。这里的思路是不对的,如果不需要顺序想对应的话,这种是可以的,但不符合顺序的条件。

2023-03-05 22:36:48 55

原创 letcode-1 两数之和(java实现)

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。最先想到的就是两个for循环,反正一直匹配就可以了,但是两个的位置肯定是不一样的,所以还得加上 i!你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

2023-03-05 17:45:05 35

原创 把公司的ruoyi项目mybatis升级到mybatis-plus

原来的MyBatisConfig.java需要删除掉,这里是ruoyi的包名,如果项目包名修改了,请修改成自己对应的包名,到这里基本上就升级成功了。之前的代码不需要动,如果想使用mybatis-plus的话,可能和之前调用有些不一样,这里做下提示。把之前的 mybatis的相关配置给删除掉,使用这个配置代替。

2023-03-01 14:16:01 1130

原创 mac下使用svn

mac 下使用svn ,常用的命令

2023-02-28 22:09:10 109

原创 完美解决SpringBoot上传图片之后,需要重服务才能访问

【代码】完美解决SpringBoot上传图片之后,需要重服务才能访问。

2023-02-28 15:52:41 360

人人都是架构师

《人人都是架构师:分布式系统架构落地与瓶颈突破》并没有过多渲染系统架构的理论知识,而是切切实实站在开发一线角度,为各位读者诠释了大型网站在架构演变过程中出现一系列技术难题时的解决方案。《人人都是架构师:分布式系统架构落地与瓶颈突破》首先从分布式服务案例开始介绍,重点为大家讲解了大规模服务化场景下企业应该如何实施服务治理;然后在大流量限流/消峰案例中,笔者为大家讲解了应该如何有效地对流量实施管制,避免大流量对系统产生较大冲击,确保核心业务的稳定运行;接着笔者为大家讲解了分布式配置管理服务;之后的几章,笔者不仅为大家讲解了秒杀、限时抢购场景下热点数据的读/写优化案例,还为大家讲解了数据库实施分库分表改造后所带来的一系列影响的解决方案。

2018-07-12

用php函数制作的桌面背景用于记忆

用PHP常用函数做桌面背景,方便记忆!php函数汇总,图片形式,可以设为桌面,加强记忆

2013-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除