- 博客(32)
- 收藏
- 关注
原创 责任链(职责链)模式
实现抽象处理者的处理方法,判断能否处理本次请求, 如果可以处理请求就进行处理,否则将请求转给它的后继者。: 为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者。定义一个处理请求的方法,包含抽象处理方法和一个后继连接。当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止.具体处理者(Concrete Handler)角色。抽象处理者(Handler)角色。客户类(Client)角色。: 属于对象行为型模式。
2024-05-17 12:34:42 183
原创 SpringBoot2 JUnit5 单元测试
Unit Jupiter: JUnit Jupiter提供了JUnit5的新的编程模型,是JUnit5新特性的核心。内部包含了一个测试引擎,用于在Junit Platform上运行。JUnit Platform: Junit Platform是在JVM上启动测试框架的基础。注是springboot2.4版本及之后引入的功能。2.Spring的JUnit 5的基本单元测试模板。JUnit Vintage: 测试引擎。3.单元测试常用的基础测试注解。
2022-09-27 09:32:09 666
原创 BigDecimal 将字符串格式化成0000.00万元
/** * 把单位是元的价格格式化成000000.00万元 * eg:52810.199 1.028E7 支持科学计数法 * @param price * @return */ private static String priceFormat(String price) { if (price == null) { return ""; } final BigDecima...
2022-05-30 14:31:35 697
原创 【Java基础】自定义异常的理解
异常的一些基础知识异常总类 Throwable分为 错误Error 和 异常ExceptionError: 虚拟机爆出来的错误,是程序没法处理的错误,如OutOfMemoryError,当JVM须要更多内存空间而得不到知足时,就会爆出OutOfMemoryError异常Exception 可查异常与不可查异常,运行时异常与非运行时异常RuntimeException运行时异常 空指针,数组越界,除数为0其它直接子类都归为非RuntimeException,如IOException,SQ..
2022-01-27 11:24:51 936
原创 分布式缓存(四)分布式锁 - Redisson
概述:Redisson是一个在Redis的基础上实现的Java驻内存数据网格,它不仅提供了一系列的分布式的java常用对象,还提供了许多分布式服务,包括Map,List,Set,Lock.测试使用:<!-- Redisson分布式锁--><dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> &l
2021-12-20 20:24:33 338
原创 分布式缓存(三) 分布式锁的原理与使用
本地锁只能锁住当前进程,所以我们需要分布式锁Redis: SET key value [EX] [NX] [XX]其中:EX:设置过期时间 NX:Only set the key if it does not already exist. 当redis中没有这个key的时候才去设置这个key在docker中模拟:向5个客户端发送(docker环境): docker exec -it redis redis -cli 以命令行的方式进入redis会话中...
2021-12-20 20:17:38 1195
原创 canal
阿里的canalgithub地址:https://github.com/alibaba/canalcanal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。基于日志增量订阅和消费的业务这里主要针对
2021-10-24 12:13:23 72
原创 kafka的学习总结
1.什么是kafka?1.1 名字由来 搞这个玩意的开发喜欢读卡夫卡的小说,但我连变形记都看不下去一章,妈的1.2 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据,这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。...
2020-03-26 16:18:22 125
原创 dubbo的学习总结
1.什么是dubbodubbo是一个分布式服务架构,致力于提供高性能和透明化的RPC远程服务调用方案,是SOA服务化治理方案的核心框架。分布式服务架构RPC:应用之间产生交互,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能够快速的响应多变的市场需求。流动计算架构:当服务越来越多,容量的评估,资源的浪费等问题显现,此时增加一个调度中心基于访问压力实时管理集群容量...
2020-03-26 15:55:41 208
原创 ZooKeeper的学习总结
1.ZooKeeper是什么?Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似M...
2020-03-25 08:18:38 138
原创 【java基础】java的反射机制
1.简介 java的反射机制是java的特性之一,反射技术是构建框架技术的基础所在。 java的反射机制,是指在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意属性和方法,这种动态获取信息以及动态调用对象方法的功能叫做java的反射机制。 基础知识补充:要想java程序能够运行,java类必须被java...
2019-07-08 19:37:51 123
原创 关于SQL优化的总结
最近面试中问到了数据库SQL优化的问题,答得不是很好,故总结一下。主要针对数据库索引来展开。用索引提高效率:索引是表的一个概念部分,用来提高检索数据的效率,ORACLE使用了一个复杂的自平衡B-tree结构. 通常,通过索引查询数据比全表扫描要快. 当ORACLE找出执行查询和Update语句的最佳路径时, ORACLE优化器将使用索引. 同样在联结多个表时使用索引也可以提高效率. 另...
2019-03-23 17:35:01 105
原创 关于DIV+CSS布局的一些小总结
*{ padding:0; margin:0;} .container{ width:630px; height:240px; overflow:hidden; position:relative;} .slider{width:630px; position:absolute;} .slider li{width:630px; float:left;} .slider ...
2018-08-28 15:30:46 203
原创 jQuery内置的几种动画样式
show() show(3000)hide() hide(5000)toggle()方法则根据当前状态决定是show()还是hide() slideUp()slideDown()slideToggle()则根据元素是否可见来决定下一步动作 fadeIn()fadeOut()fadeToggle()则...
2018-08-08 16:52:28 987
原创 Spring框架的学习
第一次学习,跟着视频,辅助以CSDN和javaweb这本书来完成,尽量不要空过太多的东西,学习时间安排为4天。1.什么是Spring框架Spring是分层的JavaSE/EE应用一站式的轻量级开源框架,以Ioc(Inverse of control)控制反转和Aop(Aspect Oriented Programming)面向切面编程为核心。Spring同时也是一个“一站式”框架,即Spring在...
2018-06-18 23:07:00 132
原创 实体关联关系映射
在hibernate中,通过映射将持久化类和数据库表来进行关联。关联是类(类的实例)之间的关系,表示有意义和值得关注的连接。1.多对一单向关联类product引用了类factory,但是类factory没有引用类product。映射文件的配置<many-to-one name="factory" class="类的详细地址"> //多对一关联映射<column n...
2018-06-14 19:01:36 1629
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人