Fork me on GitHub

随笔分类 -  java

上一页 1 2 3 4 5 6 ··· 16 下一页
java相关教程
摘要:简介 字符串是我们程序中最常用到的消息格式,也是最简单的消息格式,但是正因为字符串string太过简单,不能附加更多的信息,所以在netty中选择的是使用byteBuf作为最底层的消息传递载体。 虽然底层使用的ByteBuf,但是对于程序员来说,还是希望能够使用这种最简单的字符串格式,那么有什么简单 阅读全文
posted @ 2022-05-12 16:10 flydean 阅读(697) 评论(0) 推荐(1) 编辑
摘要:简介 在现代计算机系统中,可以有多个CPU,每个CPU又可以有多核。为了充分利用现代CPU的功能,JAVA中引入了多线程,不同的线程可以同时在不同CPU或者不同CPU核中运行。但是对于JAVA程序猿来说创建多少线程是可以自己控制的,但是线程到底运行在哪个CPU上,则是一个黑盒子,一般来说很难得知。 阅读全文
posted @ 2022-05-11 15:36 flydean 阅读(1279) 评论(2) 推荐(0) 编辑
摘要:简介 什么是callback呢?简单点说callback就是回调通知,当我们需要在某个方法完成之后,或者某个事件触发之后,来通知进行某些特定的任务就需要用到callback了。 最有可能看到callback的语言就是javascript了,基本上在javascript中,callback无处不在。为 阅读全文
posted @ 2022-05-10 14:35 flydean 阅读(847) 评论(0) 推荐(0) 编辑
摘要:简介 前面我们讲到了JNA中JAVA代码和native代码的映射,虽然可以通过TypeMapper来将JAVA中的类型和native中的类型进行映射,但是native中的数据类型都是基础类型,如果native中的数据类型是复杂的struct类型该如何进行映射呢? 不用怕,JNA提供了Structur 阅读全文
posted @ 2022-05-09 16:27 flydean 阅读(1553) 评论(1) 推荐(0) 编辑
摘要:简介 在JNA中,为了和native的function进行映射,我们可以有两种mapping方式,第一种是interface mapping,第二种是direct mapping。虽然两种方式不同,但是在具体的方法映射中,我们都需要在JAVA中定义一个和native方法进行映射的方法。 而这个JAV 阅读全文
posted @ 2022-05-06 14:10 flydean 阅读(500) 评论(0) 推荐(0) 编辑
摘要:简介 我们知道在native的代码中有很多指针,这些指针在JNA中被映射成为Pointer。除了Pointer之外,JNA还提供了更加强大的Memory类,本文将会一起探讨JNA中的Pointer和Memory的使用。 Pointer Pointer是JNA中引入的类,用来表示native方法中的指 阅读全文
posted @ 2022-05-05 14:07 flydean 阅读(1400) 评论(0) 推荐(0) 编辑
摘要:简介 现在是互联网的世界,大家从各种网站中获取各类资源和信息,通常我们只需要牢记一个网站地址即可,至于这个网站后台的服务器在什么地方,我们并不需要关心。当我们的请求指向这个网址之后,接下来就只需要等待请求被转发到该网址的后端服务器上,得到返回的处理结果即可。 这个将网站名称解析成为服务IP地址的服务 阅读全文
posted @ 2022-04-29 13:51 flydean 阅读(531) 评论(1) 推荐(0) 编辑
摘要:简介 netty中的数据是通过ByteBuf来进行传输的,一个ByteBuf中可能包含多个有意义的数据,这些数据可以被称作frame,也就是说一个ByteBuf中可以包含多个Frame。 对于消息的接收方来说,接收到了ByteBuf,还需要从ByteBuf中解析出有用而数据,那就需要将ByteBuf 阅读全文
posted @ 2022-04-28 13:52 flydean 阅读(606) 评论(0) 推荐(0) 编辑
摘要:简介 netty提供了一个从ByteBuf到用户自定义的message的解码器叫做ByteToMessageDecoder,要使用这个decoder,我们需要继承这个decoder,并实现decode方法,从而在这个方法中实现ByteBuf中的内容到用户自定义message对象的转换。 那么在使用B 阅读全文
posted @ 2022-04-27 13:50 flydean 阅读(548) 评论(0) 推荐(0) 编辑
摘要:简介 程序和程序之间的数据传输方式有很多,可以通过二进制协议来传输,比较流行的像是thrift协议或者google的protobuf。这些二进制协议可以实现数据的有效传输,并且通过二进制的形式可以节省数据的体积,在某些速度和效率优先的情况下是非常有效的。并且如果不同的编程语言之间的相互调用,也可以通 阅读全文
posted @ 2022-04-26 13:50 flydean 阅读(1387) 评论(1) 推荐(0) 编辑
摘要:简介 我们知道netty中数据传输的核心是ByteBuf,ByteBuf提供了多种数据读写的方法,包括基本类型和byte数组的读写方法。如果要在netty中传输这些数据,那么需要构建ByteBuf,然后调用ByteBuf中对应的方法写入对应的数据,接着套用netty中标准的模板即可使用。 对于byt 阅读全文
posted @ 2022-04-25 13:49 flydean 阅读(1557) 评论(1) 推荐(0) 编辑
摘要:简介 在netty中我们需要传递各种类型的消息,这些message可以是字符串,可以是数组,也可以是自定义的对象。不同的对象之间可能需要互相转换,这样就需要一个可以自由进行转换的转换器,为了统一编码规则和方便用户的扩展,netty提供了一套消息之间进行转换的框架。本文将会讲解这个框架的具体实现。 框 阅读全文
posted @ 2022-04-18 13:56 flydean 阅读(895) 评论(1) 推荐(0) 编辑
摘要:简介 JNA提供JAVA类型和native类型的映射关系,但是这一种映射关系只是一个大概的映射,我们在实际的应用中还有很多需要注意的事项,本文将会为大家详细讲解在使用类型映射中可能会出现的问题。一起来看看吧。 String 首先是String的映射,JAVA中的String实际上对应的是两种nati 阅读全文
posted @ 2022-04-15 14:43 flydean 阅读(1147) 评论(0) 推荐(0) 编辑
摘要:简介 JNA中有很多种映射,library的映射,函数的映射还有函数参数和返回值的映射,libary和函数的映射比较简单,我们在之前的文章中已经讲解过了,对于类型映射来说,因为JAVA中的类型种类比较多,所以这里我们将JNA的类型映射提取出来单独讲解。 类型映射的本质 我们之前提到在JNA中有两种方 阅读全文
posted @ 2022-04-14 15:12 flydean 阅读(602) 评论(0) 推荐(0) 编辑
摘要:简介 不管是JNI还是JNA,最终调用的都是native的方法,但是对于JAVA程序来说,一定需要一个调用native方法的入口,也就是说我们需要在JAVA方法中定义需要调用的native方法。 对于JNI来说,我们可以使用native关键字来定义本地方法。那么在JNA中有那些在JAVA代码中定义本 阅读全文
posted @ 2022-04-13 14:50 flydean 阅读(673) 评论(0) 推荐(0) 编辑
摘要:简介 什么是Base64编码呢?在回答这个问题之前,我们需要了解一下计算机中文件的分类,对于计算机来说文件可以分为两类,一类是文本文件,一类是二进制文件。 对于二进制文件来说,其内容是用二进制来表示的,对于人类是不可立马理解的。如果你尝试用文本编辑器打开二进制文件,可能会看到乱码。这是因为二进制文件 阅读全文
posted @ 2022-04-08 18:06 flydean 阅读(556) 评论(0) 推荐(0) 编辑
摘要:简介 之前的文章我们讲到了Socket中的Stream Socket和Datagram Socket,这两种Socket通常分别是基于tcp和udp协议来进行数据的传输。这两种Socket都有一个共同的特点,那就是需要一个IP地址和端口来建立客户端和服务器端的连接。 那么今天我们会来讲解一个特殊的s 阅读全文
posted @ 2022-04-06 15:06 flydean 阅读(1350) 评论(1) 推荐(1) 编辑
摘要:简介 上一篇文章我们讲解了Socket的分类和最常用到的Stream Socket,Stream Socket一般是基于TCP协议的,所以我们经常在web服务中能够看到他们的身影。当然TCP协议有个孪生兄弟叫做UDP,那么基于UDP来做传输协议的socket协议就叫做Datagram Socket, 阅读全文
posted @ 2022-04-01 18:33 flydean 阅读(910) 评论(0) 推荐(1) 编辑
摘要:简介 不管是在普通的网络编程中还是在netty中,都经常会提到一个词叫做socket,好像socket是一个神奇的东西,使用socket我们可以建立客户端到服务器端的连接,并且和进行客户端和服务器端的通讯,那么socket到底是什么呢?它有哪些分类呢?一起来看看吧。 Socket是什么 socket 阅读全文
posted @ 2022-03-30 20:39 flydean 阅读(1188) 评论(1) 推荐(1) 编辑
摘要:简介 JAVA是可以调用本地方法的,官方提供的调用方式叫做JNI,全称叫做java native interface。要想使用JNI,我们需要在JAVA代码中定义native方法,然后通过javah命令创建C语言的头文件,接着使用C或者C++语言来实现这个头文件中的方法,编译源代码,最后将编译后的文 阅读全文
posted @ 2022-03-28 20:23 flydean 阅读(3300) 评论(1) 推荐(0) 编辑

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