摘要: 1. IP地址机器表示方法 整个因特网就是一个单一的、抽象的网络。IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址的编址方法共经过了三个历史阶段。 1.1 分类的IP地址 将IP地址划分为若干个固定了,每一类地址都由两个固定长度的字段组成 阅读全文
posted @ 2019-04-02 16:34 小路不懂2 阅读(1670) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输,但是IP提供不可靠、无连接的数据报传送服务。不可靠的意思是它不能保证IP数据报嫩成功地到达目的地。IP仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完了缓冲区,IP 阅读全文
posted @ 2019-03-21 15:21 小路不懂2 阅读(1984) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 HTTP连接是HTTP报文传输的关键通道,几乎所有的HTTP通信都是由TCP/IP承载。 HTTP连接实际上就是TCP连接和一些使用连接的规则。TCP连接是因特网上的可靠连接。TCP为HTTP提供了一条可靠的比特传输管道。从TCP连接一端填入的字节会从另一端以原有的顺序、正确地传送出来。 阅读全文
posted @ 2019-03-19 10:43 小路不懂2 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 TCP是一个面向连接的协议,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。 2. TCP连接建立 2.1 连接建立 为了了解一个TCP连接在建立及终止时发生了什么,键入下列命令:telnet 10.31.10.19 7073然后键入Ctrl+],使Telnet客户进程终 阅读全文
posted @ 2019-03-11 20:33 小路不懂2 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 如果按照分组数量计算,约有一半的TCP报文段包含成块数据(如FTP、电子邮件等),另一半则包含交互数据(如telnet和rlogin)。如果按照字节计算,则成块数据与交互数据的比例约为90%和10%。这是因为成块数据的报文段基本上都是满长度(full-sized)的(通常为512字节的用 阅读全文
posted @ 2019-03-11 11:17 小路不懂2 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 1. TCP中7种定时器 TCP中有7中定时器 (1)建立连接定时器(connection-establishment timer) (2)重传定时器(retransmission timer) (3)延迟应答定时器(delayed ACK timer) (4)坚持定时器(persist timer 阅读全文
posted @ 2019-03-08 11:45 小路不懂2 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 1. 引言 介绍TCP为应用层提供的服务,以及TCP首部中的各个字段。 2. TCP首部 TCP数据被封装在一个IP数据报中,如图: TCP首部的数据格式,如果不计选项字段,它通常是20个字节: (1)16位源端口号和16位目的端口号:每个TCP段都包含源端和目的端的端口号,用于寻找发端和收端应用进 阅读全文
posted @ 2019-03-06 15:24 小路不懂2 阅读(980) 评论(0) 推荐(0) 编辑
摘要: Guava引入了很多JDK没有的、但有用的新集合类型。这些新类型是为了和JDK集合框架共存,而没有往JDK集合抽象中硬塞其他概念。 作为一般规则,Guava集合非常精准地遵循了JDK接口契约。 1. Multiset 统计一个词在文档中出现了多少次,传统的做法是这样的: Multiset和Set的区 阅读全文
posted @ 2019-01-17 16:36 小路不懂2 阅读(349) 评论(0) 推荐(0) 编辑
摘要: lrzsz是一个unix通信套件提供的,X,Y和ZModem文件传输协议,可以用在Windows与linux系统之间的文件传输,体积小速度快,可以与xshell工具配合使用。 (1)在线安装 yum -y install lrzsz 上传文件rz 下载文件sz xxx.txt (2)离线安装 下载安 阅读全文
posted @ 2019-01-14 14:26 小路不懂2 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 工程中免不了要通过maven打包。 2. maven三种打包插件 我们主要打zip包,也就是使用maven-assembly-plugin。 3. maven assembly plugin maven assembly plugin允许用户将依赖项、模块、文档和其他文件聚合到一个可发布 阅读全文
posted @ 2018-12-04 11:46 小路不懂2 阅读(1522) 评论(3) 推荐(1) 编辑
摘要: 远程项目报错,但是通过日志等手段没法定位问题,只能提供远程调试的方式定位问题。 1. 步骤 1.1 启动调试端口 业务有自己的端口,而为了能够调试业务,需要另外开启一个端口用于调试。 在java虚拟机设置中增加如下配置: JAVA_OPS="$JAVA_OPS -Xrunjdwp:transport 阅读全文
posted @ 2018-09-20 17:06 小路不懂2 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 项目中,有时候要读取当前classpath下的一些配置文件,下面介绍下Class.getResourceAsStream和ClassLoader.getResourceAsStream两种方法以及两者的区别。 1. Class.getResourceAsStream 首先, 我们必须先了解根路径“/ 阅读全文
posted @ 2018-09-19 14:28 小路不懂2 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 线上内存OOM问题是最难定位的问题,最常见的原因: (1)本身资源不够 (2)申请的太多 (3)资源耗尽 某服务器上部署了Java服务,出现OutOfMemoryError,请问有可能是什么原因,问题应该如何定位? 解决思路: Java服务OOM,最常见的原因为: (1)有可能是内存分配 阅读全文
posted @ 2018-09-15 14:46 小路不懂2 阅读(5445) 评论(0) 推荐(0) 编辑
摘要: 1. 背景 工程架构中有很多访问下游的需求,下游包括但不限于服务/数据库/缓存,其通讯步骤为: (1)与下游建立一个连接 (2)通过这个连接,收发请求 (3)交互结束,关闭连接,释放资源 2. 为什么需要连接池? 当并发量很低的时候,建立连接和关闭连接的过程是没问题的,但当服务单机QPS达到几百、几 阅读全文
posted @ 2018-09-15 10:56 小路不懂2 阅读(174) 评论(0) 推荐(0) 编辑
摘要: (1)解决java.lang.UnsatisfiedLinkError: no XXX in java.library.path -- 一般这是引入dll或者so的文件出现的,设置好java.library.path就好。在启动命令行中格式:java -Djava.library.path=/f/E 阅读全文
posted @ 2018-09-14 16:54 小路不懂2 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1. 描述 jvisualvm是JDK自带的监控工具,位于JDK bin目录下面。 默认jvisualvm不能监控远程的JVM进程,需要进行一些配置。 2. 单独在应用上配置JVM启动参数 在Java启动时,配置如下参数: -Djava.rmi.server.hostname=192.168.23. 阅读全文
posted @ 2018-09-12 10:18 小路不懂2 阅读(4721) 评论(0) 推荐(0) 编辑
摘要: 1. path path是个系统环境变量,声明命令的搜索路径,让操作系统找到指定的工具程序。 D:\Program Files\Java\jdk1.8.0_111\bin指定JDK工具路径,例如javac,java,jmap等,如果不配置就无法运行javac等命令。 2. -classpath cl 阅读全文
posted @ 2018-09-10 14:42 小路不懂2 阅读(5630) 评论(0) 推荐(0) 编辑
摘要: 1. 代理模式 代理模式是常见的Java设计模式,特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的 阅读全文
posted @ 2018-09-06 15:16 小路不懂2 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 1.例子 用户表,表结构如下: t_user { uid primary key, login_name unique, passwd, login_time, age, ... }; 2. 聚集索引(clustered index) 聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引,一 阅读全文
posted @ 2018-08-29 16:07 小路不懂2 阅读(3871) 评论(0) 推荐(0) 编辑
摘要: 1. 基本概念 1.1 单库 1.2 分片 分片解决的是“数据量太大”的问题,也就是通常说的“水平切分”。 一旦引入分片,势必有“数据路由”的概念,哪个数据访问哪个库。 路由规则通常由3种方式: (1)范围:range 优点:简单,容易扩展 缺点:各库压力不均(新号段更活跃) (2)哈希:hash 阅读全文
posted @ 2018-08-25 16:51 小路不懂2 阅读(379) 评论(0) 推荐(0) 编辑