摘要: 简介 区块链是一种防篡改的共享数字分布式账本,可记录公共或私有对等网络中的交易。分布式账本分布到网络中的所有成员节点,以加密散列链接的块的顺序链,永久记录网络中对等点之间发生的资产交换的历史记录。 区块链的广为人知是从比特币开始的,但是区块链不是比特币,区块链只是比特币底层的技术基础。比特币可以看做 阅读全文
posted @ 2020-05-21 07:02 flydean 阅读(918) 评论(1) 推荐(2) 编辑
摘要: 简介 自从Spring横空出世之后,Spring就成了事实上的J2EE标准。Spring作为一个轻量级的J2EE应用框架,就是针对EJB的复杂特性而设计的,最后毫无疑问,Spring凭借它的简洁,可理解性和可用性赢得了最后的胜利。 Spring从最初的xml配置到后面的注解配置,一直都在不断的进步, 阅读全文
posted @ 2020-05-20 06:59 flydean 阅读(1123) 评论(0) 推荐(0) 编辑
摘要: 简介 是什么让java世界变得更好,程序员变得更友爱,秃头率变得不是那么的高,让程序员不必再每天996,有时间找个女朋友? 是Spring。 是什么让企业级java应用变得简单易懂,降低了java程序员的进入门槛,导致了现在遍地都是java程序员的窘境? 是Spring。 是什么从无冕之王变成了事实 阅读全文
posted @ 2020-05-20 06:45 flydean 阅读(3941) 评论(1) 推荐(2) 编辑
摘要: java作为第一大编程语言,可谓源远流长,一代又一代的java程序员前仆后继走在java学习的路上。java程序员的学习之路在2020年又有什么变化呢?本文详细附上了每一个部分所需知识的教程链接地址,并会持续更新,希望能够和大家一起进步! 阅读全文
posted @ 2020-04-13 10:20 flydean 阅读(2746) 评论(1) 推荐(0) 编辑
摘要: 简介 一般情况下我们使用的证书都是由第三方权威机构来颁发的,如果我们有一个新的https网站,我们需要申请一个世界范围内都获得认可的证书,这样我们的网站才能被无障碍的访问。 如果在某些情况下,我们的网站或者系统并不是公开的,但是也需要使用tls协议的话,那么就需要自己搭建一个CA服务器。这样的CA服 阅读全文
posted @ 2022-07-21 14:12 flydean 阅读(0) 评论(1) 推荐(0) 编辑
摘要: 简介 DNS的全称domain name system,既然是一个系统就有客户端和服务器之分。一般情况来说我们并不需要感知这个DNS客户端的存在,因为我们在浏览器访问某个域名的时候,浏览器作为客户端已经实现了这个工作。 但是有时候我们没有使用浏览器,比如在netty环境中,如何构建一个DNS请求呢? 阅读全文
posted @ 2022-07-18 18:51 flydean 阅读(116) 评论(0) 推荐(1) 编辑
摘要: 简介 在前面的章节中,我们讲解了kqueue的使用和原理,接下来我们再看一下epoll的使用。两者都是更加高级的IO方式,都需要借助native的方法实现,不同的是Kqueue用在mac系统中,而epoll用在liunx系统中。 epoll的详细使用 epoll的使用也很简单,我们还是以常用的聊天室 阅读全文
posted @ 2022-07-14 16:38 flydean 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 简介 OCSP在线证书状态协议是为了替换CRL而提出来的。对于现代web服务器来说一般都是支持OCSP的,OCSP也是现代web服务器的标配。 但是OCSP stapling却不是所有的web服务器都支持。但是现实工作中我们可能需要知道具体某个网站对OCSP的支持程度。 支持OCSP staplin 阅读全文
posted @ 2022-07-11 13:57 flydean 阅读(183) 评论(0) 推荐(1) 编辑
摘要: 简介 我们在进行网页访问的时候会跟各种各样的证书打交道,比如在访问https网页的时候,需要检测https网站的证书有效性。 OCSP就是一种校验协议,用于获取X.509数字证书的撤销状态。它是为了替换CRL而出现的。 本文将会详细介绍OCSP的实现和优点。 PKI中的CRL 我们知道在PKI架构中 阅读全文
posted @ 2022-07-06 19:14 flydean 阅读(253) 评论(2) 推荐(1) 编辑
摘要: 简介 在前面的章节中,我们介绍了在netty中可以使用kequeue或者epoll来实现更为高效的native传输方式。那么kequeue和epoll和NIO传输协议有什么不同呢? 本章将会以kequeue为例进行深入探讨。 在上面我们介绍的native的例子中,关于kqueue的类有这样几个,分别 阅读全文
posted @ 2022-07-04 15:24 flydean 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 简介 对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NIO,比如NioEventLoopGroup,NioServerSocketChannel等。 我们也知道在IO中有比NIO更快的IO方式,比如kqueue和epoll,但是这两种方式需 阅读全文
posted @ 2022-06-29 20:16 flydean 阅读(187) 评论(0) 推荐(2) 编辑
摘要: 简介 之前我们介绍了一个非常优秀的细粒度控制JAVA线程的库:java thread affinity。使用这个库你可以将线程绑定到特定的CPU或者CPU核上,通过减少线程在CPU之间的切换,从而提升线程执行的效率。 虽然netty已经够优秀了,但是谁不想更加优秀一点呢?于是一个想法产生了,那就是能 阅读全文
posted @ 2022-06-27 21:13 flydean 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 简介 在PKI(public key infrastructure)公钥设施基础体系中,所有的一切操作都是围绕着证书和密钥的,它提供了创建、管理、分发、使用、存储和撤销数字证书以及管理公钥加密所需的一组角色、策略、硬件、软件和程序。 有了密钥,就可以根据密钥制作证书了。要想证书可以被广泛的使用,一个 阅读全文
posted @ 2022-06-22 19:00 flydean 阅读(261) 评论(1) 推荐(2) 编辑
摘要: 简介 定时器是一种在实际的应用中非常常见和有效的一种工具,其原理就是把要执行的任务按照执行时间的顺序进行排序,然后在特定的时间进行执行。JAVA提供了java.util.Timer和java.util.concurrent.ScheduledThreadPoolExecutor等多种Timer工具, 阅读全文
posted @ 2022-06-20 18:33 flydean 阅读(215) 评论(1) 推荐(0) 编辑
摘要: 简介 SpringBoot提供了HATEOAS的便捷使用方式,前面一篇文章我们也讲了如何在SpringBoot中使用HATEOAS。本文将会对这些内容进行扩展深入,详细讲解SpringBoot提供的这些基本方法。 链接Links HATEOAS的一个非常重要的特征就是在resources资源中包含超 阅读全文
posted @ 2022-06-17 17:37 flydean 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 简介 HATEOAS是实现REST规范的一种原则,通过遵循HATEOAS规范,可以解决我们实际代码实现的各种个问题。作为java最流行的框架Spring 当然也会不缺席HATEOAS的集成。 本文将会通过一个具体的例子来讲解如何在SpringBoot中使用HATEOAS。 我们的目标 HATEOAS 阅读全文
posted @ 2022-06-15 15:54 flydean 阅读(339) 评论(1) 推荐(2) 编辑
摘要: 简介 前面讲到了memcached的文本协议,虽然文本协议看起来非常简单,但是对于客户端来说一般还是会选择效率更高的二进制协议。 二进制协议的本质和文本协议是一样的,只是他们的表现方式不同而已。本文将会详细介绍memcached中二进制协议的实现细节。 memcached的协议包 对于memcach 阅读全文
posted @ 2022-06-13 21:03 flydean 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 简介 我们已经介绍了haproxy提出的proxy protocol协议,通过proxy protocol协议,服务器端可以获得客户端的真实IP地址和端口,从而可以进行一些非常有意义的操作。 为什么获得客户端的真实IP地址会非常有意义呢? 考虑一个藏在proxy背后的数据库,如果有多个客户端通过pr 阅读全文
posted @ 2022-06-08 16:10 flydean 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 简介 很多人都用过java中的枚举,枚举是JAVA 1.5中引用的一个新的类型,用来表示可以列举的范围,但是可能很少有人知道java中的enum到底是怎么工作的,enum和Enum有什么关系?Enum可不可以扩展? 一起来看看吧。 enum和Enum JAVA1.5中引入了枚举类,我们通常使用enu 阅读全文
posted @ 2022-06-06 15:54 flydean 阅读(304) 评论(0) 推荐(1) 编辑