Spring事务 Transactional注解解构了业务逻辑和事务管理,简化了对事务的编程处理,但使用时应注意其运行机制,避免出现不符合预期的情况。还有不要忽略方法上的@Transactional注解,避免在有@Transactiona注解的方法内部进行外部调用等耗时操作,避免由此产生的大事务。参考文档。
HTTP超时时间设置 在进行超时时间设置之前我们需要了解一次http请求经历的过程在客户端和服务器之间通常有一层网关来负责路由和负载均衡:DNS和TCP的超时时间通常由系统指定,DNS默认为5s,TCP建了超时默认为127s。
React学习 快速入门 – React 中文文档GitHub - typescript-cheatsheets/react: Cheatsheets for experienced React developers getting started with TypeScript
git笔记 一、安装与配置1、安装如果你想在 Linux 上用二进制安装程序来安装 Git,可以使用发行版包含的基础软件包管理工具来安装。 如果以 Fedora 上为例,你可以使用 yum: $ sudo yum install git如果你在基于 Debian 的发行版上,请尝试用 apt-get: $ sudo apt-get install git2、配置用户信息...
常见的 git 操作 常见的 git mvn arc 操作仓库从无到有本地生成ssh秘钥,如果不嫌麻烦当然可以不设置,使用HTTPS即可我的配置是Eclipse是HTTPS,使用GitHub,用来编写笔记,但是HTTPS需要记住密码,不然每次都需要填IDEA使用SSH,用来工作提交代码,使用Gitlab。ssh-keygen -t rsa -C "注册邮箱"id_rsa.pub文件添加到Git的...
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请求是
HTTP1.1、HTTP2.0、HTTP3.0 一、HTTP1.11、长连接 相比HTTP1.0,HTTP1.1默认支持长连接keep-alive,使用HTTP 流水线技术(HTTP pipelining,也有翻译为管道化连接),它是指,在一个TCP连接内,多个HTTP请求可以并行,下一个HTTP请求在上一个HTTP请求的应答完成之前就发起。2、分块传输编码 每个非空的数据块之前,会有一个16进制的数值,表示这个...
redis缓存穿透,缓存击穿,缓存雪崩以及缓存一致性 一、缓存穿透查询不存在的数据,请求会直接到数据库。解决:(1)缓存空值(2)布隆过滤器BloomFilter二、缓存击穿热点key突然失效,大量请求到达数据库解决:分布式锁三、缓存雪崩大部分key失效解决:设置逻辑过期时间错开物理过期时间public class RedisCache { Jedis jedis = new Jedis("redis://localhost:6379/9"); DbService db = new Db
UDP协议 User Datagram Protocol(用户数据包协议)UDP直接接收应用层数据进行封装UDP包大小https://segmentfault.com/a/1190000017959319
ICMP协议 Internet Control Message Protocol(网际控制信息协议)出错时ICMP会把出错的数据包的IP头部和端口号作为数据返回。Ping 程序Ping 程序利用 ICMP 回显请求报文和回显应答报文(而不用经过传输层)来测试目标主机是否可达。它是一个检查系统连接性的基本诊断工具。ICMP 回显请求和 ICMP 回显应答报文是配合工作的。当源主机向目标主机发送了 ICMP 回显请求数据包后,它期待着目标主机的回答。目标主机在收到一个 ICMP 回显请求数据包后,它会
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报文长度超过...
以太网 数据链路层的数据叫以太网帧以太网帧就是将网络层交付的数据添加报头信息后,此时的数据以帧的形式传递。以太网帧的格式如下:在这里,目的地址与源地址这里都指的是 MAC 地址。每一个主机对应唯一的一个 MAC 地址,是由网卡决定的,长度是 48 位,所以这里的目的地址与源地址都是 6 个字节,也就是 48 个比特位。在以太网帧的最后,还有一个 CRC 校验码,来校验数据是否异常。在中间,有一个两个字节的类型标识。这个类型字段有三种值,分别是 : IP、ARP、RARP。IP如果类型
进程调度算法 先来先服务调度算法(FCFS,First Come First Served)时间片轮转(RR,Round Roubin)短作业优先调度算法(Shortest process next) 是从就绪队列中选出一个估计运行时间最短的进程最短剩余时间优先(Shortest Remaining time)高响应比优先调度算法(HRRF,Highest Reponse Ratio...
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
进程与线程 一、进程原先cpu运行很慢,跑一个程序就够了,但随着cpu越来越快,当程序等待IO时cpu是空闲的,非常浪费资源。所以有了操作系统进程的概念。进程就在正在执行的程序。操作系统为进程分配独立的地址空间和系统资源(文件)。进程包括代码段,数据段,PCB(Process Control Block)(包括进程ID, 进程状态,地址,文件指针,寄存器内容等)。进程是操作系统分配资源的最小单位。二、线程线程是为了利用cpu多核性能,线程是进程的内部的一个执行序列,共享进程的地址空间和资源,拥有自己独.
MySQL索引——索引失效 索引失效1、对于多列索引,不是使用的第一部分,则不会使用索引。2、如果条件中有or,即使其中有条件带索引也不会使用。3、如果MySQL 估计使用索引比全表扫描更慢,则不使用索引。(如查询表中大量数据的时候)。4、like查询是以%开头。5、如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引。6、查询条件中含有函数或表达式。...
MySQL索引——创建高性能索引策略 高性能索引策略1. 独立的列是指索引列不能是表达式的一部分,也不能是函数的参数,不然索引会被忽略。下面这个查询无法使用user_id列的索引SELECT user_id FROM user WHERE user_id + 1 = 5;2. 前缀索引和索引选择性索引列不能是很长的字符列,这会让索引变得大且慢,过于长的列可以采用索引字符前缀或者后缀。索引选择性是指,...
MySQL存储引擎——MyISAM、InnoDB、Memory MyISAM允许没有任何索引和主键的表存在。InnoDB引擎如果没有设定主键或者非空唯一索引,就会自动生成一个6字节的主键。MySQL默认引擎为MyISAM,MyISAM不支持事务、不支持外键、表锁,支持全文索引。InnoDB支持事务、支持外键、行锁,不支持全文索引。...