flydean程序那些事
码龄17年
  • 6,204,336
    被访问
  • 653
    原创
  • 137
    排名
  • 15,501
    粉丝
关注
提问 私信

个人简介:懂程序更懂你!微信公众号:程序那些事 个人主页:www.flydean.com 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!

  • 加入CSDN时间: 2005-05-31
博客简介:

程序那些事

博客描述:
最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!
查看详细资料
  • 8
    领奖
    总分 4,910 当月 222
个人成就
  • Java领域优质创作者
  • 博客专家认证
  • 获得2,081次点赞
  • 内容获得1,744次评论
  • 获得3,169次收藏
  • GitHub 获得650Stars
创作历程
  • 57篇
    2022年
  • 197篇
    2021年
  • 338篇
    2020年
  • 61篇
    2019年
成就勋章
TA的专栏
  • 看动画学算法
    付费
    24篇
  • 小知识
    4篇
  • flutter
    30篇
  • linux
    2篇
  • 人工智能
    4篇
  • 数学基础
    3篇
  • java
    292篇
  • JVM
    45篇
  • java新特性
    41篇
  • io-nio
    90篇
  • java集合教程
    15篇
  • 流操作
    15篇
  • Python
    40篇
  • Spring Boot
    39篇
  • 架构
    12篇
  • nodejs
    33篇
  • 安全
    33篇
  • 数据库
    1篇
  • web tech
    4篇
  • 服务器
    7篇
  • 秘籍
    6篇
  • CS揭秘
    17篇
  • 区块链
    35篇
  • 超级账本
    7篇
  • 以太坊
    3篇
  • Libra
    9篇
  • 比特币
    5篇
  • 响应式系统
    91篇
  • 性能调优
    7篇
  • 密码学和算法
    37篇
  • 黑科技
    1篇
  • tech-weekly
    2篇
  • 多线程
    46篇
  • Spring Cloud
    1篇
  • Spring5参考指南
    22篇
  • scala
    19篇
  • ORM
    1篇
  • 分布式技术
    8篇
  • 工具技巧
    28篇
兴趣领域 设置
  • 后端
    架构
  • 人工智能
    机器学习神经网络
原创文章每日更新
欢迎关注公众号:
「程序那些事」

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!


PDF下载失败的小伙伴直接clone我的整个github目录即可!

我整理的编程秘籍:

JDK8GC-cheatsheet.pdf
JDK9GC-cheatsheet.pdf
JDK10GC-cheatsheet.pdf
JDK11GC-cheatsheet.pdf
JDK12GC-cheatsheet.pdf
JDK13GC-cheatsheet.pdf
JDK14GC-cheatsheet.pdf

python3-cheatsheet.pdf
我写的电子小册:

Spring Boot 2.X实战教程(2020版)
Stream和Lambda表达式最佳实践
深入理解java集合
小师妹学IO/NIO
我翻译的Spring5参考指南:

Spring5中文参考指南.pdf
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

netty系列之:使用Jboss Marshalling来序列化java对象

文章目录简介添加JBoss Marshalling依赖JBoss Marshalling的使用总结简介在JAVA程序中经常会用到序列化的场景,除了JDK自身提供的Serializable之外,还有一些第三方的产品可以实现对JAVA对象的序列化。其中比较有名的就是Google protobuf。当然,也有其他的比较出名的序列化工具,比如Kryo和JBoss Marshalling。今天想给大家介绍的就是JBoss Marshalling,为什么要介绍JBoss Marshalling呢?用过googl
原创
发布博客 5 小时前 ·
7 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中常用的对象编码解码器

文章目录简介什么是序列化重构序列化对象序列化不是加密使用真正的加密使用代理Serializable和Externalizable的区别netty中对象的传输ObjectEncoderObjectDecoderObjectEncoderOutputStream和ObjectDecoderInputStream总结简介我们在程序中除了使用常用的字符串进行数据传递之外,使用最多的还是JAVA对象。在JDK中,对象如果需要在网络中传输,必须实现Serializable接口,表示这个对象是可以被序列化的。这样就可
原创
发布博客 昨天 13:56 ·
24 阅读 ·
0 点赞 ·
0 评论

网络协议之:sctp流控制传输协议

文章目录简介TCP有什么不好sctp的特点总结简介要讲网络协议,肯定离不开OSI(Open System Interconnection)的七层模型。 我们一般关注的是网络层之上的几层,比如IPV4 IPV6所在的网络层,TCP UDP所在的传输层,HTTP FTP所在的应用层等。今天要讲的sctp协议,全称是Stream Control Transmission Protocol,翻译成中文就是流控制传输协议。是由IETF在RFC 4960中提出的。传输层已经有广泛被使用的TCP和UDP协议,那么
原创
发布博客 前天 15:07 ·
45 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中常用的xml编码解码器

文章目录简介XmlFrameDecoderXmlDecoder总结简介在json之前,xml是最常用的数据传输格式,虽然xml的冗余数据有点多,但是xml的结构简单清晰,至今仍然运用在程序中的不同地方,对于netty来说自然也提供了对于xml数据的支持。netty对xml的支持表现在两个方面,第一个方面是将编码过后的多个xml数据进行frame拆分,每个frame包含一个完整的xml。另一方面是将分割好的frame进行xml的语义解析。进行frame拆分可以使用XmlFrameDecoder,进行x
原创
发布博客 2022.05.13 ·
74 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中常用的字符串编码解码器

文章目录简介netty中的字符串编码解码器不同平台的换行符字符串编码的实现总结简介字符串是我们程序中最常用到的消息格式,也是最简单的消息格式,但是正因为字符串string太过简单,不能附加更多的信息,所以在netty中选择的是使用byteBuf作为最底层的消息传递载体。虽然底层使用的ByteBuf,但是对于程序员来说,还是希望能够使用这种最简单的字符串格式,那么有什么简单的方法吗?netty中的字符串编码解码器为了解决在netty的channel中传递字符串的问题,netty提供了针对于字符串的编
原创
发布博客 2022.05.12 ·
100 阅读 ·
0 点赞 ·
0 评论

java高级用法之:绑定CPU的线程Thread-Affinity

文章目录简介Java Thread Affinity简介AffinityLock的使用使用API直接分配CPU总结简介在现代计算机系统中,可以有多个CPU,每个CPU又可以有多核。为了充分利用现代CPU的功能,JAVA中引入了多线程,不同的线程可以同时在不同CPU或者不同CPU核中运行。但是对于JAVA程序猿来说创建多少线程是可以自己控制的,但是线程到底运行在哪个CPU上,则是一个黑盒子,一般来说很难得知。但是如果是不同CPU核对同一线程进行调度,则可能会出现CPU切换造成的性能损失。一般情况下这种损
原创
发布博客 2022.05.11 ·
27 阅读 ·
0 点赞 ·
0 评论

java高级用法之:JNA中的回调

文章目录简介JNA中的Callbackcallback的应用callback的定义callback的获取和应用在多线程环境中使用callback总结简介什么是callback呢?简单点说callback就是回调通知,当我们需要在某个方法完成之后,或者某个事件触发之后,来通知进行某些特定的任务就需要用到callback了。最有可能看到callback的语言就是javascript了,基本上在javascript中,callback无处不在。为了解决callback导致的回调地狱的问题,ES6中特意引入了
原创
发布博客 2022.05.10 ·
188 阅读 ·
1 点赞 ·
0 评论

java高级用法之:JNA中的Structure

文章目录简介native中的structStructure特殊类型的Structure结构体数组作为参数结构体数组作为返回值结构体中的结构体结构体中的数组结构体中的可变字段结构体中的只读字段总结简介前面我们讲到了JNA中JAVA代码和native代码的映射,虽然可以通过TypeMapper来将JAVA中的类型和native中的类型进行映射,但是native中的数据类型都是基础类型,如果native中的数据类型是复杂的struct类型该如何进行映射呢?不用怕,JNA提供了Structure类,来帮助我们
原创
发布博客 2022.05.09 ·
173 阅读 ·
1 点赞 ·
0 评论

java高级用法之:JNA中的Function

文章目录简介function的定义Function的实际应用总结简介在JNA中,为了和native的function进行映射,我们可以有两种mapping方式,第一种是interface mapping,第二种是direct mapping。虽然两种方式不同,但是在具体的方法映射中,我们都需要在JAVA中定义一个和native方法进行映射的方法。而这个JAVA中的映射在JNA中就是一个function。通过或者function对象,我们可以实现一些非常强大的功能,一起看看吧。function的定义
原创
发布博客 2022.05.06 ·
97 阅读 ·
1 点赞 ·
0 评论

java高级用法之:JNA中的Memory和Pointer

文章目录简介Pointer特殊的Pointer:OpaqueMemory总结简介我们知道在native的代码中有很多指针,这些指针在JNA中被映射成为Pointer。除了Pointer之外,JNA还提供了更加强大的Memory类,本文将会一起探讨JNA中的Pointer和Memory的使用。PointerPointer是JNA中引入的类,用来表示native方法中的指针。大家回想一下native方法中的指针到底是什么呢?native方法中的指针实际上就是一个地址,这个地址就是真正对象的内存地址。所
原创
发布博客 2022.05.05 ·
40 阅读 ·
0 点赞 ·
0 评论

网络协议之:Domain name service DNS详解

文章目录简介DNS的功能DNS的组成域名空间Domain name spaceName serversDNS的工作流程DNS资源记录DNS消息的结构总结简介现在是互联网的世界,大家从各种网站中获取各类资源和信息,通常我们只需要牢记一个网站地址即可,至于这个网站后台的服务器在什么地方,我们并不需要关心。当我们的请求指向这个网址之后,接下来就只需要等待请求被转发到该网址的后端服务器上,得到返回的处理结果即可。这个将网站名称解析成为服务IP地址的服务就是DNS服务,它的全称是Domain Name Syst
原创
发布博客 2022.04.29 ·
92 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中的frame解码器

文章目录简介LineBasedFrameDecoderDelimiterBasedFrameDecoderFixedLengthFrameDecoderLengthFieldBasedFrameDecoder总结简介netty中的数据是通过ByteBuf来进行传输的,一个ByteBuf中可能包含多个有意义的数据,这些数据可以被称作frame,也就是说一个ByteBuf中可以包含多个Frame。对于消息的接收方来说,接收到了ByteBuf,还需要从ByteBuf中解析出有用而数据,那就需要将ByteBu
原创
发布博客 2022.04.28 ·
469 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中的自动解码器ReplayingDecoder

文章目录简介ByteToMessageDecoder可能遇到的问题ReplayingDecoder的实现原理总结简介netty提供了一个从ByteBuf到用户自定义的message的解码器叫做ByteToMessageDecoder,要使用这个decoder,我们需要继承这个decoder,并实现decode方法,从而在这个方法中实现ByteBuf中的内容到用户自定义message对象的转换。那么在使用ByteToMessageDecoder的过程中会遇到什么问题呢?为什么又会有一个Replaying
原创
发布博客 2022.04.27 ·
708 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中的核心解码器json

文章目录简介java中对json的支持netty对json的解码总结简介程序和程序之间的数据传输方式有很多,可以通过二进制协议来传输,比较流行的像是thrift协议或者google的protobuf。这些二进制协议可以实现数据的有效传输,并且通过二进制的形式可以节省数据的体积,在某些速度和效率优先的情况下是非常有效的。并且如果不同的编程语言之间的相互调用,也可以通过这种二进制的协议来实现。虽然二进制更加快速和有效,但是对于程序员来说不是很友好,因为一个人很难直接读取二进制文件,虽然也存在一些一些文本的
原创
发布博客 2022.04.26 ·
575 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中的核心编码器bytes数组

文章目录简介byte是什么netty中的byte数组的工具类netty中byte的编码器总结简介我们知道netty中数据传输的核心是ByteBuf,ByteBuf提供了多种数据读写的方法,包括基本类型和byte数组的读写方法。如果要在netty中传输这些数据,那么需要构建ByteBuf,然后调用ByteBuf中对应的方法写入对应的数据,接着套用netty中标准的模板即可使用。对于byte数组来说,如果每次都将其封装进ByteBuf中,再进行传输显得有些麻烦。于是netty提供了一个基于bytes的核心
原创
发布博客 2022.04.25 ·
487 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中的核心编码器base64

文章目录简介netty codec的实现逻辑netty中Base64的实现netty中的base64编码和解码器Base64EncoderBase64Decoder总结简介我们知道数据在netty中传输是以ByteBuf的形式进行的,可以说ByteBuf是netty的数据传输基础。但是对于现代的应用程序来说,通常我们需要用到其他的数据结构或者类型。为了方便我们在程序中的编写,一种方式就是在将数据传入到netty中的时候由程序员自身将数据格式进行转换,然后再调用netty的系统方法。另外一种方式就是定义
原创
发布博客 2022.04.22 ·
257 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中的核心MessageToByte编码器

文章目录简介MessageToByte框架简介MessageToByteEncoderByteToMessageDecoderByteToMessageCodec总结简介之前的文章中,我们讲解了netty中从一个message转换成为另外一个message的框架叫做MessageToMessage编码器。但是message to message只考虑了channel中消息在处理过程中的转换,但是我们知道channel中最终传输的数据一定是ByteBuf,所以我们还需要一个message和ByteBuf相
原创
发布博客 2022.04.20 ·
539 阅读 ·
0 点赞 ·
0 评论

netty系列之:netty中的核心MessageToMessage编码器

文章目录简介框架简介MessageToMessageEncoderMessageToMessageDecoderMessageToMessageCodec总结简介在netty中我们需要传递各种类型的消息,这些message可以是字符串,可以是数组,也可以是自定义的对象。不同的对象之间可能需要互相转换,这样就需要一个可以自由进行转换的转换器,为了统一编码规则和方便用户的扩展,netty提供了一套消息之间进行转换的框架。本文将会讲解这个框架的具体实现。框架简介netty为消息和消息之间的转换提供了三个类
原创
发布博客 2022.04.18 ·
519 阅读 ·
0 点赞 ·
0 评论

java高级用法之:JNA类型映射应该注意的问题

文章目录简介StringBuffers,Memory,数组和Pointer可变参数总结简介JNA提供JAVA类型和native类型的映射关系,但是这一种映射关系只是一个大概的映射,我们在实际的应用中还有很多需要注意的事项,本文将会为大家详细讲解在使用类型映射中可能会出现的问题。一起来看看吧。String首先是String的映射,JAVA中的String实际上对应的是两种native类型:const char* 和 const wchar_t*。默认情况下String会被转换成为char* 。ch
原创
发布博客 2022.04.15 ·
543 阅读 ·
0 点赞 ·
0 评论

java高级用法之:在JNA中使用类型映射

文章目录简介类型映射的本质TypeMapperNativeMapped总结简介JNA中有很多种映射,library的映射,函数的映射还有函数参数和返回值的映射,libary和函数的映射比较简单,我们在之前的文章中已经讲解过了,对于类型映射来说,因为JAVA中的类型种类比较多,所以这里我们将JNA的类型映射提取出来单独讲解。类型映射的本质我们之前提到在JNA中有两种方法来映射JAVA中的方法和native libary中的方法,一种方法叫做interface mapping,一种方式叫做direct
原创
发布博客 2022.04.14 ·
592 阅读 ·
1 点赞 ·
0 评论
加载更多