- 博客(38)
- 收藏
- 关注
转载 设计模式_spring框架中常用的8种设计模式
Spring中默认存在以下事件,都是继承自ApplicationContext事件角色抽象类: ContextStartedEvent: ApplicationContext启动后触发的事件 ContextStoppedEvent: ApplicationContext停止后触发的事件 ContextRefreshedEvent: ApplicationContext初始化或者刷新后触发的事件 ContextClosedEvent: ApplicationContext关闭后触发的事件。
2023-08-16 16:54:51 201
原创 设计模式6--Facade Pattern(门面模式、外观模式)
门面模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。门面模式又称为外观模式,它是一种对象结构型模式。
2023-08-15 17:42:44 146
转载 设计模式5--Singleton Pattern(单例模式)
单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升,单例模式可以让程序仅在内存中创建一个对象,让所有需要调用的地方都共享这一单例对象。
2023-07-20 08:31:17 162
原创 java数组笔记
数组是具有相同数据类型的一-组数据的集合。例如,球类的集合一-足球、 篮球、羽毛球等;电器集合一电视机、 洗衣机、电风扇等。在程序设计中,可以将这些集合称为数组。数组中的每个元素具有相同的数据类型。在Java中同样将数组看作是一个对象,虽然基本数据类型不是对象,但是由基本数据类型组成的数组则是对象。在程序设计中引入数组可以更有效地管理和处理数据。可根据数组的维数将数组分为一维数组、二维数组…
2022-11-21 14:27:46 507
原创 java线程API
守护线程与普通线程的区别:守护线程是通过普通线程调用setDaemon(true)设置而来的主要区别体现在当java进程中所有的普通线程都结束时进程会结束,在结束前会杀死所有还在运行的守 护线程。
2022-10-31 09:01:38 196
原创 java集合框架
集合与数组一样,可以保存一组元素,并且提供了操作元素的相关方法,使用更方便.java.util.Collection是所有集合的顶级接口.Collection下面有多种实现类,因此我们有更多的数据结构可供 选择.这里可重复指的是集合中的元素是否可以重复,而判定重复元素的标准是依靠元素自身equals比较 的结果.为true就认为是重复元素.List集合get()与set()
2022-10-26 23:24:18 93
原创 java异常
当一个方法中使用throw抛出一个非RuntimeException的异常时,就要在该方法上使用throws声明这个 异常的抛出。当我们调用一个含有throws声明异常抛出的方法时,编译器要求我们必须处理这个异常,否则编译不通 过。2:程序执行遇到一个异常,但是该异常不应当在当前代码片段被解决时可以抛出给调用者。1:当程序遇到一个满足语法,但是不满足业务要求时,可以抛出一个异常告知调用者。throw用来对外主动抛出一个异常,通常下面两种情况我们主动对外抛出异常。
2022-10-26 23:16:41 120
原创 java--飞机大战6
1 新建工程 导入图片,导入的图片在工程目录下2 新建窗体,窗体大小400,600,新建画布,在画布类中实现三个接口3 在画布中声明线程,以及在run方法中搭建线程样例代码4 加载开始图片,声明Image变量,并在静态代码块中加载,在paint方法中画5 鼠标移动到开始框中的变化6 在点击的方法中切换背景,重画,开始线程.解决变小手问题.背景图片下滑完以后的处理。
2022-10-22 09:32:21 147
原创 设计模式4--Factory Method模式(把实例的生成交给子类)
在Factory Method模式中,父类决定实例生成方式,但并不决定所要生成的具体的类,具体的处理全部交给子类负责。这样就可以将生成实例的框架(framework)和实际负责生成实例的类解耦。
2022-10-10 09:09:34 98
原创 设计模式1--Iterator模式(一个一个遍历)
迭代器模式,提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。迭代器模式的本质是将遍历聚合对象中数据的行为提取出来,封装到一个迭代器中,通过专门的迭代器来遍历聚合对象的内部数据。
2022-10-07 20:18:54 321
转载 微服务12--Seata分布式事务
目录分布式事务问题解决分布式事务CAP定理BASE理论部署SeataSeata的架构部署TC服务Seata微服务集成TC服务异地容灾XA模式优缺点实现XA模式AT模式流程梳理AT与XA的区别脏写问题优缺点实现AT模式TCC模式优缺点空回滚业务悬挂实现TCC模式SAGA模式优缺点 在传统数据库事务中,必须要满足四个原则,我们把他称为 ACID 分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务,例如在数据库水平拆分、服务垂直拆分之后,一个业务操作通常要跨多个数据库、服务才能完成。例如电商行业中比
2022-09-03 16:17:58 1540 1
转载 微服务11--Sentine流量组件
默认情况下,发生限流、降级、授权拦截时,都会抛出异常到调用方。异常结果都是 flow limmiting(限流)。这样不够友好,无法得知是限流还是降级还是授权拦截。而如果要自定义异常时的返回结果,需要实现 BlockExceptionHandler 接口/*** 处理请求被限流、降级、授权拦截时抛出的异常:BlockException*/}HttpServletRequest request:request 对象HttpServletResponse response:response 对象。
2022-09-03 16:15:50 179
转载 微服务10--JMeter压力测试
JMeter 依赖于JDK,所以必须确保当前计算机上已经安装了 JDK,并且配置了环境变量。上面的配置只能保证本次运行是中文,如果要永久中文,需要修改 JMeter 的配置文件。在测试计划上点鼠标右键,选择「添加 > 线程(用户) > 线程组」其中的 bin 目录就是执行的脚本,其中包含启动脚本。打开 JMeter 文件夹,在 bin 目录中找到。在线程组这里点鼠标右键,添加 http 请求。默认 JMeter 的语言是英文,需要设置。在新增的线程组中,填写线程信息。解压缩即可使用,目录结构如下。
2022-09-03 16:11:56 435
转载 微服务9--Elasticsearch集群
单机的 Elasticsearch 做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。:集群(cluster):一组拥有共同的 cluster name 的 节点。节点(node) :集群中的一个 Elasticearch 实例分片(shard):索引可以被拆分为不同的部分进行存储,称为分片。此处,我们把数据分成3片:shard0、shard1、shard2主分片(Primary shard):相对于副本分片的定义。
2022-09-03 16:10:31 286
转载 微服务8--ELasticsearch搜索引擎
默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。character filters:在 tokenizer 之前对文本进行处理。例如删除字符、替换字符tokenizer:将文本按照一定的规则切割成词条(term)。例如 keyword,就是不分词;还有 ik_smarttokenizer filter:将 tokenizer 输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等。
2022-09-03 16:09:02 1650
转载 微服务7--RabbitMQ消息中间件
目录同步异步通讯MQ消息队列入门案例publisher实现consumer实现SpringAMQPBasicQueueWorkQueue发布/订阅FanoutDirectTopic消息转换器 微服务间通讯有同步和异步两种方式同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。我们之前学习的 Feign 调用就属于同步方式,虽然调用可以实时得到结果,但存在下
2022-09-03 15:59:07 381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人