- 博客(82)
- 收藏
- 关注

原创 并查集的合并操作
并查集的合并操作例题:CodeForces - 566D D - Restructuring Company题目需要注意:并查集合并的时候并不是简单地两个点之间的合并,其中还加入了区间的操作,如果还是按照原来的合并操作,那么时间复杂度会比较高提示:提示:很显然是并查集,只是type==2是对应的是区间操作,但发现如果是在一个集合里了还要操作就是浪费,可以把已经在一个区间的压缩,用一个p...
2018-11-02 16:01:31
2228
原创 jenkins自动化构建docker镜像并上传至harbor仓库
首先进入jenkins之后需要现在“Maven”、“GitLab”、“Jdk”、“SSH”、“Git”的相关插件,这里不再赘述,需要什么插件直接安装即可搜索对应插件后选择直接安装即可。
2024-08-04 19:48:42
2276
原创 虚拟机(CentOS7)安装gitlab
虚拟机中输入以下命令 vim /etc/gitlab/gitlab.rb输入虚拟机刚刚分配的ip地址,并为GitLab服务分配端口号,图片中分配的是9090端口,可按自己的实际情况进行分配。
2024-07-31 14:50:30
849
原创 windows环境下安装docker与jenkins进行单机简易安装
在windows环境下使用win + R键并输入“cmd”打开命令提示符界面通过输入"git --version"即可查看当前环境下安装的git版本,如系统正确输出git版本也表示git安装成功此外通过输入“git --help”可以查看git相关的命令,在之后的开发需求代码开发过程中,红框内的命令是比较经常使用到的命令,我们可以在IDEA编辑器中通过手动键入命令的方式实现代码的克隆、拉取、提交、推送等功能,也可以通过IDEA中集成的git插件通过鼠标点击的当时实现相同的功能。因为docker一
2024-07-31 14:00:56
905
原创 响应式编程R2DBC(响应式数据库)——学习
前端、后端:Controller–Service–Dao(r2dbc:mysql)上述代码中的.bind是用来绑定查询条件的,指定查询某条数据。Web、网络、IO(存储)、中间件(Redis、MySQL)~存储:Mysql、Redis。上述只适用于单表复杂查询。
2024-06-13 20:21:18
231
原创 响应式编程WebFlux——学习
WebFlux:底层完全基于netty+reactor+springweb完成一个全异步非阻塞的web响应式框架。以前:浏览器–>Controller–>Service–>Dao:阻塞式编程。底层基于Netty实现的Web容器与请求/响应处理机制,详情可看官网。底层:异步 + 消息队列(内存) + 事件回调机制 = 整套系统。webFlux:向下兼容原来SpringMVC的大多数注解和API。底层:需要自己编写响应式编码。Mono:返回0|1数据流。(1)、引入(导入依赖)(2)、最原生的方式。
2024-06-13 16:09:33
371
原创 响应式编程Reactor——学习2
merge是合并,concat是拼接追加,zip流进行结对操作(编程元组的类型,最多支持8流压缩)默认:subscribe消费者可以感知 正常元素try与流发生的错误catch。concatWith:老流拼接新的流,连接的流和老流中元素的类型相同。默认还是当前线程,生成整个流、发布流、订阅流、流操作。concatMap:一个元素可以 变很多单个。响应式:响应式编程、全异步、消息、事件回调。流拼接操作,对于元素类型无限制。使用案例使用手册有,较为简单。timeout与retry。
2024-06-12 15:02:39
400
原创 响应式编程Reactor——学习1
消费者调用cancel()方法,在重写的时候hookOnNext()的时候添加Cancel()操作。摒弃一般的for循环、while编码方式,改为事件回调机制。onNext:当某个元素到达后,我们可以定义它的处理逻辑。数据流:每个元素从流的源头,开始远远不断,自己往下滚动。** 弹珠图在idea中看懂很重要**2、变化传播:数据操作(中间操作)高并发有三宝:缓存、异步、队排好。高可用有三宝:分片、复制、选领导。3、异步编程模式:底层控制异步。非阻塞的原理:缓冲 + 回调。1、数据流:数据源头。
2024-06-12 08:53:10
397
原创 JUC并发编程-02-CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMao、Callable
02
2022-10-04 10:53:46
113
原创 Redis三种特殊数据类型
geospatial地理位置朋友的定位,附近的人,打车距离计算?Redis的Geo在Redis3.2版本就推出了,这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人可以查询一些测试数据6个命令GEOADD#getadd添加地理位置#规则:两极无法直接添加,一般会下载城市数据,直接通过java程序一次性导入!#参数,key,值(纬度、经度、名称)127.0.0.1:6379> GEOADD china:city 116.40 39.90 beijing(integer)
2022-04-16 09:04:52
166
转载 lecture2
Why use GO很多系统风格的语言可以选择,比如Java、C#、Python、C++。Go像其他语言一样,提供了很多features,比如thread线程、locking、synchronization(同步),尤其是RPC(remote procedure call)包,非常方便实用。与C++不同,Go Type safe and memory safe,编程内存问题会少很多,垃圾回收机制也会帮助我们进行内存管理避免错误。***Combination of threads and garbage
2022-04-15 11:44:27
140
转载 lecture1:Intro、MapReduce
lecture1先对分布式系统的设计进行了概述,然后介绍了MapReduce的案例Intro为什么要使用分布式系统?1、追求高性能,通过分布式系统进行并行计算2、使系统具有容错性,一台计算机计算错误,可以转移到另一台计算机3、一些问题本身具有分布式的特性,需要多台计算机互相协作,比如转账4、安全性考虑,将程序分几部分运行在不同的计算机上分布式系统复杂的原因?1、分布式系统由很多部分组成,各部分并发工作,交互复杂2、局部失败问题3、性能问题,性能不会随规模成比例提升分布式系统的几个部分
2022-04-14 16:28:24
88
原创 Redis哨兵模式
自动选举老大的模式概述主从切换技术的方法是︰当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。Redis从2.8开始正式提供了Sentinel (哨兵)架构来解决这个问题。谋朝篡位的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送
2022-04-13 11:27:28
1289
原创 Redis缓存穿透和雪崩
服务的高可用问题Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。缓存穿透(查不到)概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询.
2022-04-13 11:19:43
130
原创 Redis五大数据类型
Redis-Keyttl name查看当前key的剩余时间查看当前key的类型String(字符串)90%的java程序员使用redis只会使用String类型!(避免)127.0.0.1:6379> set key1 v1 #设置值OK127.0.0.1:6379> get key1 #获得值"v1"127.0.0.1:6379> keys * #获得所有的值1) "key1"127.0.0.1:6379> EXISTS key1 #判断某一个key是否存在
2022-04-07 10:43:08
901
原创 ajax使用
基本格式1.在页面中编写发送请求的方法,点击事件来完成,选中对应的按钮( $ (“选择器”)),再去添加点击事件,$.ajax()函数发送异步请求。2.JQuery封装了一个函数,称之为 $ .ajax()函数,通过对象调用ajax()函数,可以异步加载相关的请求。依靠的是javascript提供的一个对象XHR(XmlHttpResponse),封装了这个对象。3.ajax()使用方式。需要传递一个方法体作为方法的参数来使用,一对大括号称之为方法体。ajax接收多个参数,参数与参数之间要求使用“,”
2022-01-12 10:35:37
163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人