欢迎回家
我们一直在改变
头像

Martin的文章

上天给了我我黑色的眼睛,我却用来寻找Bug!
javaSE基础

网络IO和磁盘IO详解

Martin阅读(44)评论(0)赞(0)

1. 缓存IO        缓存I/O又被称作标准I/O,大多数文件系统的默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,数据先从磁盘复制到内核空间的缓冲区,然后从内核空间缓冲区复制到...

其他

一切皆Socket

Martin阅读(35)评论(0)赞(0)

函数原型 socket()函数的原型如下,这个函数建立一个协议族为domain、协议类型为type、协议编号为protocol的套接字文件描述符。如果函数调用成功,会返回一个标识这个套接字的文件描述符,失败的时候返回-1。 domain 函...

其他

ES的Query、Filter、Metric、Bucketing使用详解

Martin阅读(41)评论(0)赞(0)

由于笔者在实际项目仅仅将ES用作索引数据库,并没有深入研究过ES的搜索功能。而且鉴于笔者的搜索引擎知识有限,本文将仅仅介绍ES简单(非全文)的查询API。 笔者原本打算在本文中介绍聚合API的内容,但是写着写着发现文章有点过长,不便于阅读,...

其他

解决KafKa数据存储与顺序一致性保证

Martin阅读(53)评论(0)赞(0)

“严格的顺序消费”有多么困难 下面就从3个方面来分析一下,对于一个消息中间件来说,”严格的顺序消费”有多么困难,或者说不可能。 发送端 发送端不能异步发送,异步发送在发送失败的情况下,就没办法保证消息顺序。 比如你连续发了1,2,3。 过了...

javaSE基础

彻底搞懂字符集编码:ASCII,Unicode 和 UTF-8

Martin阅读(53)评论(0)赞(0)

一、ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,...

其他

搭建 RabbitMQ Server 高可用集群

Martin阅读(38)评论(0)赞(0)

阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 因为公司测试服务器暂不能用,只能在自己...

其他

无锁编程 – Double-checked Locking

Martin阅读(36)评论(0)赞(0)

Double-checked Locking,严格意义上来讲不属于无锁范畴,无论什么时候当临界区中的代码仅仅需要加锁一次,同时当其获取锁的时候必须是线程安全的,此时就可以利用 Double-checked Locking 模式来减少锁竞争和...

其他

长连接及心跳保活原理简介

Martin阅读(32)评论(0)赞(0)

  本文简要的分析了长连接产生的背景以及所解决的问题,并对比了keep-alive与心跳机制对长连接保活的影响,最后详细的介绍了心跳保活的两个关键因素–DHCP协议与NAT原理。如有不当之处,欢迎批评和指正。 1.短连接,并行连接,持久连接...

其他

SSL与TLS的区别以及介绍

Martin阅读(36)评论(0)赞(0)

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组...

91CODING 小白轻松上手,大牛稳健进步

关于我们免责声明