在前面两个小节,我们已经学习了服务端启动与客户端启动的流程,熟悉了这两个过程之后,就可以建立服务端与客户端之间的通信了,本小节,我们用一个非常简单的 Demo 来了解一下服务端和客户端是如何来通信的。......
Netty入门与实战(3) 客户端启动流程?
上一小节,我们已经学习了 Netty 服务端启动的流程,这一小节,我们来学习一下 Netty 客户端的启动流程。
一、客户端启动 Demo
对于客户端的启动来说,和服务端的启动类似,依然需要线程模......
Netty入门与实战(2) 服务端启动流程
这一小节,我们来学习一下如何使用 Netty 来启动一个服务端应用程序。
一、服务端启动 Demo
以下是服务端启动的一个非常精简的 Demo:
NettyServer.java
......
Netty入门与实战(1) Netty 是什么?
在开始了解 Netty 是什么之前,我们先来回顾一下,如果我们需要实现一个客户端与服务端通信的程序,使用传统的 IO 编程,应该如何来实现?
一、IO编程
我们简化下场景:客户端每隔两秒发送一个带......
Mac安装glpk for java,启动amod项目
昨天晚上有个朋友给了个项目,让我尝试帮忙启动。项目地址在 https://github.com/idsc-frazzoli/amod根据 Readme 说是先要安装 glpk for jav......
线程安装的List:Collections.synchronizedList与CopyOnWriteArrayList比较
之前帮一个朋友写代码的时候,遇到一个需要遍历列表。
一、单线程:性能较差
版本一、单线程方式
Long startTime = Syste......
SpringBoot自定义注解+AOP实现系统操作日志
在之前我们记录一些后台操作日志都是通过 logService.insert(log) 的方式,每次都要获取一堆信息,代码比较冗余和侵入性太强。我们想能不能通过一个东西抽取公共的代码,通过注解设置简单的......
Java将一个列表平均分成多个列表算法和MyBatis批量执行
最近帮别人写代码,经常遇到需要将一个 List 分成几等份然后分别操作。比如将一个列表,大小未知,很可能比较大,插入到数据库中,如果我们直接遍历执行 insert into,成本太高,主要消耗在网络延......
SpringCloud 使用 Zuul 构建微服务网关
Zuul 是 Netflix 开源的微服务网关,它可以和 Eureka、Ribbon、Hystrix 等组件配合使用。Zuul 的核心就是一系列过滤器,这些过滤器可以完成以下功能:
身份认证......
RocketMQ api 生产者和消费者例子
上文介绍了 RocketMQ 和可视化控制台的安装和启动,本文介绍通过 RocketMQ 官方的 api实现一个简单的生产者和消费者例子,因为是直接使用官方API,所以不需要 springboot 项......
Mac或Linux安装RocketMQ和可视化控制台
消息中间件是当前互联网公司必用的一个东西,通常用于 异步、削峰和解耦。目前公司里常见的MQ主要是 RabbitMQ、RocketMQ 和 Kafka,目前所在的项目组主要是 Kafka,之前的一个公司......
SpringBoot 实现用户登录,分布式Session功能
之前介绍过不少关于登录功能的代码,本文介绍一下关于分布式Session 的功能实现,
完整代码(以后写博客,尽量给 git 地址)在 https://github.com/saysky/sens......
开发环境从从旧电脑转移到新电脑
上一次买的电脑还是17年暑假,那时候买的是 17款 8GB内存 128GB容量,用了两年,渐渐发现容量严重不足,内存也吃紧。
就在前几天,痛下血本付全款(1.4w)买了最新款,MBP 13寸 1......
SpringBoot整合RabbitMQ,简单实现消息发送和订阅
通常为了测试两个服务之间消息生产和消费可以创建两个 SpringBoot 项目,这里为了简单,就用一个项目了,一个在正常的项目中,作为消费者(订阅者),等待接受消息;另一个通过 测试类生产消息,发送消......
使用 Spring Cloud Bus 自动刷新配置(SpringBoot2.x版本)
上文(点此回顾)介绍了 Spring Cloud 中配置中心的搭建以及客户端(即微服务项目,如博客系统)读取配置中心配置的方法。
但是,我们发现,每次在 GitHub 上修改配置,比如修改了数据......