Fork me on GitHub

随笔分类 -  java

上一页 1 2 3 4 5 6 7 ··· 16 下一页
java相关教程
摘要:简介 相信每个程序员都有一个成为C大师的梦想,毕竟C程序员处于程序员鄙视链的顶端,他可以俯视任何其他语言的程序员。 但事实情况是,无数的程序员从小白到放弃,鉴于C的难度,最后都投入了java的怀抱。JAVA以他宽广的胸怀接纳了一众无法登顶C的程序员。 开个玩笑,C和C++的优势在于和系统底层的交互和 阅读全文
posted @ 2022-03-23 20:05 flydean 阅读(512) 评论(2) 推荐(0) 编辑
摘要:简介 channel是连接客户端和服务器端的桥梁,在netty中我们最常用的就是NIO,一般和NioEventLoopGroup配套使用的就是NioServerSocketChannel和NioSocketChannel,如果是UDP协议,那么配套使用的就是NioDatagramChannel,如果 阅读全文
posted @ 2022-03-16 09:47 flydean 阅读(758) 评论(0) 推荐(0) 编辑
摘要:简介 netty为什么快呢?这是因为netty底层使用了JAVA的NIO技术,并在其基础上进行了性能的优化,虽然netty不是单纯的JAVA nio,但是netty的底层还是基于的是nio技术。 nio是JDK1.4中引入的,用于区别于传统的IO,所以nio也可以称之为new io。 nio的三大核 阅读全文
posted @ 2022-03-09 18:50 flydean 阅读(2706) 评论(0) 推荐(0) 编辑
摘要:简介 在netty中不管是服务器端的ServerBootstrap还是客户端的Bootstrap,在创建的时候都需要在group方法中传入一个EventLoopGroup参数,用来处理所有的ServerChannel和Channel中所有的IO操作和event。 可能有的小伙伴还稍微看了一下nett 阅读全文
posted @ 2022-03-07 21:17 flydean 阅读(745) 评论(1) 推荐(0) 编辑
摘要:简介 netty作为一个异步NIO框架,多线程肯定是它的基础,但是对于netty的实际使用者来说,一般是不需要接触到多线程的,我们只需要按照netty框架规定的流程走下去,自定义handler来处理对应的消息即可。 那么有朋友会问了,作为一个NIO框架,netty的多线程到底体现在什么地方呢?它的底 阅读全文
posted @ 2022-03-04 13:50 flydean 阅读(793) 评论(1) 推荐(1) 编辑
摘要:简介 我们知道ChannelHandler有两个非常重要的子接口,分别是ChannelOutboundHandler和ChannelInboundHandler,基本上这两个handler接口定义了所有channel inbound和outbound的处理逻辑。 不管是ChannelHandler还 阅读全文
posted @ 2022-03-02 14:05 flydean 阅读(2163) 评论(1) 推荐(0) 编辑
摘要:简介 我们在介绍channel的时候提到过,几乎channel中所有的实现都是通过channelPipeline进行的,作为一个pipline,它到底是如何工作的呢? 一起来看看吧。 ChannelPipeline ChannelPipeline是一个interface,它继承了三个接口,分别是Ch 阅读全文
posted @ 2022-02-28 18:36 flydean 阅读(660) 评论(1) 推荐(1) 编辑
摘要:简介 我们知道channel是netty中用于沟通ByteBuf和Event的桥梁,在netty服务的创建过程中,不管是客户端的Bootstrap还是服务器端的ServerBootstrap,都需要调用channel方法来指定对应的channel类型。 那么netty中channel到底有哪些类型呢 阅读全文
posted @ 2022-02-22 10:57 flydean 阅读(510) 评论(1) 推荐(0) 编辑
摘要:简介 虽然netty很强大,但是使用netty来构建程序却是很简单,只需要掌握特定的netty套路就可以写出强大的netty程序。每个netty程序都需要一个Bootstrap,什么是Bootstrap呢?Bootstrap翻译成中文来说就是鞋拔子,在计算机世界中,Bootstrap指的是引导程序, 阅读全文
posted @ 2022-02-21 21:30 flydean 阅读(753) 评论(1) 推荐(0) 编辑
摘要:简介 在我的心中,JDK有两个经典版本,第一个就是现在大部分公司都在使用的JDK8,这个版本引入了Stream、lambda表达式和泛型,让JAVA程序的编写变得更加流畅,减少了大量的冗余代码。 另外一个版本要早点,还是JAVA 1.X的时代,我们称之为JDK1.5,这个版本引入了java.util 阅读全文
posted @ 2022-02-18 19:12 flydean 阅读(224) 评论(1) 推荐(0) 编辑
摘要:简介 channel是netty中数据传输和数据处理的渠道,也是netty程序中不可或缺的一环。在netty中channel是一个接口,针对不同的数据类型或者协议channel会有具体的不同实现。 虽然channel很重要,但是在代码中确实很神秘,基本上我们很少能够看到直接使用channel的情况, 阅读全文
posted @ 2022-02-17 21:31 flydean 阅读(2373) 评论(1) 推荐(0) 编辑
摘要:简介 netty作为一个优秀的的NIO框架,被广泛应用于各种服务器和框架中。同样是NIO,netty所依赖的JDK在1.4版本中早就提供nio的包,既然JDK已经有了nio的包,为什么netty还要再写一个呢? 不是因为JDK不优秀,而是因为netty的要求有点高。 ByteBuf和ByteBuff 阅读全文
posted @ 2022-02-16 18:40 flydean 阅读(547) 评论(1) 推荐(0) 编辑
摘要:简介 经典的TCP三次握手大家应该很熟悉了,三次握手按道理说应该是最优的方案了,当然这是对于通用的情况来说的。那么在某些特殊的情况下是不是可以提升TCP建立连接的速度呢? 答案是肯定的,这就是今天我们要讲的TCP fast open和netty。 TCP fast open 什么是TCP fast 阅读全文
posted @ 2022-02-15 18:13 flydean 阅读(697) 评论(1) 推荐(1) 编辑
摘要:简介 为什么世界上有这么多JAVA的程序员呢?其中一个很重要的原因就是JAVA相对于C而言,不需要考虑对象的释放,一切都是由垃圾回收器来完成的。在崇尚简单的现代编程世界中,会C的高手越来越少,会JAVA的程序员越来越多。 JVM的垃圾回收器中一个很重要的概念就是Reference count,也就是 阅读全文
posted @ 2022-02-14 17:25 flydean 阅读(363) 评论(0) 推荐(0) 编辑
摘要:简介 在我们之前提到的所有netty知识中,netty好像都被分为客户端和服务器端两部分。服务器端监听连接,并对连接中的消息进行处理。而客户端则向服务器端建立请求连接,从而可以发送消息。 但是这一切都要在UDT协议中被终结,因为UDT提供了Rendezvous,一种平等的连接类型,节点之间是对等关系 阅读全文
posted @ 2022-02-11 10:12 flydean 阅读(209) 评论(1) 推荐(1) 编辑
摘要:简介 UDT给了你两种选择,byte stream或者message,到底选哪一种呢?经验告诉我们,只有小学生才做选择题,而我们应该全都要! 类型的定义 UDT的两种类型是怎么定义的呢? 翻看com.barchart.udt包,可以发现这两种类型定义在TypeUDT枚举类中。 STREAM(1), 阅读全文
posted @ 2022-02-10 15:27 flydean 阅读(342) 评论(1) 推荐(0) 编辑
摘要:简介 UDT是一个非常优秀的协议,可以提供在UDP协议基础上进行高速数据传输。但是可惜的是在netty 4.1.7中,UDT传输协议已经被标记为Deprecated了! 意味着在后面的netty版本中,你可能再也看不到UDT协议了. 优秀的协议怎么能够被埋没,让我们揭开UDT的面纱,展示其优秀的特性 阅读全文
posted @ 2022-01-21 13:55 flydean 阅读(492) 评论(1) 推荐(0) 编辑
摘要:简介 我们知道netty的基础是channel和在channel之上的selector,当然作为一个nio框架,channel和selector不仅仅是netty的基础,也是所有nio实现的基础。 同样的,我们知道netty很多种不同的协议,这些协议都是在channel上进行通讯的,那么对于不同的协 阅读全文
posted @ 2022-01-19 13:49 flydean 阅读(315) 评论(1) 推荐(0) 编辑
摘要:简介 在之前的文章中,我们介绍了在同一个netty程序中支持多个不同的服务,它的逻辑很简单,就是在一个主程序中启动多个子程序,每个子程序通过一个BootStrap来绑定不同的端口,从而达到访问不同端口就访问了不同服务的目的。 但是多个端口虽然区分度够高,但是使用起来还是有诸多不便,那么有没有可能只用 阅读全文
posted @ 2022-01-12 16:35 flydean 阅读(880) 评论(0) 推荐(0) 编辑
摘要:简介 爱因斯坦说过:所有的伟大,都产生于简单的细节中。netty为我们提供了如此强大的eventloop、channel通过对这些简单东西的有效利用,可以得到非常强大的应用程序,比如今天要讲的代理。 代理和反向代理 相信只要是程序员应该都听过nginx服务器了,这个超级优秀nginx一个很重要的功能 阅读全文
posted @ 2021-12-24 08:13 flydean 阅读(975) 评论(1) 推荐(0) 编辑

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