Fork me on GitHub
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 49 下一页
摘要: 简介 我们已经介绍了haproxy提出的proxy protocol协议,通过proxy protocol协议,服务器端可以获得客户端的真实IP地址和端口,从而可以进行一些非常有意义的操作。 为什么获得客户端的真实IP地址会非常有意义呢? 考虑一个藏在proxy背后的数据库,如果有多个客户端通过pr 阅读全文
posted @ 2022-06-08 16:10 flydean 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 简介 很多人都用过java中的枚举,枚举是JAVA 1.5中引用的一个新的类型,用来表示可以列举的范围,但是可能很少有人知道java中的enum到底是怎么工作的,enum和Enum有什么关系?Enum可不可以扩展? 一起来看看吧。 enum和Enum JAVA1.5中引入了枚举类,我们通常使用enu 阅读全文
posted @ 2022-06-06 15:54 flydean 阅读(466) 评论(0) 推荐(1) 编辑
摘要: 简介 JDK中的ThreadLocal可以通过get方法来获得跟当前线程绑定的值。而这些值是存储在ThreadLocal.ThreadLocalMap中的。而在ThreadLocalMap中底层的数据存储是一个Entry数组中的。 那么从ThreadLocalMap中获取数据的速度如何呢?速度有没有 阅读全文
posted @ 2022-06-01 13:52 flydean 阅读(165) 评论(1) 推荐(0) 编辑
摘要: 简介 用过缓存系统的肯定都听过memcached的大名,memcached是一个非常优秀的分布式内存缓存系统,应用非常的广泛。Memcached不仅仅是Web缓存,它更是一个通用的数据缓存,基本上你可以将任何东西存入memcached中,它的分布式设计具有很好的可扩展性和灵活性。 Memcached 阅读全文
posted @ 2022-05-30 18:14 flydean 阅读(156) 评论(1) 推荐(0) 编辑
摘要: 简介 代理大家应该都很熟悉了,比较出名的像是nginx,apache HTTPD,stunnel等。 我们知道代理就是代替客户端向服务器端进行消息请求,并且希望在代理的过程中保留初始的TCP连接信息,例如源和目标IP和端口等,以提供一些个性化的操作。 一般情况下,为了实现这个目标,有一些现成的解决办 阅读全文
posted @ 2022-05-27 15:50 flydean 阅读(982) 评论(0) 推荐(1) 编辑
摘要: 简介 JDK中的Thread大家肯定用过,只要是用过异步编程的同学肯定都熟悉。为了保存Thread中特有的变量,JDK引入了ThreadLocal类来专门对Thread的本地变量进行管理。 ThreadLocal 很多新人可能不明白ThreadLocal到底是什么,它和Thread到底有什么关系。 阅读全文
posted @ 2022-05-25 17:54 flydean 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 简介 netty中提供的protobuf编码解码器可以让我们直接在netty中传递protobuf对象。同时netty也提供了支持UDP协议的channel叫做NioDatagramChannel。如果直接使用NioDatagramChannel,那么我们可以直接从channel中读写UDP对象:D 阅读全文
posted @ 2022-05-23 15:04 flydean 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 简介 在之前的文章中我们讲过了,jboss marshalling是一种非常优秀的java对象序列化的方式,它可以兼容JDK自带的序列化,同时也提供了性能和使用上的优化。 那么这么优秀的序列化工具可不可以用在netty中作为消息传递的方式呢? 答案当然是肯定的,在netty中一切皆有可能。 nett 阅读全文
posted @ 2022-05-20 15:51 flydean 阅读(252) 评论(1) 推荐(0) 编辑
摘要: 简介 在JAVA程序中经常会用到序列化的场景,除了JDK自身提供的Serializable之外,还有一些第三方的产品可以实现对JAVA对象的序列化。其中比较有名的就是Google protobuf。当然,也有其他的比较出名的序列化工具,比如Kryo和JBoss Marshalling。 今天想给大家 阅读全文
posted @ 2022-05-18 16:16 flydean 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 简介 我们在程序中除了使用常用的字符串进行数据传递之外,使用最多的还是JAVA对象。在JDK中,对象如果需要在网络中传输,必须实现Serializable接口,表示这个对象是可以被序列化的。这样就可以调用JDK自身的对象对象方法,进行对象的读写。 那么在netty中进行对象的传递可不可以直接使用JD 阅读全文
posted @ 2022-05-17 13:56 flydean 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 简介 要讲网络协议,肯定离不开OSI(Open System Interconnection)的七层模型。 我们一般关注的是网络层之上的几层,比如IPV4 IPV6所在的网络层,TCP UDP所在的传输层,HTTP FTP所在的应用层等。 今天要讲的sctp协议,全称是Stream Control 阅读全文
posted @ 2022-05-16 15:07 flydean 阅读(771) 评论(0) 推荐(1) 编辑
摘要: 简介 在json之前,xml是最常用的数据传输格式,虽然xml的冗余数据有点多,但是xml的结构简单清晰,至今仍然运用在程序中的不同地方,对于netty来说自然也提供了对于xml数据的支持。 netty对xml的支持表现在两个方面,第一个方面是将编码过后的多个xml数据进行frame拆分,每个fra 阅读全文
posted @ 2022-05-13 14:08 flydean 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 简介 字符串是我们程序中最常用到的消息格式,也是最简单的消息格式,但是正因为字符串string太过简单,不能附加更多的信息,所以在netty中选择的是使用byteBuf作为最底层的消息传递载体。 虽然底层使用的ByteBuf,但是对于程序员来说,还是希望能够使用这种最简单的字符串格式,那么有什么简单 阅读全文
posted @ 2022-05-12 16:10 flydean 阅读(651) 评论(0) 推荐(1) 编辑
摘要: 简介 在现代计算机系统中,可以有多个CPU,每个CPU又可以有多核。为了充分利用现代CPU的功能,JAVA中引入了多线程,不同的线程可以同时在不同CPU或者不同CPU核中运行。但是对于JAVA程序猿来说创建多少线程是可以自己控制的,但是线程到底运行在哪个CPU上,则是一个黑盒子,一般来说很难得知。 阅读全文
posted @ 2022-05-11 15:36 flydean 阅读(1055) 评论(2) 推荐(0) 编辑
摘要: 简介 什么是callback呢?简单点说callback就是回调通知,当我们需要在某个方法完成之后,或者某个事件触发之后,来通知进行某些特定的任务就需要用到callback了。 最有可能看到callback的语言就是javascript了,基本上在javascript中,callback无处不在。为 阅读全文
posted @ 2022-05-10 14:35 flydean 阅读(747) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 49 下一页