自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 论坛 (1)
  • 问答 (5)
  • 收藏
  • 关注

原创 两张动图-彻底明白TCP的三次握手与四次挥手

背景描述 通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。

2017-06-04 21:53:54 267197 146

原创 VM创建的虚拟机磁盘不够用了,如何扩充磁盘?

VM创建的虚拟机磁盘不够用了,如何扩充磁盘?环境描述利用vm创建的虚拟机 操作系统为 centos7 ,VMware® Workstation 14 Pro 为版本14。 初始创建的虚拟机为内存2g 处理器1核,硬盘20g。 目标将 20g 硬盘扩充到40g。操作步骤关闭虚拟机,将磁盘配置由原来的20g 改为40g。这时候会出现提示,扩充完毕,但是需要手动操作文件系统,将磁盘进行分...

2020-05-03 11:00:08 699 3

原创 设计一个mq中间件,不得不考虑这些
原力计划

mq简介mq 全称message queue,也叫消息队列。通俗来讲也就是一个队列,这个队列用来存储消息的。生产者负责往队列里投递消息,消费者在队列中取消息。在分布式应用架构中,常用来做应用的解耦。为什么用mq解耦。例:订单支付成功,需要给会员卡积分,优惠券核销,扣减库存,通知商家发货等。如果使用传统的方式,需要在订单支付成功后,需要与这么多系统发生交互。使用消息队列后,只需要各自需要订单...

2020-04-06 14:07:49 274

原创 apache-rocketmq 学习笔记
原力计划

apache-rocketmq 学习笔记花式搭建 rocketmq环境准备本文使用的机器为 centos7maven 版本为 3.6.1jdk 版本 1.8.0_11通用流程下载 传送门自选版本。本文使用的是当前最新版本4.7.0,对应的包为 rocketmq-all-4.7.0-source-release.zipjdk,以及maven的安装过程就不在此赘述解压,安装...

2020-04-05 23:28:04 150

原创 Easticsearch+Kibana+Logstash(ELK) 搭建实践
原力计划

搭建环境Linux centos7 虚拟机jdk8elk 版本都是 7.2 (注意版本必须都对应,否则可能存在安装不成功)软件安装目录为 /usr/local/mysoft/软件包集合Easticsearch+Kibana 搭建参考 搭建流程Logstash 搭建# 1、下载安装包(建议使用迅雷下载)wget https://artifacts.elastic.co/dow...

2020-03-07 21:58:03 337

原创 docker进阶与实战

环境说明本文是紧接着上一节 docker入门与实战docker的网络模式host 主机模式。该网络模式下容器不会拥有自己的ip地址,而是使用宿主机的ip地址和端口,因此不存在宿主机与容器端口映射。bridge 桥接模式(默认)。桥接模式是,当Docker服务启动时,会在主机上创建一个名为docker0的虚拟网桥,并选择一个和宿主机不同的IP地址和子网分配给docker0网桥。后续启动...

2020-03-03 15:55:13 194

原创 docker入门与实战

环境准备本文以centos7 虚拟机进行演示一台Linux机器 能连接外网关闭seLinuxvi /etc/selinux/config# 将 SELINUX=enforcing 改为 SELINUX=disabled需要重启机器 selinux配置才会生效关闭防火墙systemctl stop firewalld.servicedocker的安装与自启动配置国...

2020-03-01 23:57:08 145

原创 正确的redis分布式锁实现方式-Java

正确的redis分布式锁4种实现方式-Java实现原理redis 实现分布式锁主要用到的是 redis 的一个命令 setnx (如果key不存在就设置成功,如果key存在则设置失败) 和 setex(为key设置超时时间) 。方案1 - 原生 redis java客户端 Jedis 实现分布式锁1 maven 依赖 <dependency> ...

2020-01-30 21:09:50 619 2

原创 Java 基于 org.mousio.etcd4j 服务注册与发现最简demo

java 基于 org.mousio.etcd4j 服务注册与发现maven 依赖 <dependency> <groupId>org.mousio</groupId> <artifactId>etcd4j</artifactId> <v...

2020-01-11 20:52:16 441

原创 Java 集合总结与源码分析

Java 集合总结与案例分析集合总览集合这块主要分为两大块 Connection 和 MapSet 无序,不重复

2019-12-15 02:20:21 125

原创 第一篇 - Java之八大基本数据类型与封装类

Java之八大基本数据类型与封装类基本数据类型介绍类型分类类型关键词空间大小默认值对应包装类整数类型byte1个字节0Byte整数类型short2个字节0Short整数类型int4个字节0Integer整数类型long8个字节0Long字符类型char2个字节‘’(空字符)Character浮点类型...

2019-11-10 00:51:11 140

原创 MongoDB 安装与权限配置

mongodb 使用与权限控制解压版安装MongoDB初始化说明MongoDB 的使用MongoDB 权限认证内置角色介绍解压版安装MongoDB使用解压版绿色软件,为更好选择,只需简单配置即可使用。下载地址初始化说明MongoDB 数据库默认是不开启账号权限验证的,但是默认绑定的IP为 127.0.0.1。也就是说,默认不要账号密码就能登录,但是你只能在绑定的IP上登录也就是本机。...

2019-03-23 20:52:54 812

原创 最简hadoop3.x完全分布式集群搭建

环境准备三台 Linux centos 7机器,本例中使用 vmware 创建三台虚拟机作为替代基于1,电脑需要安装好 vmware 软件,需要使用 secureCRT 登录Linux机器方便操作准备好 jdk 8 和 hadoop-3.1.2 安装包效果描述最后的集群为一个三台机器的 hadoop 集群,其中数据结点(DataNode)和计算结点(NodeManager)分布在...

2019-03-12 12:48:27 1415

原创 Easticsearch(Linux集群)+Kibana客户端环境搭建记录

资源准备一台物理机,内存4G以上。(若要搭建Easticsearch集群,则至少8G)软件准备,VMware Workstation环境准备 jdk(Easticsearch 启动以来java环境),并且配置好JAVA_HOME jdk下载地址准备好Easticsearch与Kibana 下载链接环境描述本文搭建环境是 win10系统 + vm14.1 + centos7 +...

2019-02-26 10:30:53 270

原创 vmware 三种网络模式区别与应用

vmware 三种网络模式区别与应用本机的物理机称为host主机,而使用vmware创建出来的机器称为guest主机。host-only(仅主机模式)该模式下能实现guest主机与host主机能互通。使用场景(如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统)host-only详解bridged(桥接模式)该模式下,guest主机表现为同host主机同一局域网并...

2019-02-23 01:59:40 668 1

原创 三张时序图-彻底明白数据库事务隔离级别

认清数据库事务隔离级别要想讲清楚数据库的事务隔离级别,首先得明白数据库事务是什么,每件东西的诞生必有它的用途。先看一个小故事。一个小故事生活中有这种常见的场景:银行的转账,A同学账户中有1000元,B同学账户中有2000。现在A同学需要转账给B同学300。而在数据库的层面上来讲,这包含两个操作:首先在A账户中减去300,A账户的钱变为700,然后在B账户中加上300,B账户的钱变成230...

2018-11-26 11:01:10 703 7

原创 死锁Java源码示例

死锁源码 源码仅供参考,欢迎提出问题进行交流class MyThread implements Runnable{ private Object o1 = new Object(); private Object o2 = new Object(); private boolean flag = true; public void run(){...

2018-06-16 19:32:17 300

原创 生产者消费者问题Java源码示例

生产者消费者问题 本示例仅供参考,欢迎提出问题,进行交流import java.util.LinkedList;class Storage{ private static final int MAX = 100; LinkedList&amp;amp;lt;Object&amp;amp;gt; list = new LinkedList&amp;amp;lt;&amp;amp;gt;(); public void...

2018-06-16 19:25:26 397

原创 常见的排序算法Java源码示例

public class Sort{ //插入排序 class InsertSort{ public void direct(int[] src){ int length = src.length; for(int i=1; i&amp;lt;length; i++){ int temp = s...

2018-06-16 19:18:14 266

原创 Tcp可靠性和网络优化

Tcp可靠性和网络优化Tcp可靠性传输的原理发送方每次发送一个报文段后,接收方必须要回复给发送方已经收到的确认信息。出现差错的时候,如果发送放发送了一个报文后,在一段时间内还没收到确认返回,这时候就要重新发送刚才报文,称为超时重传。(发送方的角度)在接收方,并不知道报文的丢失,在发送方重发的报文过来后,接收以后,突然之前在网络中丢失的那段报文突然到达了,原来是因为网络延迟的缘故,这时候接收方应

2017-09-20 21:56:50 1074 2

原创 有趣的浏览器发展史

血战 普遍认为,91年正式发布的WorldWideWeb是全球最早的一款浏览器,后来改名为Nexus,特点是可以兼容Unix和Microsoft DOS的,但是还不支持图片的显示,虽然功能有限,但在当时却非常流行。 93年,美国伊利诺州的NCSA组织发明了一款可以显示图片的浏览器,可是偏偏就命名为马赛克(Mosaic),这不当紧,让“网络管理员”抓狂了,怎么分辨你的浏览器是否能显示图片

2017-06-23 18:03:07 2771

原创 详解常用测试机器(服务)是否可用的两种方式

背景描述 在网络模型中有一层非常重要的一环,它实现了端到端之间的通信,而传输层最主要用的到协议是tcp和udp,而tcp协议作为一种可靠的面向连接的传输层协议,被广泛应用,所以本文所描述的几种方式都是基于基于传输层的tcp协议的。

2017-06-10 13:38:00 1130

转载 从输入URL到页面展示到底发生了什么

1、输入地址 当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得url了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应的 url,然后给出智能提示,让你可以补全url地址。对于google的chrome的浏览器,他甚至会直接从缓存中把网页展示出来,就是说,你还没有按下 enter,页面就出来了。

2017-06-06 10:06:21 1163

原创 IP地址的分配原理

网络模型介绍 在计算机网络中有著名的OSI七层协议体系结构,概念清楚,理论完整,但是它既复杂又不实用。TCP/IP体系结构则不同,得到的广泛的应用。最终结合OSI和TCP/IP的优点,采用了一种只有五层协议的体系结构,本文的讲述的IP都是基于五层协议模型中的网络层。

2017-06-04 15:54:14 33897 7

原创 从零搭建流媒体服务器+obs推流直播

背景介绍 本文使用的流媒体服务器的搭建是基于rtmp(Real Time Message Protocol)协议的,rtmp协议是应用层的协议,要依靠底层的传输层协议,比如tcp协议来保证信息传输的可靠性。最后提供了一个不错的测试方案。

2017-05-27 16:44:15 54777 24

原创 WatchService监控文件变化

概述 Java 7 对原有的NIO进行了重大的改进,新增了Path接口(和平台无关的路径),还有Paths,Files两个工具类。好了进入正题WatchService,在前面的Java版本中,如果想监控某个文件的变化,需要启动一个后台进程,每隔一段时间去遍历制定的目录,如果结果和上次的不同则认为发生了变化。而WatchService在这方面有更好的性能,但是需要结合Path类的register方

2017-05-22 21:02:39 1768

原创 RandomAccessFile实现多线程文件复制

RandomAccessFile RandomAccessFile是Java体系中输入/输出流体系中功能最丰富的类之一,拥有强大的API,既支持文件的读,又支持文件的写;支持“随机访问”的方式,即程序可以直接跳转到文件的任意地方来读写数据。利用这个特性可以实现文件的多线程复制,将大文件分成若干段,每一段启动一个线程复制该段的文件,大大提高了效率。代

2017-05-22 17:28:46 850 2

原创 云服务器搭建WordPress

在搭建之前首先做好一些准备工作,首先得有一台云服务器把,我这是在腾讯云上抢的一台免费的服务器,配置很低只有1核1G,CentOS 7.2 64位,凑合着用把,本地操作系统win7旗舰版。 本篇文章主要目的:1.如何在云服务器上搭建一个WordPress 2.在搭建的过程中遇到的问题以及解决方案。

2017-05-19 17:12:58 1549

原创 junit测试中Hibernate报错SQL Error:1146,SQLState:42S02

此问题困扰笔者很久,希望能帮到一些初学者。 先不多说了,初学Hibernate框架写了一个Demo,结果一直运行不出来想要的结果。 先描述下环境:在eclipse中添加了Hibernate的插件,然后使用的是Hibernate-4.3.11版本。数据库使用的是MySQL5.5.28。在数据库中先创建好一个数据库名字叫:hibernate,里面没有任何东西。 下面首先贴出我的项目

2016-10-05 21:51:30 3507 2

原创 使用虚拟机VM从零搭建Linux server(Jdk1.6+tomcat7+MySQL5.5)

Linunx server 的搭建(Jdk1.6+tomcat7+MySQL5.5)笔者是在win7系统上安装了一台虚拟机VMware6,然后再在虚拟机上用镜像文件安装了Linux redhat-5-server-i386,最后在此Linux系统上 完成了 Jdk,tomcat,MySQL的安装。

2016-09-19 22:26:09 818 2

原创 tomcat-users.xml 配置不生效原因

安装玩tomcat,或者解压玩tomcat后,在tomcat的目录下有个conf文件夹,在这个文件夹下面有一个tomcat-users.xml的文件,这个文件里面的配置信息是当我们进入http://localhost:8080 页面后,有些功能需要登录才能进行访问。今天我解压好了一个tomcat,环境变量也配置好了,启动服务也没问题,就是登录不进去Manager App,大

2016-08-05 21:57:44 10250 1

空空如也

我的文章评论怎么不见了?

发表于 2018-10-31 最后回复 2019-01-08

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

TA关注的人 TA的粉丝

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