摘要:
Thrift协议 前因后果 在实习中发现自己需要用thrift协议发送请求,起因就是需要用到公司内部rpc来进行服务之间的请求 本篇主要着重于如何解读thrift接口文档,节省大家的时间 thrift的优点 二进制格式:Thrift 使用二进制格式来序列化和反序列化数据,这使得它在网络传输中比纯文本 阅读全文
摘要:
### TCP 三次握手过程是怎样的? TCP的建立连接是通过三次握手来进行的。三次握手的过程如下图: 说实话这个很好理解,我称之为N字型 首先我们理解到建立连接是一个虚的概念了对吧?那么我们来设计一个可靠的TCP,首先建立连接是必须的吧?相当于我们打电话,总要先说一句喂 wei?(面向连接正是这个 阅读全文
摘要:
> 本博客将从java字节码的层面解剖为什么i=0;i=i++;仍然会等于0 字节码解析: iconst_x:代表将常量x放到操作数栈中 istore_x:其中x必须是局部变量表中的一个合法下标,然后我们会从操作数栈中弹出对应的栈尾的元素(需要是int)以之来进行设置 iload_x:则是加载对应的 阅读全文
摘要:
> 事先说明本项目主要是为了让本人更加了解到java虚拟机以及java代码运行思路,在此同时我本人也在编写一款虚拟机,尝试从中掌握更多知识 什么是JVM? JVM其实是java virtual machine,他其实也是一个计算机上运行的程序,职责是运行java字节码文件 注:javac在这之中是由 阅读全文
摘要:
题目 解读访问权限 rw-r--r--分别代表什么东西 r:代表可读 w:可写 e:可执行 方便起见进行拆分 rw- 代表文件所属用户的权限 r-- 代表同组用户的权限 r-- 代表其他用户的权限 同时我们可以用2进制来表示: r:4 w:2 e:1 也即是3位二进制数则可以表示 chmod 命令 阅读全文
摘要:
java有哪些基础类型 boolean/1 byte/8 char/16 short/16 int/32 float/32 long/64 double/64 java为什么有基础类型,为什么还要有封装类型呢? 举个例子吧,Character和char的区别是在于char只是存了个数据,而Chara 阅读全文
摘要:
> 其实很简单,就像我个人给别人发信息一样,有个重传机制,毕竟对方可能突然有事忘看了,或者说看完了忘了回,所以我本人会重传,那么接下来就以聊天的角度来给大家解析一下TCP三次握手时的意外情况以及应对方针 注文中的大部分知识非我原创,我只是知识的搬运工,并且尝试搬运进脑子里而已 总结 重发的情况永远出 阅读全文
摘要:
在我的记忆中布谷鸟过滤器一直是说比bloom好,那么我博客便以一个diss布谷鸟过滤器的角度来探究 学前须知:本篇立足于读者了解bloomfilter底层实现上 布谷鸟相较于bloom的优点 支持删除操作 如何支持呢?因为bloom的话是不能支持的,他的一个bit可能代表了多个key存在的情况,所以 阅读全文
摘要:
题目: 全文搜索对应的是什么功能,怎么构建索引,查询的时候怎么查 怎么构建倒排索引,使用MySQL可以实现倒排索引的功能吗 前情提要: 我的项目中的商城项目中存在使用ElasticSearch的情况,所以特地弄了此篇来应对提问,以及还有一个爬虫项目中也使用到了 question One 全文搜索对应 阅读全文
摘要:
# MySQL中datetime和timestamp的区别 相同点 两个数据类型存储时间的格式一致。均为 YYYY-MM-DD HH:MM:SS 两个数据类型都包含「日期」和「时间」部分。 两个数据类型都可以存储微秒的小数秒(秒后6位小数秒) 自动更新和默认值 TIMESTAMP: 支持默认值为当前 阅读全文
摘要:
# count(*),count(主键) ,count(字段)和 count(1) 有什么区别?哪个性能最好? 绝对不是count(*)最慢! 哪种 count 性能最好? 我先直接说结论: 要弄明白这个,我们得要深入 count 的原理,以下内容基于常用的 innodb 存储引擎来说明。 coun 阅读全文