自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Netty TCP keep alive

Netty对于TCP长连接的实现原来都是通过tcp,udp的短连接方式进行协议间的通信,所以当Client端发送请求过来后,接收和回执是一次性的。Netty会为每一次的请求建立一个Channel(管道),当这次请求结束后,就会销毁这个Channel。但是TCP长连接状态下,Client发送请求到Server后,每个通道都会存在,直到其中一方退出。其实和Websocket类型,双方建立通信后,只要其中一方不断开,就可以持续保持通信发送接收数据。代码实现引入Netty依赖compile group:

2020-12-27 12:26:23 421

原创 类加载器和反射的基础了解

在java的世界里,一切皆对象。其实从某种意义上说,在java中有两种对象:实例对象和Class对象。实例对象就是我们平常定义的一个类的实例而Class对象是没办法用new关键字得到的,因为它是jvm生成用来保存对应类的信息的,换句话说,当我们定义好一个类文件并编译成.class字节码后,编译器同时为我们创建了一个Class对象并将它保存.class文件中。我不知道这样描述是否妥当,因为我也见过某些书上直接把.class文件称之为Class对象。同时在jvm内部有一个类加载机制,即在需要的时候(懒加载)将

2020-12-20 11:25:25 151 1

原创 Java8 - 实用Optional对象

Java8-Optional前言身为java程序员,大家最经常遇到的或者是最容易忽视的就是npe。当我们在调用某个方法获取返回值时,可能会直接去get或者其他操作,这就会引起npe。所以通常我们会进行判断是否为Null的操作,只有非空的前提下才能作为参数。在java8的新特性中,Optional类就是其一。文档是这样介绍的Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以

2020-11-22 12:48:05 312

原创 对于WebSocket的简单理解

一、什么是WebSocket首先需要明白webSocket的概念,下边是维基百科的解释WebSocket是一种通信协议,可在单个TCP连接上进行全双工通信。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以建立持久性的连接,并进行双向数据传输。我们都知道,不使用WebSocket与服务器实时交互,一般有两种方法。AJAX轮询和Long Polling长轮询。AJAX轮询

2020-09-26 10:46:24 389

原创 MongoDB主从集群、副本集与分片集群

MongoDB主从集群、副本集与分片集群一、主从复制主从复制是MongoDB最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等. 最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址。采用双机备份后主节点挂掉了后从节点可以接替主机继续服务。所以这种模式比单节点的高可用性要好很多。配置主从复制的注意点1)在数据库集群中要明确的知道谁是主服务器,主服务器只有一台.2)从服务器要知道自己的数据源也就是对应的主服务是谁.

2020-08-15 10:54:09 1428

原创 浅谈延迟队列任务

延时任务和定时任务是有区别的,定时任务一般是有固定时间周期的,有明确的触发时间。而延时任务一般没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件。也就是说,任务事件生成时并不想让消费者立即拿到,而是延迟一定时间后才接收到该事件进行消费。延迟队列的需求在日常开发的场景中经常碰到。比如:用户多少天未登录给用户做召回推送;下单之后如果三十分钟内没有付款就自动取消订单。订餐通知:下单成功后60s之后给用户发送短信通知。当订单一直处于未支付状态时,如何及时的关闭订单

2020-07-25 11:35:22 902

原创 Redis连接远程服务器及基础命令

在远程服务上执行命令如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。语法$ redis-cli -h host -p port -a password示例redis-cli -h 127.0.0.1 -p 6379 -a 123456-h 服务器地址 -p 端口号 -a 密码当我们登录进去以后,可以看到redis的控制台,这时候可以继续下一步操作。Redis基础命令keys *该命令查询当前redis中的存在的所有keyDEL key该命

2020-05-19 17:56:27 1524

空空如也

空空如也

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

TA关注的人

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