打赏
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
摘要: 上次讲到事件驱动模式,今天我们来好好分析下netty的事件模式的几个类型。 先从NIO讲起, JAVA NIO方面Selector给Reactor模式提供了基础,Netty结合Selector和Reactor模式设计了高效的线程模型。 这里有个题外话,reactor英文的含义是什么?我们可以稍微了解 阅读全文
posted @ 2019-06-19 10:00 gyc567 阅读(633) 评论(0) 推荐(0)
摘要: 1. JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 2. 什么时候你应该用JSON Web Tokens 下 阅读全文
posted @ 2019-06-18 09:52 gyc567 阅读(204) 评论(0) 推荐(0)
摘要: 聊聊分布式事务,再说说解决方案 前言 最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。 接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。 分布式事务是企业集 阅读全文
posted @ 2019-06-18 08:32 gyc567 阅读(224) 评论(0) 推荐(0)
摘要: 今天开始写一些高并发实战系列。 本系列主要讲两大主流框架: Netty和Quasar(java纤程库) 先介绍netty吧,netty是业界比较成熟的高性能异步NIO框架。 简单来说,它就是对NIO2的封装,但提供了更好用,bug更少的API。 为什么netty能提供高性能?核心要点有以下两点: 1 阅读全文
posted @ 2019-06-17 11:10 gyc567 阅读(2027) 评论(0) 推荐(0)
摘要: 原文:https://zhuanlan.zhihu.com/p/26757689 引言 不知道是不是我自己本身就有那么一丝丝的密集恐惧,把这么一大堆看起来很相似很相关的概念放在一起,看起来是有点麻,捋一捋感觉舒服多了。 相关概念 任务、作业(Job,Task,Schedule) 在进程的概念出现之前 阅读全文
posted @ 2019-06-16 11:01 gyc567 阅读(427) 评论(0) 推荐(0)
摘要: Java线程与Linux内核线程的映射关系 Java线程与Linux内核线程的映射关系Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程。 Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是由JVM的实现 阅读全文
posted @ 2019-06-16 10:49 gyc567 阅读(919) 评论(0) 推荐(0)
摘要: 原文:https://www.cnblogs.com/zhaoyl/p/3620204.html 首先从OS设计原理上阐明三种线程:内核线程、轻量级进程、用户线程 内核线程 内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的 阅读全文
posted @ 2019-06-16 10:47 gyc567 阅读(750) 评论(0) 推荐(0)
摘要: 上节提到的:伪共享,今天我们来说说。 那什么是伪共享呢? 这得从CPU的缓存结构说起。以下如图,CPU一般来说是有三级缓存,1 级,2级,3级,越上面的,越靠近CPU的,速度越快,成本也越高。也就是说速度方面:1级>2级>3级。 图1 图2 如上图2我们来看看不同级别的缓存的时延: 到CPU的延迟C 阅读全文
posted @ 2019-06-16 09:38 gyc567 阅读(378) 评论(0) 推荐(0)
摘要: 今天,我们来学习另一个重要的概念。 CPU内存指令重排序(Memory Reordering) 什么叫重排序? 重排序的背景 我们知道现代CPU的主频越来越高,与cache的交互次数也越来越多。当CPU的计算速度远远超过访问cache时,会产生cache wait,过多的cache wait就会造成 阅读全文
posted @ 2019-06-14 07:46 gyc567 阅读(482) 评论(0) 推荐(0)
摘要: 继续讲CAS算法,上篇文章我们知道,CAS算法底层实现,是通过CPU的原子指令来实现。 那么这里又有一个情景: 话说,有一个线程one从内存位置V中取出A,这时候另一个线程two也从内存中取出A,并且two进行了一些操作变成了B,然后two又将V位置的数据变成A,这时候线程one进行CAS操作发现内 阅读全文
posted @ 2019-06-13 21:19 gyc567 阅读(294) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页