Fork me on GitHub
摘要: 简介 区块链是一种防篡改的共享数字分布式账本,可记录公共或私有对等网络中的交易。分布式账本分布到网络中的所有成员节点,以加密散列链接的块的顺序链,永久记录网络中对等点之间发生的资产交换的历史记录。 区块链的广为人知是从比特币开始的,但是区块链不是比特币,区块链只是比特币底层的技术基础。比特币可以看做 阅读全文
posted @ 2020-05-21 07:02 flydean 阅读(852) 评论(1) 推荐(2) 编辑
摘要: 简介 自从Spring横空出世之后,Spring就成了事实上的J2EE标准。Spring作为一个轻量级的J2EE应用框架,就是针对EJB的复杂特性而设计的,最后毫无疑问,Spring凭借它的简洁,可理解性和可用性赢得了最后的胜利。 Spring从最初的xml配置到后面的注解配置,一直都在不断的进步, 阅读全文
posted @ 2020-05-20 06:59 flydean 阅读(948) 评论(0) 推荐(0) 编辑
摘要: 简介 是什么让java世界变得更好,程序员变得更友爱,秃头率变得不是那么的高,让程序员不必再每天996,有时间找个女朋友? 是Spring。 是什么让企业级java应用变得简单易懂,降低了java程序员的进入门槛,导致了现在遍地都是java程序员的窘境? 是Spring。 是什么从无冕之王变成了事实 阅读全文
posted @ 2020-05-20 06:45 flydean 阅读(3785) 评论(1) 推荐(2) 编辑
摘要: java作为第一大编程语言,可谓源远流长,一代又一代的java程序员前仆后继走在java学习的路上。java程序员的学习之路在2020年又有什么变化呢?本文详细附上了每一个部分所需知识的教程链接地址,并会持续更新,希望能够和大家一起进步! 阅读全文
posted @ 2020-04-13 10:20 flydean 阅读(2688) 评论(1) 推荐(0) 编辑
摘要: 简介 netty中的数据是通过ByteBuf来进行传输的,一个ByteBuf中可能包含多个有意义的数据,这些数据可以被称作frame,也就是说一个ByteBuf中可以包含多个Frame。 对于消息的接收方来说,接收到了ByteBuf,还需要从ByteBuf中解析出有用而数据,那就需要将ByteBuf 阅读全文
posted @ 2022-04-28 13:52 flydean 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 简介 netty提供了一个从ByteBuf到用户自定义的message的解码器叫做ByteToMessageDecoder,要使用这个decoder,我们需要继承这个decoder,并实现decode方法,从而在这个方法中实现ByteBuf中的内容到用户自定义message对象的转换。 那么在使用B 阅读全文
posted @ 2022-04-27 13:50 flydean 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 简介 程序和程序之间的数据传输方式有很多,可以通过二进制协议来传输,比较流行的像是thrift协议或者google的protobuf。这些二进制协议可以实现数据的有效传输,并且通过二进制的形式可以节省数据的体积,在某些速度和效率优先的情况下是非常有效的。并且如果不同的编程语言之间的相互调用,也可以通 阅读全文
posted @ 2022-04-26 13:50 flydean 阅读(103) 评论(1) 推荐(0) 编辑
摘要: 简介 我们知道netty中数据传输的核心是ByteBuf,ByteBuf提供了多种数据读写的方法,包括基本类型和byte数组的读写方法。如果要在netty中传输这些数据,那么需要构建ByteBuf,然后调用ByteBuf中对应的方法写入对应的数据,接着套用netty中标准的模板即可使用。 对于byt 阅读全文
posted @ 2022-04-25 13:49 flydean 阅读(137) 评论(1) 推荐(0) 编辑
摘要: 简介 我们知道数据在netty中传输是以ByteBuf的形式进行的,可以说ByteBuf是netty的数据传输基础。但是对于现代的应用程序来说,通常我们需要用到其他的数据结构或者类型。 为了方便我们在程序中的编写,一种方式就是在将数据传入到netty中的时候由程序员自身将数据格式进行转换,然后再调用 阅读全文
posted @ 2022-04-22 14:06 flydean 阅读(197) 评论(1) 推荐(0) 编辑
摘要: 简介 之前的文章中,我们讲解了netty中从一个message转换成为另外一个message的框架叫做MessageToMessage编码器。但是message to message只考虑了channel中消息在处理过程中的转换,但是我们知道channel中最终传输的数据一定是ByteBuf,所以我 阅读全文
posted @ 2022-04-20 15:20 flydean 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 简介 在netty中我们需要传递各种类型的消息,这些message可以是字符串,可以是数组,也可以是自定义的对象。不同的对象之间可能需要互相转换,这样就需要一个可以自由进行转换的转换器,为了统一编码规则和方便用户的扩展,netty提供了一套消息之间进行转换的框架。本文将会讲解这个框架的具体实现。 框 阅读全文
posted @ 2022-04-18 13:56 flydean 阅读(151) 评论(1) 推荐(0) 编辑
摘要: 简介 JNA提供JAVA类型和native类型的映射关系,但是这一种映射关系只是一个大概的映射,我们在实际的应用中还有很多需要注意的事项,本文将会为大家详细讲解在使用类型映射中可能会出现的问题。一起来看看吧。 String 首先是String的映射,JAVA中的String实际上对应的是两种nati 阅读全文
posted @ 2022-04-15 14:43 flydean 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 简介 JNA中有很多种映射,library的映射,函数的映射还有函数参数和返回值的映射,libary和函数的映射比较简单,我们在之前的文章中已经讲解过了,对于类型映射来说,因为JAVA中的类型种类比较多,所以这里我们将JNA的类型映射提取出来单独讲解。 类型映射的本质 我们之前提到在JNA中有两种方 阅读全文
posted @ 2022-04-14 15:12 flydean 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 简介 不管是JNI还是JNA,最终调用的都是native的方法,但是对于JAVA程序来说,一定需要一个调用native方法的入口,也就是说我们需要在JAVA方法中定义需要调用的native方法。 对于JNI来说,我们可以使用native关键字来定义本地方法。那么在JNA中有那些在JAVA代码中定义本 阅读全文
posted @ 2022-04-13 14:50 flydean 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 简介 我们知道计算机中的文件可以分为两种,一种是人肉眼可读的文本类文件,一种是肉眼不可读的二进制文件。一般来说二进制文件如果用文本编辑器打开的话会显示乱码,并且二进制文件和文本文件的存储和传输方式是不一样的,那么有没有什么办法将二进制文件转换成为文本文件进行传输或者存储呢?答案是肯定的。 这种编码方 阅读全文
posted @ 2022-04-11 13:50 flydean 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 简介 什么是Base64编码呢?在回答这个问题之前,我们需要了解一下计算机中文件的分类,对于计算机来说文件可以分为两类,一类是文本文件,一类是二进制文件。 对于二进制文件来说,其内容是用二进制来表示的,对于人类是不可立马理解的。如果你尝试用文本编辑器打开二进制文件,可能会看到乱码。这是因为二进制文件 阅读全文
posted @ 2022-04-08 18:06 flydean 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 简介 之前的文章我们讲到了Socket中的Stream Socket和Datagram Socket,这两种Socket通常分别是基于tcp和udp协议来进行数据的传输。这两种Socket都有一个共同的特点,那就是需要一个IP地址和端口来建立客户端和服务器端的连接。 那么今天我们会来讲解一个特殊的s 阅读全文
posted @ 2022-04-06 15:06 flydean 阅读(196) 评论(1) 推荐(0) 编辑
摘要: 简介 上一篇文章我们讲解了Socket的分类和最常用到的Stream Socket,Stream Socket一般是基于TCP协议的,所以我们经常在web服务中能够看到他们的身影。当然TCP协议有个孪生兄弟叫做UDP,那么基于UDP来做传输协议的socket协议就叫做Datagram Socket, 阅读全文
posted @ 2022-04-01 18:33 flydean 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 简介 不管是在普通的网络编程中还是在netty中,都经常会提到一个词叫做socket,好像socket是一个神奇的东西,使用socket我们可以建立客户端到服务器端的连接,并且和进行客户端和服务器端的通讯,那么socket到底是什么呢?它有哪些分类呢?一起来看看吧。 Socket是什么 socket 阅读全文
posted @ 2022-03-30 20:39 flydean 阅读(233) 评论(1) 推荐(1) 编辑