- 博客(79)
- 资源 (12)
- 收藏
- 关注
原创 组队助力类逻辑判断
3、您的助力次数已用完(已助力过别的好友)4、您的好友邀请人数已满。1、不能加入自己的队伍。2、您已助力过该好友。3、已经加入别的队伍。
2024-09-25 10:36:34
146
原创 Spring事务
Transactional注解解构了业务逻辑和事务管理,简化了对事务的编程处理,但使用时应注意其运行机制,避免出现不符合预期的情况。还有不要忽略方法上的@Transactional注解,避免在有@Transactiona注解的方法内部进行外部调用等耗时操作,避免由此产生的大事务。参考文档。
2024-07-29 09:58:07
595
原创 HTTP超时时间设置
在进行超时时间设置之前我们需要了解一次http请求经历的过程在客户端和服务器之间通常有一层网关来负责路由和负载均衡:DNS和TCP的超时时间通常由系统指定,DNS默认为5s,TCP建了超时默认为127s。
2024-05-11 19:28:41
5705
2
原创 React学习
快速入门 – React 中文文档GitHub - typescript-cheatsheets/react: Cheatsheets for experienced React developers getting started with TypeScript
2023-08-13 19:16:20
77
原创 docker常用命令
image相关docker build -t runoob/ubuntu:v1 . //创建镜像docker images -a //查看镜像container相关docker run进入docker命令行docker attach c7188be9bd7b //退出Ctrl+p+qdocker exec -it c7188be9bd7b /bin...
2021-06-06 15:48:23
112
原创 git笔记
一、安装与配置1、安装如果你想在 Linux 上用二进制安装程序来安装 Git,可以使用发行版包含的基础软件包管理工具来安装。 如果以 Fedora 上为例,你可以使用 yum: $ sudo yum install git如果你在基于 Debian 的发行版上,请尝试用 apt-get: $ sudo apt-get install git2、配置用户信息...
2020-10-07 12:46:10
174
原创 常见的 git 操作
常见的 git mvn arc 操作仓库从无到有本地生成ssh秘钥,如果不嫌麻烦当然可以不设置,使用HTTPS即可我的配置是Eclipse是HTTPS,使用GitHub,用来编写笔记,但是HTTPS需要记住密码,不然每次都需要填IDEA使用SSH,用来工作提交代码,使用Gitlab。ssh-keygen -t rsa -C "注册邮箱"id_rsa.pub文件添加到Git的...
2020-10-07 12:45:13
825
原创 GET和POST的区别
(1)GET参数通过URL传递,且参数类型只支持ASCII字符,长度有限制,POST参数放在Request body中。(2)GET请求会被浏览器缓存,而POST不会(3)GET请求只能进行url编码(application/x-www-form-urlencoded),而POST支持多种编码方式(application/x-www-form-urlencoded 或 multipart/form-data)(4)从RestFul接口看,GET 用于获取信息, Post用于提交信息。GET请求是
2020-09-21 15:47:47
100
原创 死锁
产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3)不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资...
2020-09-04 14:27:24
77
原创 HTTP1.1、HTTP2.0、HTTP3.0
一、HTTP1.11、长连接 相比HTTP1.0,HTTP1.1默认支持长连接keep-alive,使用HTTP 流水线技术(HTTP pipelining,也有翻译为管道化连接),它是指,在一个TCP连接内,多个HTTP请求可以并行,下一个HTTP请求在上一个HTTP请求的应答完成之前就发起。2、分块传输编码 每个非空的数据块之前,会有一个16进制的数值,表示这个...
2020-09-03 21:30:05
675
原创 redis缓存穿透,缓存击穿,缓存雪崩以及缓存一致性
一、缓存穿透查询不存在的数据,请求会直接到数据库。解决:(1)缓存空值(2)布隆过滤器BloomFilter二、缓存击穿热点key突然失效,大量请求到达数据库解决:分布式锁三、缓存雪崩大部分key失效解决:设置逻辑过期时间错开物理过期时间public class RedisCache { Jedis jedis = new Jedis("redis://localhost:6379/9"); DbService db = new Db
2020-09-03 21:16:05
143
原创 UDP协议
User Datagram Protocol(用户数据包协议)UDP直接接收应用层数据进行封装UDP包大小https://segmentfault.com/a/1190000017959319
2020-09-03 18:01:28
106
原创 ICMP协议
Internet Control Message Protocol(网际控制信息协议)出错时ICMP会把出错的数据包的IP头部和端口号作为数据返回。Ping 程序Ping 程序利用 ICMP 回显请求报文和回显应答报文(而不用经过传输层)来测试目标主机是否可达。它是一个检查系统连接性的基本诊断工具。ICMP 回显请求和 ICMP 回显应答报文是配合工作的。当源主机向目标主机发送了 ICMP 回显请求数据包后,它期待着目标主机的回答。目标主机在收到一个 ICMP 回显请求数据包后,它会
2020-09-03 17:22:28
187
原创 IP协议
4位版本 IPv4为4,IPv6为6 4位头部长度 标识该IP头部有多少个32位bit字(4字节),由于4位最大描述15,所以IP头部最大长度为60字节。 8位服务位 包括3位优先权位,4为TOS字段和1位保留字段。4为TOS字段分别表示:最小延时,最大吞吐量、最高可靠性和最小费用。其中最多能选择一位置1,应用程序根据实际需要来设置服务类型。 16位标识 唯一的标识主机发送的每一分数据报。其初始值由系统随机生成;通常每发送一个报文,它的值加一。当IP报文长度超过...
2020-09-03 16:57:39
277
转载 以太网
数据链路层的数据叫以太网帧以太网帧就是将网络层交付的数据添加报头信息后,此时的数据以帧的形式传递。以太网帧的格式如下:在这里,目的地址与源地址这里都指的是 MAC 地址。每一个主机对应唯一的一个 MAC 地址,是由网卡决定的,长度是 48 位,所以这里的目的地址与源地址都是 6 个字节,也就是 48 个比特位。在以太网帧的最后,还有一个 CRC 校验码,来校验数据是否异常。在中间,有一个两个字节的类型标识。这个类型字段有三种值,分别是 : IP、ARP、RARP。IP如果类型
2020-09-03 16:05:22
237
原创 进程调度算法
先来先服务调度算法(FCFS,First Come First Served)时间片轮转(RR,Round Roubin)短作业优先调度算法(Shortest process next) 是从就绪队列中选出一个估计运行时间最短的进程最短剩余时间优先(Shortest Remaining time)高响应比优先调度算法(HRRF,Highest Reponse Ratio...
2020-09-03 15:30:43
217
原创 计算机网络五层模型
应用层 HTTP、FTP 传输层 TCP、UDP 网络层 IP、ICMP、ARP 数据链路层 以太网 物理层 IEEE802.1A 封装与分用
2020-09-03 15:30:28
170
原创 Redis Cluster
一、搭建https://juejin.im/post/6844904057044205582二、槽位为什么取16384(1)如果槽位为65536,发送心跳信息的消息头达8k,发送的心跳包过于庞大。(2)redis的集群主节点数量基本不可能超过1000个。(3)槽位越小,节点少的情况下,压缩比高参考:https://www.cnblogs.com/rjzheng/p/11430592.html三、一致性hashhttps://juejin.im/post/68449035986
2020-09-03 12:17:40
83
原创 进程与线程
一、进程原先cpu运行很慢,跑一个程序就够了,但随着cpu越来越快,当程序等待IO时cpu是空闲的,非常浪费资源。所以有了操作系统进程的概念。进程就在正在执行的程序。操作系统为进程分配独立的地址空间和系统资源(文件)。进程包括代码段,数据段,PCB(Process Control Block)(包括进程ID, 进程状态,地址,文件指针,寄存器内容等)。进程是操作系统分配资源的最小单位。二、线程线程是为了利用cpu多核性能,线程是进程的内部的一个执行序列,共享进程的地址空间和资源,拥有自己独.
2020-09-03 11:15:06
114
原创 MySQL——锁机制
乐观锁和悲观锁:乐观锁会“乐观地”假定大概率不会发生并发更新冲突,访问、处理数据过程中不加锁,只在更新数据时再根据版本号或时间戳判断是否有冲突,有则处理,无则提交事务;悲观锁会“悲观地”假定大概率会发生并发更新冲突,访问、处理数据前就加排他锁,在整个数据处理过程中锁定数据,事务提交或回滚后才释放锁;表锁(MyISAM,InnoDB)和行锁(InnoDB)表锁表共享读锁...
2020-09-02 09:42:53
80
原创 MySQL索引——索引失效
索引失效1、对于多列索引,不是使用的第一部分,则不会使用索引。2、如果条件中有or,即使其中有条件带索引也不会使用。3、如果MySQL 估计使用索引比全表扫描更慢,则不使用索引。(如查询表中大量数据的时候)。4、like查询是以%开头。5、如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引。6、查询条件中含有函数或表达式。...
2020-09-02 09:09:10
432
原创 MySQL索引——创建高性能索引策略
高性能索引策略1. 独立的列是指索引列不能是表达式的一部分,也不能是函数的参数,不然索引会被忽略。下面这个查询无法使用user_id列的索引SELECT user_id FROM user WHERE user_id + 1 = 5;2. 前缀索引和索引选择性索引列不能是很长的字符列,这会让索引变得大且慢,过于长的列可以采用索引字符前缀或者后缀。索引选择性是指,...
2020-09-02 09:08:55
114
原创 MySQL存储引擎——MyISAM、InnoDB、Memory
MyISAM允许没有任何索引和主键的表存在。InnoDB引擎如果没有设定主键或者非空唯一索引,就会自动生成一个6字节的主键。MySQL默认引擎为MyISAM,MyISAM不支持事务、不支持外键、表锁,支持全文索引。InnoDB支持事务、支持外键、行锁,不支持全文索引。...
2020-09-02 09:08:23
127
转载 Java多态
面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行...
2020-08-11 14:19:32
96
原创 BIO、NIO和AIO
一、同步和异步,阻塞和非阻塞 同步:在没有得到结果之前,该调用不返回。 异步:客户端在调用服务之后直接返回,在服务端处理完成后通过通知或者回调客户端函数来返回结果。 阻塞:客户端等待结果返回时,线程会被阻塞。 非阻塞:客户端等待结果返回时,线程不会被阻塞,可以处理其他事情。二、BIO(同步阻塞BlockIO)服务器实现模式:一个连接...
2020-05-17 21:19:37
119
原创 Spring Bean的生命周期
一、生命周期流程图: Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关键点。 若容器注册了以上各种接口,程序那么将会按照以上的流程进行。下面将仔细讲解各接口作用。二、各种接口方法分类Bean的完整生命周期经历了各种方法调用,这些方法可以划分为以下几类:1、Bean自身的方法 : 这个包括...
2020-05-17 21:14:48
122
原创 TCP UDP的主要区别
TCP UDP的主要区别1、TCP需要建立连接,UDP是无连接的。2、TCP提供可靠的服务,UDP会丢包。3、TCP面向字节流(根据滑动窗口来确定发送报文大小),UDP是面向报文的(直接把应用层数据加上UDP首部进行发送)。4、TCP有拥塞控制,UDP没有。5、UDP头部开销小6、UDP支持一对一,一对多,多对一,多对多通信,而每条TCP连接只有两个端点。...
2020-05-17 19:18:38
322
原创 Raft算法
Raft是一种分布式一致性算法,相比Paxos更加容易理解,易于实现。整个算法分为选举过程和复制过程。一、选举过程(Leader Election)节点有三种角色:Leader节点Follower节点Candidate节点有两个超时时间控制选举,一个是election timeout,一个是heartbeat timeout(BroadcastTime)当Follo...
2020-05-17 19:18:08
242
原创 Redis——哨兵机制
复制:复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。哨兵:在复制的基础上,哨兵实现了自动故障迁移。结构图:哨兵的定时监控任务任务1:每个哨兵节点每10秒会向主节点和从节点发送info命令获取最拓扑结构图,哨兵配置时只要配置对主节点的监控即可,通过向主节点发送info,获取从节点的信息,并当有新的从节点加入时可以马上感知到任务2:每个哨兵节点每...
2019-09-19 23:09:04
176
原创 ZooKeeper基础
一、基础结构1 ZNodeZookeeper的数据节点称为ZNode,ZNode是Zookeeper中数据的最小单元,每个ZNode都可以保存数据,同时还可以挂载子节点。1.1 ZNode 分类持久节点(PERSISTENT):节点创建后便一直存在于Zookeeper服务器上,直到有删除操作来主动清除该节点。持久顺序节点(PERSISTENT_SEQUENTIAL):相比持久节...
2019-08-14 23:10:54
216
原创 BASE定理
BASE理论是Basically Available(基本可用),Soft State(软状态)和Eventually Consistent(最终一致性)三个短语的缩写。基本可用(Basically Available)假设系统,出现了不可预知的故障,但还是能用,相比较正常的系统而言: 响应时间上的损失:正常情况下的搜索引擎0.5秒即返回给用户结果,而基本可用的搜索引擎可以在2秒作用...
2019-08-14 16:11:05
1556
原创 CAP定理
Consistency 一致性一致性指“all nodes see the same data at the same time”,即所有节点在同一时间的数据完全一致。强一致性:系统中的某个数据被成功更新后,后续任何对该数据的读取操作都将立即得到更新后的值;弱一致性:允许系统出现不一致的中间状态,及允许数据同步过程中存在延时。最终一致性:经过一定时间最终能到达一致状态。Av...
2019-08-14 16:05:05
94
转载 Redis主从复制
一、主从复制概述主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主从复制的作用主要包括:数据冗余:主从复制实现了数据...
2019-08-13 15:44:33
246
转载 SpringMVC工作流程
SpringMVC执行流程:1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。4.Dispatche...
2019-08-13 15:32:17
103
原创 Spring事务管理
一、Spring事务管理API:PlatformTransactionManager:(平台)事务管理器 TransactionDefinition:事务定义信息(事务隔离级别、传播行为、超时、只读、回滚规则) TransactionStatus:事务运行状态1、PlatformTransactionManagerPublic interface PlatformTransa...
2019-08-13 15:31:53
168
原创 Spring Bean 循环依赖
有如下三个类相互依赖public class StudentA { private StudentB studentB ; public void setStudentB(StudentB studentB) { this.studentB = studentB; } public StudentA() { } ...
2019-08-13 15:31:40
184
原创 Spring Bean 依赖注入方式
一、依赖注入方式setXxx()方法注入 构造函数注入 工厂方式注入1、setXxx()方法注入要求POJO类提供默认的构造函数和set方法。public class Communication { private Messaging messaging; public void setMessaging(Messaging messaging){...
2019-08-13 15:31:20
153
原创 Spring——AOP
一、概念AOP(Aspect Oriented Programming),即面向切面编程。像日志,事务,安全等这些代码分散在各个业务逻辑之中,这样既会产生大量重复的代码也将这些逻辑与业务耦合起来。AOP就是运用动态代理将二、实现原理(JDK动态代理和Cglib动态代理)JDK动态代理:代理对象实现目标对象的接口(目标对象一定是要有接口的,没有接口就不能实现动态代理)Cglib动...
2019-08-13 15:30:15
171
原创 TCP协议详解
TCP报文格式TCP流量控制流量控制(flow control)就是让发送方的发送速率不要太快,要让接收方来得及接收。在连接建立时,B告知A它的rwnd(recevicer window)=400,发送方的发送窗口不能超过接收方给出的接收窗口。其中存在一个问题:B向A发送了一个零窗口,但是过了不久,B的接收缓存又有了一些存储空间。于是B向A发送了rwnd=400的报文段,...
2019-07-25 20:34:59
236
转载 计算机网络概述
思维导图感觉不错的思维导图概述计算机网络在信息时代的作用21世纪的重要特征:数字化、网络化和信息化,它是一个以网络为核心的信息时代。三大类网络:电信网络、有线电视网络和计算机网络。互联网两个重要基本特点:连通性和共享互联网+:互联网+各个传统行业,其特点就是把互联网的创新成果深度融合于经济社会各领域之中。互联网概述网络的网络计算机网络由若干结点和连接这些结点的链路...
2019-07-24 16:48:22
4591
学习OpenCV(中文版)pdf
2018-04-06
深入理解OpenCV 实用计算机视觉项目解析pdf
2018-04-06
OpenCV 3计算机视觉 Python语言实现(中文版)附书本代码
2018-04-06
OpenCV 2 计算机视觉编程手册_中文版.zip
2018-04-06
OPENCV编程案例详解pdf ,李立宗 ,P487 ,2016.10
2018-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人