RussXia

身处寒夜,把握星光。

TCP协议的滑动窗口

滑动窗口 如何保证数据的可靠性

关于TCP的长连接和心跳

TCP的长连接、短连接、并行连接、持久连接 短连接:每次通信时,创建socket,通信结束后,立马就释放掉该TCP链接。 适用于操作频繁,点对点的通信。且连接数不能太多。 + 优点: + 缺点: 长连接:每次通信完毕后,不会关闭 维持长连接的方法 心跳机制

由MateSpace空间不足引发的FullGC

问题背景 测试环境和预发环境:JDK版本均为1.8,使用的GC算法均为CMS,但是具体的JVM参数有所差异,预发的JVM配置更小(环境问题搞死人呀)。 开发一个的一个功能,普通的业务功能,只是多了文件流的处理,但是量级也不算太大,在测试环境没有任何异常。 部署到预发环境,开始比较正常,但是系统出现504,业务日志出现MQ心跳检查超时,以及MateSpace OOM的异常。检查gc...

Dubbo中的知识点总结

所有内容,以Dubbo官方的2.7.5 release版本为基础。 Dubbo中的同步调用/异步调用 Dubbo框架中的默认缺省协议:Dubbo协议(DubboProtocol)采用的是单一长连接,底层默认使用的是Netty的NIO异步通信。这种协议适用于小数据量大并发的服务调用。基于这种机制,Dubbo主要提供了以下几种调用方式: one way(客户端发送消息后,不需要接受响...

MySQL中的EXPLAIN

MySQL中的EXPLAIN EXPLAIN : query Execution plan,平常工作中,我们会借助 EXPLAIN 命令分析SELECT语句的执行计划,查看使用到的索引,扫描的行数,来优化我们的查询。 EXPLAIN 包含的信息大致有select_type,table,partitions(5.7),type,key,extra等十余列,下面将会对其中出现的某些列,进行具...

给GitHub Pages配置域名和https

给GitHub Pages配置域名和https 一直都想买个域名供自己的博客使用,最近终于下定决心剁手了。在这里记录下给GitHub Pages配置域名和https的过程,以供参考。 可以参考github上的文档: https://help.github.com/en/github/working-with-github-pages/configuring-a-custom-domain...

MySQL与B-Tree和B+Tree

MySQL与B-Tree和B+Tree MySQL支持多种存储引擎,如InnoDB,MyISAM,Memory等等。其中InnoDB支持事物安全(ACID),支持行锁定和外键,因而成为了MySQL默认的存储引擎。(MyISAM是在MySQL 5.5.5 之前的默认引擎) InnoDB是支持事物安全的存储引擎,支持行锁定和外键,支持 B-Tree/Hash/FullText 索引类型...

个人常用的效率软件及说明

个人常用的效率软件及说明 俗话说,工欲善其事,必先利其器。好的工具可以帮助我们提升工作和学习。废话不多说,今天就说一说我的一些常用的工具,以及一些相关配置和快捷键。 iTerm2 + oh-my-zsh 这一套组合,对于开发来说,有多么方便,那就不用多说了。下面说说一些可能会遇到的一些小问题,和一些很值得试一试的插件。 安装oh-my-zsh以后,bash_profile不生效 ....

Surge3(3.3.1)配置vmess协议

Surge3(3.3.1)配置vmess协议 关于Surge,神兵利器,这里就不多赘述了。以前Surge是不支持vmess协议的,因为某些特殊原因,不得不使用V2rayU+vmess作为主要工具,Surge+SSR作为备用工具,凑合了一段时间。听说最近Surge3.3.1(Beta)支持了vmess协议,直接开始尝试下。 Surge For Mac,配置vmess 截止到目前(2019...

JDBC字符集乱码问题

JDBC字符集乱码问题 问题背景 数据库:mysql 5.7 datasource数据源:druid Connector/J: 5.1.38 公司线上报警,发现抛出 UncategorizedSQLException 异常,看到异常栈的信息,基本可以断定是字符集设置的问题。 Cause: java.sql.SQLException: Incorrect string...