Fork me on GitHub

随笔分类 -  java

上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
java相关教程
摘要:简介 netty中有很多适配不同协议的编码工具,对于流行的google出品的protobuf也不例外。netty为其提供了ProtobufDecoder和ProtobufEncoder两个工具还有对应的frame detection,接下来我们会通过一个例子来详细讲解如何在netty中使用proto 阅读全文
posted @ 2021-08-25 07:34 flydean 阅读(662) 评论(1) 推荐(0) 编辑
摘要:简介 protocol buffer这种优秀的编码方式,究竟底层是怎么工作的呢?为什么它可以实现高效快速的数据传输呢?这一切都要从它的编码方式说起。 定义一个简单的message 我们知道protocol buffer的主体就是message,接下来我们从一个简单的message出发,详细讲解pro 阅读全文
posted @ 2021-08-24 10:42 flydean 阅读(540) 评论(1) 推荐(2) 编辑
摘要:简介 上一篇文章我们对google的protobuf已经有了一个基本的认识,并且能够使用相应的工具生成对应的代码了。但是对于.proto文件的格式和具体支持的类型还不是很清楚。今天本文将会带大家一探究竟。 注意,本文介绍的协议是proto3版本的。 定义一个消息 protobuf中的主体被称为是me 阅读全文
posted @ 2021-08-23 11:14 flydean 阅读(377) 评论(1) 推荐(0) 编辑
摘要:简介 Protocol Buffer是google出品的一种对象序列化的方式,它的体积小传输快,深得大家的喜爱。protobuf是一种平台无关和语言无关的协议,通过protobuf的定义文件,可以轻松的将其转换成多种语言的实现,非常方便。 今天将会给大家介绍一下,protobuf的基本使用和同jav 阅读全文
posted @ 2021-08-23 11:08 flydean 阅读(4401) 评论(1) 推荐(0) 编辑
摘要:简介 netty之所以强大,是因为它内置了很多非常有用的编码解码器,通过使用这些编码解码器可以很方便的搭建出非常强大的应用程序,今天给大家讲讲netty中最基本的内置编码解码器。 netty中的内置编码器 在对netty的包进行引入的时候,我们可以看到netty有很多以netty-codec开头的a 阅读全文
posted @ 2021-08-20 17:29 flydean 阅读(1137) 评论(1) 推荐(0) 编辑
摘要:简介 上篇文章我们讲到了netty中怎么自定义编码和解码器,但是自定义实现起来还是挺复杂的,一般没有特殊必要的情况下,大家都希望越简单越好,其难点就是找到ByteBuf中的分割点,将ByteBuf分割成为一个个的可以处理的单元。今天本文讲讲netty中自带的分割处理机制。 Frame detecti 阅读全文
posted @ 2021-08-19 09:17 flydean 阅读(366) 评论(0) 推荐(0) 编辑
摘要:简介 在之前的系列文章中,我们提到了netty中的channel只接受ByteBuf类型的对象,如果不是ByteBuf对象的话,需要用编码和解码器对其进行转换,今天来聊一下netty自定义的编码和解码器实现中需要注意的问题。 自定义编码器和解码器的实现 在介绍netty自带的编码器和解码器之前,告诉 阅读全文
posted @ 2021-08-18 10:19 flydean 阅读(1605) 评论(1) 推荐(0) 编辑
摘要:简介 最近在更新github文件的时候,突然说不让更新了,让我很是困惑,原因是在2021年8月13号之后,github已经不让直接使用账号名密码来登录了,必须使用personal access token。今天给大家讲解一下怎么对这个token进行缓存。 背景介绍 github为了安全性考虑,在20 阅读全文
posted @ 2021-08-17 13:56 flydean 阅读(1342) 评论(0) 推荐(3) 编辑
摘要:简介 在之前的netty系列文章中,我们讲到了如何将对象或者String转换成为ByteBuf,通过使用netty自带的encoder和decoder可以实现非常方便的对象和ByteBuf之间的转换,然后就可以向channel中随意写入对象和字符串了。 使用netty自带的编码器当然很好,但是如果你 阅读全文
posted @ 2021-08-16 10:20 flydean 阅读(846) 评论(2) 推荐(0) 编辑
摘要:简介 在之前的文章中,我们讲到了怎么使用netty建立聊天室,但是这样的简单的聊天室太容易被窃听了,如果想要在里面说点悄悄话是很不安全的,怎么办呢?学过密码学的朋友可能就想到了一个解决办法,聊天的时候对消息加密,处理的时候再对消息解密即可。 当然在netty中上述的工作都不需要我们手动来实现,net 阅读全文
posted @ 2021-08-15 16:25 flydean 阅读(741) 评论(1) 推荐(0) 编辑
摘要:简介 在之前的系列文章中,我们到了使用netty做聊天服务器,聊天服务器使用的SocketChannel,也就是说底层的协议使用的是Scoket。今天我们将会给大家介绍如何在netty中使用UDP协议。 UDP协议 UDP( User Datagram Protocol ),也叫用户数据报协议。 U 阅读全文
posted @ 2021-08-14 15:25 flydean 阅读(1798) 评论(0) 推荐(1) 编辑
摘要:简介 经过之前的系列文章,我们已经知道了netty的运行原理,还介绍了基本的netty服务搭建流程和消息处理器的写法。今天本文会给大家介绍一个更加复杂的例子,文本聊天室。 聊天室的工作流程 今天要介绍的是文本聊天室,对于文本聊天室来说,首先需要建立一个服务器,用于处理各个客户端的连接,对于客户端来说 阅读全文
posted @ 2021-08-13 09:14 flydean 阅读(351) 评论(1) 推荐(0) 编辑
摘要:简介 我们在使用客户端和服务器端连接的过程中,可能会因为各种问题导致客户端和服务器的连接发生中断,遇到这种情况,一般情况下我们需要使用监控程序去监听客户端和服务器端的连接,如果第一时间发现连接断开了,就需要手动去重连。比较麻烦,今天给大家介绍一种netty中自动重连的方式。 使用netty建立连接 阅读全文
posted @ 2021-08-12 08:36 flydean 阅读(2992) 评论(1) 推荐(0) 编辑
摘要:简介 在之前的文章中我们提到了,对于NioSocketChannel来说,它不接收最基本的string消息,只接收ByteBuf和FileRegion。但是ByteBuf是以二进制的形式进行处理的,对于程序员来说太不直观了,处理起来也比较麻烦,有没有可能直接处理java简单对象呢?本文将会探讨一下这 阅读全文
posted @ 2021-08-11 10:05 flydean 阅读(412) 评论(0) 推荐(1) 编辑
摘要:简介 我们知道由两种数据的传输方式,分别是字符流和字节流,字符流的意思是传输的对象就是字符串,格式已经被设置好了,发送方和接收方按照特定的格式去读取就行了,而字节流是指将数据作为最原始的二进制字节来进行传输。 今天给大家介绍一下在netty中的基于流的数据传输。 package和byte 熟悉TCP 阅读全文
posted @ 2021-08-10 09:36 flydean 阅读(993) 评论(1) 推荐(0) 编辑
摘要:简介 之前的系列文章中我们学到了netty的基本结构和工作原理,各位小伙伴一定按捺不住心中的喜悦,想要开始手写代码来体验这神奇的netty框架了,刚好最近东京奥运会,我们写一个netty的客户端和服务器为中国加油可好? 场景规划 那么我们今天要搭建什么样的系统呢? 首先要搭建一个server服务器, 阅读全文
posted @ 2021-08-09 08:24 flydean 阅读(329) 评论(1) 推荐(0) 编辑
摘要:简介 上一节我们讲解了netty中的Channel,知道了channel是事件处理器和外部联通的桥梁。今天本文将会详细讲解netty的剩下几个非常总要的部分Event、Handler和PipeLine。 ChannelPipeline pipeLine是连接Channel和handler的桥梁,它实 阅读全文
posted @ 2021-08-07 09:20 flydean 阅读(510) 评论(1) 推荐(0) 编辑
摘要:java中最最让人激动的部分就是IO和NIO了。IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就存在的。NIO叫做new IO,是在java1.4中引入的新一代IO。 IO的本质是什么呢?它和NIO有什么区别 阅读全文
posted @ 2021-07-27 09:28 flydean 阅读(253) 评论(1) 推荐(0) 编辑
摘要:简介 在JDK8中,引入了三个非常有用的时间相关的API:Duration,Period和ChronoUnit。 他们都是用来对时间进行统计的,本文将会详细讲解一下这三个API的使用。 Duration Duration主要用来衡量秒级和纳秒级的时间,使用于时间精度要求比较高的情况。 先来看看Dur 阅读全文
posted @ 2020-11-05 10:23 flydean 阅读(2904) 评论(1) 推荐(0) 编辑
摘要:简介 java程序是跨平台的,可以运行在windows也可以运行在linux。但是平台不同,平台中的文件权限也是不同的。windows大家经常使用,并且是可视化的权限管理,这里就不多讲了。 本文主要讲讲linux下面的文件的权限和安全性问题,并且探讨一下如何在java程序中考虑文件的安全性。 lin 阅读全文
posted @ 2020-11-03 09:17 flydean 阅读(439) 评论(1) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页