- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 JDK1.8新特性之时间和日期的使用
LocalDate该类的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息。另外,它也不附带任何与时区相关的信息public class LocalDataTest { public static void main(String[] args) { //你可以通过静态工厂方法of创建一个LocalDate实例。LocalDate实例提供了多种方法来...
2019-12-20 15:09:06 569
原创 自定义注解实现业务分发
有时候,在我们的项目中,一个请求中会包含很多种情况。我们需要根据一个字段不同的状态去走不同的逻辑。如果用我们的正常逻辑写,就会产生很多的if else判断,使得代码的可读性和维护性降低。比如我们有一个聊天服务,需要通过自定义消息体来完成具体的业务处理。对应的行为可能有登录,退出登录,发送消息,已读消息,加好友,获取用户信息,消息撤回,消息删除等等。这里的行为最少会有数10种之多,此时我们就...
2019-12-19 14:35:46 730
原创 java设计模式之状态模式
1.基本介绍 状态模式(StatePattern):它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类 状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。比如有一个抽奖活动,在有没有积分时的抽奖行为是不一样的。如果没有积分...
2019-12-17 19:24:05 166
原创 TCP的粘包和拆包及Netty中的解决方案
1.基本介绍 TCP 是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的 socket, 因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化方法(Nagle 算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样做虽然提高了效率,但是接收端就难于分辨出完整的数据包了,因为面向流的通信是无消息保护边界的 由...
2019-12-17 09:28:36 199
原创 Netty之十大核心模块组件介绍
1.Bootstrap、ServerBootstrap(1)简介Bootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件,Netty 中 Bootstrap 类是客户端程序的启动引导类,ServerBootstrap 是服务端启动引导类(2)常用方法方法 描述 group(EventLo...
2019-12-16 12:19:54 892
原创 Netty之实现一个简单的群聊系统
要求 编写一个 Netty 群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞) 实现多人群聊 服务器端:可以监测用户上线,离线,并实现消息转发功能 客户端:通过channel可以无阻塞发送消息给其它所有用户,同时可以接受其它用户发送的消息(由服务器转发得到) 代码演示服务端public class GroupChatServer { ...
2019-12-13 18:48:14 580
原创 java NIO模型和三大核心原理
1.NIO(1)基本介绍1)Java NIO全程 java non-blocking IO,是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO,是同步非阻塞的2)NIO相关类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写3)NIO有三大核心部分:Channel(通道),Buffer(缓冲区),S...
2019-12-09 14:33:54 1124
原创 Netty入门之Netty的基本介绍和IO模型
一.Netty介绍和应用场景1.简介 Netty是由JBOSS提供的一个java开源框架,现为Github上的独立项目 Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络IO程序 Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer-to-Peer场景下的大量数据持续传输的应用 Netty本质是...
2019-12-09 14:25:03 471
web_demo.zip
2020-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人