Fork me on GitHub
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 52 下一页
摘要: 简介 在前面的章节中,我们介绍了在netty中可以使用kequeue或者epoll来实现更为高效的native传输方式。那么kequeue和epoll和NIO传输协议有什么不同呢? 本章将会以kequeue为例进行深入探讨。 在上面我们介绍的native的例子中,关于kqueue的类有这样几个,分别 阅读全文
posted @ 2022-07-04 15:24 flydean 阅读(715) 评论(0) 推荐(0) 编辑
摘要: 简介 对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NIO,比如NioEventLoopGroup,NioServerSocketChannel等。 我们也知道在IO中有比NIO更快的IO方式,比如kqueue和epoll,但是这两种方式需 阅读全文
posted @ 2022-06-29 20:16 flydean 阅读(537) 评论(0) 推荐(2) 编辑
摘要: 简介 之前我们介绍了一个非常优秀的细粒度控制JAVA线程的库:java thread affinity。使用这个库你可以将线程绑定到特定的CPU或者CPU核上,通过减少线程在CPU之间的切换,从而提升线程执行的效率。 虽然netty已经够优秀了,但是谁不想更加优秀一点呢?于是一个想法产生了,那就是能 阅读全文
posted @ 2022-06-27 21:13 flydean 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 简介 在PKI(public key infrastructure)公钥设施基础体系中,所有的一切操作都是围绕着证书和密钥的,它提供了创建、管理、分发、使用、存储和撤销数字证书以及管理公钥加密所需的一组角色、策略、硬件、软件和程序。 有了密钥,就可以根据密钥制作证书了。要想证书可以被广泛的使用,一个 阅读全文
posted @ 2022-06-22 19:00 flydean 阅读(1114) 评论(1) 推荐(2) 编辑
摘要: 简介 定时器是一种在实际的应用中非常常见和有效的一种工具,其原理就是把要执行的任务按照执行时间的顺序进行排序,然后在特定的时间进行执行。JAVA提供了java.util.Timer和java.util.concurrent.ScheduledThreadPoolExecutor等多种Timer工具, 阅读全文
posted @ 2022-06-20 18:33 flydean 阅读(2000) 评论(1) 推荐(0) 编辑
摘要: 简介 SpringBoot提供了HATEOAS的便捷使用方式,前面一篇文章我们也讲了如何在SpringBoot中使用HATEOAS。本文将会对这些内容进行扩展深入,详细讲解SpringBoot提供的这些基本方法。 链接Links HATEOAS的一个非常重要的特征就是在resources资源中包含超 阅读全文
posted @ 2022-06-17 17:37 flydean 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 简介 HATEOAS是实现REST规范的一种原则,通过遵循HATEOAS规范,可以解决我们实际代码实现的各种个问题。作为java最流行的框架Spring 当然也会不缺席HATEOAS的集成。 本文将会通过一个具体的例子来讲解如何在SpringBoot中使用HATEOAS。 我们的目标 HATEOAS 阅读全文
posted @ 2022-06-15 15:54 flydean 阅读(727) 评论(1) 推荐(2) 编辑
摘要: 简介 前面讲到了memcached的文本协议,虽然文本协议看起来非常简单,但是对于客户端来说一般还是会选择效率更高的二进制协议。 二进制协议的本质和文本协议是一样的,只是他们的表现方式不同而已。本文将会详细介绍memcached中二进制协议的实现细节。 memcached的协议包 对于memcach 阅读全文
posted @ 2022-06-13 21:03 flydean 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 简介 我们已经介绍了haproxy提出的proxy protocol协议,通过proxy protocol协议,服务器端可以获得客户端的真实IP地址和端口,从而可以进行一些非常有意义的操作。 为什么获得客户端的真实IP地址会非常有意义呢? 考虑一个藏在proxy背后的数据库,如果有多个客户端通过pr 阅读全文
posted @ 2022-06-08 16:10 flydean 阅读(2386) 评论(0) 推荐(1) 编辑
摘要: 简介 很多人都用过java中的枚举,枚举是JAVA 1.5中引用的一个新的类型,用来表示可以列举的范围,但是可能很少有人知道java中的enum到底是怎么工作的,enum和Enum有什么关系?Enum可不可以扩展? 一起来看看吧。 enum和Enum JAVA1.5中引入了枚举类,我们通常使用enu 阅读全文
posted @ 2022-06-06 15:54 flydean 阅读(503) 评论(0) 推荐(1) 编辑
摘要: 简介 JDK中的ThreadLocal可以通过get方法来获得跟当前线程绑定的值。而这些值是存储在ThreadLocal.ThreadLocalMap中的。而在ThreadLocalMap中底层的数据存储是一个Entry数组中的。 那么从ThreadLocalMap中获取数据的速度如何呢?速度有没有 阅读全文
posted @ 2022-06-01 13:52 flydean 阅读(214) 评论(1) 推荐(0) 编辑
摘要: 简介 用过缓存系统的肯定都听过memcached的大名,memcached是一个非常优秀的分布式内存缓存系统,应用非常的广泛。Memcached不仅仅是Web缓存,它更是一个通用的数据缓存,基本上你可以将任何东西存入memcached中,它的分布式设计具有很好的可扩展性和灵活性。 Memcached 阅读全文
posted @ 2022-05-30 18:14 flydean 阅读(246) 评论(1) 推荐(0) 编辑
摘要: 简介 代理大家应该都很熟悉了,比较出名的像是nginx,apache HTTPD,stunnel等。 我们知道代理就是代替客户端向服务器端进行消息请求,并且希望在代理的过程中保留初始的TCP连接信息,例如源和目标IP和端口等,以提供一些个性化的操作。 一般情况下,为了实现这个目标,有一些现成的解决办 阅读全文
posted @ 2022-05-27 15:50 flydean 阅读(2194) 评论(0) 推荐(1) 编辑
摘要: 简介 JDK中的Thread大家肯定用过,只要是用过异步编程的同学肯定都熟悉。为了保存Thread中特有的变量,JDK引入了ThreadLocal类来专门对Thread的本地变量进行管理。 ThreadLocal 很多新人可能不明白ThreadLocal到底是什么,它和Thread到底有什么关系。 阅读全文
posted @ 2022-05-25 17:54 flydean 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 简介 netty中提供的protobuf编码解码器可以让我们直接在netty中传递protobuf对象。同时netty也提供了支持UDP协议的channel叫做NioDatagramChannel。如果直接使用NioDatagramChannel,那么我们可以直接从channel中读写UDP对象:D 阅读全文
posted @ 2022-05-23 15:04 flydean 阅读(475) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 52 下一页