自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 零拷贝(Zero-Copy)

传统I/O :硬盘—>内核缓冲区—>用户缓冲区—>内核Socket缓冲区—>协议引擎 sendfile :硬盘—>内核缓冲区—>内核Socket缓冲区—>协议引擎 sendfile(DMA收集拷贝):硬盘—>内核缓冲区—>协议引擎 零拷贝(Zero-Copy):一种高效的数据传输机制mmap + write sendfile1、传统的数据传输方式(四次上下文切换,四次拷贝)从某台机器将一份数据通过网络传输到另一台...

2020-08-29 10:55:00 214

原创 JS 中 “==” 和 “===” 的区别

“==”:等同(先类型转换,再比较) 如果两边值的类型不同的时候,要先进行类型转换后,才做比较 如果两个值类型相同,则进行“===”比较 如果两个值类型不同,它们可能相等 如果一个是 null,一个是 undefined 如果一个是字符串,一个是数值;先把字符串转成数值再进行比较(如:“1”== 1) 如果任一值是 true,把它转换成 1 再比较 如果任一值是 false,把它转成 0 再比较 “===”:恒等(类型不同,一定不等) 不需要进行类型转换,.

2020-09-28 11:22:56 154

原创 Git操作手册

这篇文章主要介绍Git分布式版本管理与集中式管理的一些差异,总结下Git常用命令作为日后的速查表,最后介绍Git进阶的一些案例。本文分为以下几个部分:Git与SVN差异 Git常用命令 Git进阶指南Git与SVN差异Git的第一个版本是Linux之父Linus Torvalds亲手操刀设计和实现的,Git 基于 DAG 结构 (Directed Acyclic Graph),其运行起来相当的快,它已经是现在的主流。Git 和 SVN 思想最大的差别有四个:去中心化 直接记录快照.

2020-09-01 10:23:59 123

原创 索引失效

where条件中包含or时,可能会导致索引失效 尽量避免使用or语句,可以根据情况使用union或in等来代替,这两个语句的执行效率也比or高 不同版本MySQL,关于or走索引情况不一致,需要具体分析 MySQL 5.7版本中,当or两边都是单列索引,索引生效 where语句中索引列使用了负向查询,可能会导致索引失效 负向查询包括:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等 其中负向查询并...

2020-08-29 12:13:22 362

原创 MySQL 执行计划 EXPLAIN / DESC

1、Show Profile(5.0.37之后添加)这个命令只是在本会话内起作用,即无法分析本会话外的语句MySQL提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量。默认情况下处于关闭状态,并保存最近15次的运行结果TYPE是可选的,取值范围如下: ALL 显示所有性能开销信息 BLOCK IO 显示块IO操作的次数 CONTEXT SWITCHES ...

2020-08-29 12:11:09 237

原创 Http状态码列表

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP 状态码的英文为 HTTP Status Code。下面是常见的HTTP状态码:l200 -请求成功l301 -资源(网页等)被永久转移到其它URLl404 -请求的资源(网页等)不存在l500 -内部服务器错误HTTP状态码分类HTTP状态码...

2020-08-29 12:05:55 111

原创 Java 读取 .properties 配置文件的几种方式

Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中。然而 XML 配置文件需要通过 DOM 或 SAX 方式解析,而读取 properties 配置文件就比较容易。介绍几种读取方式:1、基于ClassLoder读取配置文件注意:该方式只能读取类路径下的配置文件,有局限但是如果配置文件在类路径下比较方便。Properties properties = new Properties();// 使用ClassLoader加载properti

2020-08-29 11:59:10 124

原创 Git 撤销修改和版本回退

撤销修改# 撤销修改是指将工作区中的修改撤销git checkout [文件名或路径]# 1、撤销工作区中当前目录中的所有修改git checkout .# 2、撤销工作区中指定文件的修改git checkout -- filename注意:checkout命令只能撤销工作区中的修改,不能撤销暂存区中的修改git checkout命令还有一个非常重要的作用就是切换分支,可用于分支管理# 1、切换到指定分支(如果分支在本地不存在,会自动从远程仓库拉取)git checkou

2020-08-29 11:21:28 259

原创 类加载机制与双亲委派

类加载:虚拟机将描述类的数据从class文件加载到内存中,对加载的数据进行验证,准备,解析,初始化;最后得到虚拟机认可后转化成直接可以使用的java类型的过程1、类加载机制 加载 通过一个类的全限定类名来获取定义此类的二进制字节流 将这个字节流所代表的静态存储结构转化成方法区的运行时数据结构 在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据访问入口 验证(文件格式,元数据,字节码,符号引用等校验) 确保Clas...

2020-08-29 11:16:26 137

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除