logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Java 设计模式之组合模式

在 Java 组合模式中,抽象构件角色定义了所有叶子节点和容器节点共有的方法和属性,其中包括添加、移除子节点、获取子节点等方法。容器节点角色表示树形结构中的非叶子节点,它包含了其他的组合对象或叶子对象,可以用于组织和管理它所包含的子节点。定义容器构件(Composite)类,它是组合中的容器节点对象,它可以包含子节点,也可以有自己的方法和属性。在该类中通常包含一个用于存储子节点的容器。在客户端代码

#组合模式#设计模式
Java设计模式之适配器模式

Java 适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换为客户端所期望的另一个接口。这种模式可以让原本不兼容的接口能够一起工作。在 Java 中,适配器模式通常涉及到三个角色:目标接口(Target Interface):客户端所期望的接口,也就是客户端真正需要的接口。适配器类(Adapter Class):将不兼容的接口转换为客户端所期望的接口的类。适配

#设计模式#适配器模式
反转链表的Java实现

目录1、迭代法2、递归方式反转链表:输入:1->2->3->4->5输出:5->4->3->2->11、迭代法思路:遍历整个链表,当链表不为空时,每次取链表的第一个Node作为当前节点,修改当前Node的指针,重复此步骤,步骤解析如下:Java代码的具体实现步骤public static ListNode reverseNode_1(ListNode

#链表#数据结构
jstack-查找死锁,线程堆栈分析工具

jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出 java 应用程序中线程堆栈信息。jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。 线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以

redis实现分布式锁(案例)

目录1、业务场景引入2、基础环境准备3、Redis实现分布式锁4、分布式锁测试1、业务场景引入模拟一个电商系统,服务器分布式部署,系统中有一个用户下订单的接口,用户下订单之前需要获取分布式锁,然后去检查一下库存,确保库存足够了才会给用户下单,然后释放锁。由于系统有一定的并发,所以会预先将商品的库存保存在redis中,用户下单的时候会更新redis的库存。2、基础环境准备2.1.1.准备库存数据库-

#redis#分布式#数据库
SpringBoot+druid+aop动态数据源切换实现-修改中

目录一、核心类AbstractRoutingDataSource二、具体代码实现过程1、自定义数据源类DynamicDataSource2、切换操作类DynamicDataSourceHolder3、配置动态数据源DynamicDataSourceConfig4、定义注解DataSource5、数据源切换切面DataSourceAspect6、修改启动类->排除自动配置三、附录相关配置文件一

六种基本网络拓扑结构详解

常见的网络拓扑结构有以下6种:1.总线型网络拓扑结构;2.星型网络拓扑结构;3.环形网络拓扑结构;4.树型网络拓扑结构;5.网状网络拓扑结构;6.混合网络型拓扑结构。

#计算机网络
十分钟搞定时间复杂度(算法的时间复杂度)

算法复杂度算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。时间复杂度一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅

分布式ID生成工具类-雪花算法

目录一、分布式ID的特点二、分布式ID的常见解决方案三、雪花算法的概要四、雪花算法的实现雪花算法,在分布式架构中很常见,但一般也不需要怎么去深入了解,一方面一般个人项目用不到分布式之类的大型架构,另一方面,就算要用到,市面上很多ID生成器也帮我们完成了这项工作。一、分布式ID的特点(1)全局唯一性:不能出现有重复的ID标识,这是基本要求。(2)递增性:确保生成ID对于用户或业务是递增的。(3)高可

#算法#分布式
kafka的docker安装和压缩包安装——修改中

一、kafka的docker安装1、安装zookeeper运行kafka需要使用Zookeeper,所以你需要先启动Zookeeperdocker run -d --name zookeeper \-p 2181:2181 \-v /etc/localtime:/etc/localtime \wurstmeister/zookeeper2、安装kafkadocker run-d --name ka

#kafka#zookeeper#java +1
    共 40 条
  • 1
  • 2
  • 3
  • 4
  • 请选择