自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 go垃圾回收机制(三色标记法)& 屏障机制

为了保证栈的速度,如果为栈上的对象增加插入屏障,会大幅度增加引用对象的性能,所以栈空间不触发插入屏障,堆空间会触发插入屏障,而在回收白色之前会重新遍历扫描一次栈空间,此时添加STW暂停来保护栈,防止外界干扰(有新的白色被黑色添加);在Go使用的混合写屏障中是不会对栈空间进行写屏障的,栈上的对象在一开始就全部标记为黑色,并且在GC过程中新创建的对象也是黑色的,可能错放但不错杀;全部访问后,会转换为黑色。第三步遍历灰色集合,将灰色对象引用到的对象从白色集合放到灰色集合,之后将此灰色对象放到黑色集合;

2023-12-02 18:14:26 49

转载 yac

Yaconf – 一个高性能的配置管理扩展本文地址:http://www.laruence.com/2015/06/12/3051.html这个项目其实不是我新的idea, 这个是我在来微博以后, 第一个优化项目中顺手做的一个小工具, 本身叫做Weibo_Conf. 但是因为Weibo_Conf是属于Weibo扩展的, 里面还有一些其他功能是专门为Weibo定制的. 所以不适合直接开源....

2019-03-20 17:29:20 756

转载 访问一个URL经历了哪些过程

从大致上来讲经历了客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TCP断开连接详细文字讲解!客户端:(应用层开始)获取URL,通过负责域名解析的DNS服务获取网址的IP地址,根据HTT协议生成HTTP请求报文(应用层结束)(传输层...

2018-11-26 18:03:21 537

原创 网络协议六

不同的局域网之间通信需要网关。静态路由:每个网段都有自己的规则,在路由器中进行保存。转发网关和net网关欧洲十国游(转发网关):路由器内根据一定的规则进行转发。mac进行改变,但是IP不会改变。IP在各个里面是不同的。玄奘西行:源IP和目标IP相同,在国际上有公共接口。源IP和目标IP在转发的过程中是变化的。TCP   tcp进行三次握手的过程中除了上方建立连接的问题,主要...

2018-09-27 11:52:53 401

转载 四种隔离级别

数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工...

2018-09-27 10:36:36 1204

原创 elasticsearch3

document路由算法:shard=hash(routing)%number_of_primary_shards 默认情况下routing默认使用的是_id,也可以在发送请求的时候手动指定(routing value),对应用级别的负载均衡是很有帮助的,对id值进行hash。 document的增删改查内部实现原理:在主分区和复制分区都已经搞定之后然后向客户端发送客户端。 我们在发送任何...

2018-09-26 19:01:32 229

原创 elasticsearch2

三种元数据1、_index元数据(1)代表一个document存放在哪个index中(2)类似的数据放在一个索引,非类似的数据放不同索引:product index(包含了所有的商品),sales index(包含了所有的商品销售数据),inventory index(包含了所有库存相关的数据)。如果你把比如product,sales,human resource(employee),全...

2018-09-25 10:47:24 265

原创 elasticsearch1

es的特点:自动的维护数据的分布到多个节点索引的建立,还有搜索请求到多个节点的执行; 自动维护数据的冗余副本,保证说,一些机器宕机了,不会丢失任何数据; 封装了更多的高级功能,以给我们提供更多的高级的支持,让我们快速的开发应用,开发更多的复杂的应用:复杂的搜索功能,聚合分析的功能,基于地理位置的搜索。elasticsearch是关键词    分布式       搜索    数据分析 e...

2018-09-23 10:14:26 185

原创 PHP中的特殊的函数

 array_reduce(array,myfunction,initial)   发送数组中的每个值到用户自定义的函数,然后进行函数处理,其中第三个参数代表了处理函数的第一次调用的第一个参数,以后第一个参数就会以上一次调用的返回结果为标准进行方法的调用。 preg_replace_callback ( mixed $pattern , callable $callback , mixed $s...

2018-09-21 10:35:56 290

转载 es集群的简单理解

在我的理解es集群和redis集群在一定程度上是非常想象的,推荐看一下redis设计与实现,挺有帮助的个人es的体会:es在分配索引的时候就已经指定了主分片的个数,竹节丝安确定以后不会在进行更改;  一个集群中可以有多个节点,但有一个主节点,每个节点可以放不同的分片,每个分片,包括主分片和复制分片。同一个分片的主从分片分配在不同的节点上,这样就避免了一台主机宕机带来的数据丢失的影响; ...

2018-09-21 10:18:26 10124

转载 PHP

转载: http://www.cnblogs.com/swengphp中容器的理解:我们先实现一个容器类 1 2 3 4 5 6 7 8 9 class Container{     public $bindings;     public function bind($abst...

2018-09-20 10:35:18 181

转载 shell脚本

shell教程,不错的选择

2018-09-20 10:26:47 168

原创 网络协议——tcp和udp

建立连接:是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。TCP:提供可交付。通过tcp连接传输的数据,无差错,不丢失,不重复,并且按序到达。发送的是流。拥塞控制,有状态有服务。UDP:不保证不丢失,不保证按序。基于数据包,一个一个的发,一个一个的收。UDP的使用场景:第一:需要资源少,在网络环境比较好的内网上或...

2018-09-12 18:53:52 634

原创 网络协议六

动态路由算法:第一种:距离矢量算法每个路由都保存着一个路由表,表里面的信息:到目的路由其从哪走,以及到目的路由器的距离;缺点:1.当一个路由挂掉的时候不能及时得出来,只能试了所有的路由之后才能得出来;2。每次发送的时候发送的是整个全局路由表。第二种:链路状态路由:通过每个路由将自己和新路由之间的距离广播出去在每个路由表中都能生成一个路由表。在网路中需要传递消息的时候走适合自己的路由...

2018-09-11 19:44:11 714

原创 网络协议五——ping的工作原理

ping是通过ICMP进行工作的(控制报文协议),封装在ip包里面。ping中包含的信息:类型字段:对于请求数据包来说该字段为8,顺序号:为了记录连续发送的多个ping的顺序,还有一个时间标识用于判断ping是否超时。查询报文类型(ping)还有一种是差错报文(traceroute),根据不同的类型返回不同的值。第一种:终点不可达;第二种:源站抑制;第三种:时间超时;...

2018-09-07 17:49:51 1039

原创 kafka的特点

 一个topic中有可以有多个分区。如上图: 每个分区中保存的消息都是有序的,在每个分区中都有一个offset,在comsume中维护offset。 分区中的消息不会像其他消息队列一样消息完就丢失,而是将其保存,在指定的过期时间点内进行丢弃。 分区的特点:首先这使得每个日志的数量不会太大,可以在单个服务上保存。另外每个分区可以单独发布和消费,为并发操作topic提供了一种可能。 每...

2018-09-07 15:40:28 974

转载 kafka

一、基本概念介绍Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢?首先让我们看几个基本的消息系统术语:Kafka将消息以topic为单位进行归纳。将向Kafka topic发布消息的程序成为producers.将预订topics并消费消息的程序成为consumer.Kafka以集群的方式运行,可以由一...

2018-09-07 15:10:56 219

原创 网络协议四——交换机

mac(多媒体访问控制)其作用就是在数据链路层利用多路访问解决在网络中谁先发谁后发的问题。发给谁,谁接受:利用链路层地址,因为在mac层我们记录了源mac地址和目标mac地址,对上游的包进行层层包装,然后在服务端进行层层拆开取得数据内容交给服务器去处理。处理结束后返回一个响应;数据怎么容错:在mac层有一个CRC(循环容错检测),通过XOR异或算法进行解决来解决网络中的错误;因为IP会...

2018-09-05 15:18:46 1880

转载 vim基础命令

1、移动指令指令 功能 简介 编者按 k/j/h/l 上下左右移动光标 一般模式下,可以使用【k/j/h/l】代替方向键上下左右移动光标,多次相同移动指令可使用数字+指令执行,如【30j】即代表向下移动光标30次; 刚开始使用这四个键会很难记、很不适应,但习惯后的确会更方便、更极致; Ctrl+f 向下翻页 一般模式下,可以使用组合键【C...

2018-09-05 09:54:40 221

原创 索引

聚集索引和非聚集索引的特点:1、聚集索引。表数据按照索引的顺序来存储的,也就是说索引项的顺序与表中记录的物理顺序一致。对于聚集索引,叶子结点即存储了真实的数据行,不再有另外单独的数据页。 在一张表上最多只能创建一个聚集索引,因为真实数据的物理顺序只能有一种。2、非聚集索引。表数据存储顺序与索引顺序无关。对于非聚集索引,叶结点包含索引字段值及指向数据页数据行的逻辑指针,其行数量与数据表行数据...

2018-09-04 22:45:33 255

原创 网络协议三

在网卡中可以通过net-tools和iproute2配置ip地址;但是因为这样配置自由度太大,会发生的下面的事情:两台终端A 192.168.1.2         B:16.158.3.12,两个终端可能在同一台交换机上连着,但是两个ping不通;原因:前面已经说过在网络上发包的时候应该完整,我们可以在上面的看到第三层的源IP和目标IP,也可以得到自己的源mac,但是无法获得目标的mac...

2018-09-04 14:25:51 341

原创 网络协议二

网络协议为什么要进行分层:复杂的程序分层简单,不同的层处理本层的事;在网络中每层都是将最上层的东西拿出来(当接受一个网络报的时候先从网络包中拿出mac头判断mac地址是不是自己的mac地址,如果是自己的mac地址然后在取出ip头进行处理,如果目标IP地址是自己的则进行处理,如果不是则应该转发出去。以此类推。。。网络结构图在第一章章已经存在了)在我们的使用中,上层协议必须包含下层协议,在网络协议...

2018-09-04 10:14:36 233

原创 网络协议 一

网络协议需要具备的三要素:       语法 :内容符合什么样的规格        语义:一段内容代表的某种意义         顺序:代码执行的顺序一个url访问的整个过程通过地址薄,也就是DNS去对域名进行解析(或者HTTPDNS); 浏览器将请求进行打包,主要过程如下:      DNS  HTTP HTTPS所在的层被称为应用层 ->通过socket->给...

2018-09-03 22:01:43 292

原创 缓存

页面缓存:1.准备用于缓存的资源列表清单;2.在需要离线使用的页面中添加mainfest属性,指定缓存清单的路径; 浏览器缓存:将缓存存在硬盘中,注意浏览器会发送数据到服务端去判断数据是否有效; SHOW VARIABLES LIKE %query_cache%;和SHOW STATUS LIKE '%Qcache%'二者用来查看mysql中缓存的命中情况;服务...

2018-09-03 18:32:27 160

原创 RabbitMQ的实现

1)routing Key 将交换机(exchagne)与队列(queue)绑定到一起,交换机就是一个由绑定构成的路由表;2)AMQP主要组件:交换机与队列 。 如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两...

2018-09-03 18:29:52 2188

转载 centos7重启network失败问题

问题如下:● network.service - LSB: Bring up/down networking   Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)   Active: failed (Result: exit-code) since Thu 2017-12-14 11:26:03 ...

2017-12-14 11:27:28 12543 2

转载 数据库索引的选择

1、选取最适用的字段属性        MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的...

2017-09-21 11:26:39 921

原创 数据库三范式

1、需求分析:用数据流程图来描述处理需求;2、概要结构设计:对需求进行综合归纳,用E-R图进行表示;3、详细设计如下:三大范式。三大范式第一范式:无重复的列,每一列不能有多个值,每一行都代表一个实体;第二范式:在第一范式的基础上建立起来的,实体的属性完全依赖主关键字第三范式:非主键列与主键应该有直接的关系,不应该依赖于其他的非主键列;...

2017-09-21 11:20:06 488

原创 死锁

 1. 产生死锁的原因主要是:  (1) 因为系统资源不足。  (2) 进程运行推进的顺序不合适。  (3) 资源分配不当等。   如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。2. 产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一...

2017-09-21 11:12:56 224

原创 CMS和G1的比较

cms四部曲一、初始标记:此时标记需要用户线程停下来;二、并发标记:此时标记可以和用户线程一起运行;三、重新标记:此时标记需要用户线程停下来,主要母的是为了对并发标记的垃圾进行审核;四、并发清除:与用户线程一起与运行进行垃圾清除;缺点:     1、CMS收集器对cpu资源非常敏感;     2、CMS收集器无法清除浮动垃圾;     3、cms基于标记清除的算法实现的,所以内存...

2017-09-21 11:09:51 9909

空空如也

空空如也

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

TA关注的人

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