- 博客(49)
- 收藏
- 关注
原创 kafka
Message Queue(MQ),消息队列中间件。很多人都说:MQ 通过将消息的发送和接收分离来实现应用程序的异步和解偶,这个给人的直觉是——MQ 是异步的,用来解耦的,但是这个只是 MQ 的效果而不是目的。MQ 真正的目的是为了通讯,屏蔽底层复杂的通讯协议,定义了一套应用层的、更加简单的通讯协议。一个分布式系统中两个模块之间通讯要么是HTTP,要么是自己开发的(rpc) TCP,但是这两种协议其实都是原始的协议。
2024-11-05 17:35:14
441
原创 AS技术探索
AS技术探索一.在as中使用java中自定义方法导入单一的自定义方法有不少1.自定义函数1.1 参数固定:继承AbstractFunction类并override相应方法即可。 public class TestAviator { public static void main(String[] args) { //注册函数 AviatorEvaluator.addFunction(new AddFunction
2024-11-05 17:34:43
333
原创 把时间当作朋友
time-as-a-friend/Chapter3.md at master · xiaolai/time-as-a-friend一.醒悟二.现实1.速成绝无可能2.交换才是硬道理3.完美永不存在没有人是完美的,完美是脆弱的,不现实的要学会忍耐各种不完美4.未知永远存在人类对未知的恐惧早已根深蒂固,一切未知将都会严重威胁人们的安全感人们总想得到清晰的答案,我们总是在现状中无法理解那些“未知”。方法论:你需要在未知中不断前行,在你深思熟虑后仍然无法得到答案,这时放弃思考,把它
2024-11-05 17:34:13
379
原创 Quartz定时任务
Quartz是一个功能丰富的开源任务调度库,用于在Java应用程序中进行任务调度。它提供了一种灵活而强大的方式来定义和安排任务的执行时间,支持周期性任务、延迟任务、固定间隔任务等。**灵活的任务调度:**Quartz可以根据各种调度规则定义任务的执行时间,如固定延迟、固定间隔、Cron表达式等。可以轻松地创建简单或复杂的任务调度方案。**分布式调度支持:**Quartz支持分布式任务调度,可在多个节点上运行并协调任务的执行。这种分布式架构提供了可靠、高可用的任务调度解决方案。
2024-11-05 17:33:00
761
原创 实现分布式锁
锁主要用于单个 JVM 内的线程同步,而分布式锁用于分布式系统中多个服务器或进程之间的同步Redis虽然作为分布式锁来说,性能是最好的。线上都是用Redission实现分布式锁,Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson是基于netty通信框架实现的,所以支持非阻塞通信,性能优于Jedis。Redisson 是 Redis 的客户端。
2024-11-05 17:31:50
437
原创 RocketMQ
RocketMQ是一个统一消息引擎、轻量级数据处理平台。RocketMQ是⼀款阿⾥巴巴开源的消息中间件,双十一承载了万亿级消息的流转支持集群模型、负载均衡、水平扩展能力亿级别消息堆积能力采用零拷贝的原理,顺序写盘,随机读 -nio,零拷贝底层通信框架采用Netty NIO - nio通讯模型—Netty -redis-kafaka/rocketmqNameServer代替Zookeeper,实现服务寻址和服务协调消息失败重试机制、消息可查询。
2024-11-05 17:28:41
386
原创 日志框架选型
日志门面框架含义:只提供了日志使用接口,并没有实现接口,具体的实现需要绑定日志实现框架日志实现框架含义:即实现了日志打印的功能的框架有利于根据自己实际的需求更换具体的日志系统。比如,之前使用的具体的日志系统为log4j,想更换为logback时,只需要删除log4j相关的jar,然后加入logback相关的jar和日志配置文件即可,而不需要改动具体的日志输出方法。解耦性,可维护性(有实现日志框架有问题可以随时更换),标准化接口常用的日志框架组合方式:Slf4j+logback。
2024-11-05 17:28:10
386
原创 Maven相关依赖设置
(1)MultiMap</</</</(2)是 Apache Commons 项目中的一个组件,它提供了一系列实用的工具类和方法,用于处理 Java 语言中的常见任务。
2024-11-05 17:27:40
754
原创 算法练习记录
dp(完全,线性,树状,状压,数位)>= 搜索 == 基础算法(二分,前缀和,高精度,公约数,公倍数,质数,排序) > 数据结构(树的构造,树的遍历,公共祖先,链表,树状数组,队列) > 图论(并查集,diji,floyd,prim,拓扑) ≈ 数论C++ 头文件数据流输入/输出:cin>>,cout<<的头文件:#includec语言输入流:#include <stdio.h>算法类函数:sort()…的头文件 #include各个数学函
2024-11-05 17:22:25
686
原创 C++STL容器
字符对应的ascll码从65 - 90为大写,97 - 122 为小写,48 - 57 对应字符的0 - 9。排序前闭后开,使用引用。
2024-11-05 17:20:44
423
原创 标准化行为范式(阿里健康实习收获)
文档总分,核心有“理”,有“据”,自我提问,图形化, 同时写下所有流程性思考语言。理解需求全貌(上下游,人员分配)很重要,业务问题多次询问时需进行反思。
2024-11-05 17:14:46
892
原创 集合常用api
ArrayList是一个动态数组,允许快速随机访问元素。LinkedList实现了List接口,同时还具有队列和栈的操作方法。nullHashSet是基于哈希表实现的集合,不允许重复元素。add(E e)HashMap是基于哈希表实现的键值对映射。HashMapSetCollectionMapHashMapoldValuenewValuenullHashMapHashMapHashMapTreeSet是基于红黑树实现的有序集合。
2024-08-08 10:09:21
1109
原创 PAT甲级词汇分享
如果序列{A[1], A[2], …},如果存在k>=1,使得对任意的i < k都有A[i] == B[i],而A[k] < B[k]成立,那么就称为方案A比方案B小。5. istinct 清晰的,明显的,不同的。8. general 通用的,普遍的,普通的。
2023-11-19 00:56:11
476
1
原创 AVL树自平衡,白话讲解
一个平衡因子小于等于1的BST树小三角形为新插入的节点,圆形为节点,长方形为以h为长度的h个节点以下都是对于根节点而言的平衡。
2023-11-13 19:07:27
183
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人