前情回顾 在前两篇文章中,多次提及AutowireCapableBeanFactory#resolveDependency方法,原因是该方法很重要,在Spring很多场合都涉...
前情回顾 在前两篇文章中,多次提及AutowireCapableBeanFactory#resolveDependency方法,原因是该方法很重要,在Spring很多场合都涉...
在众多的zookeeper客户端工具中,elastic-job拥抱了Curator,而不是ZKClient,或者原生的zookeeper原生的客户端 。 先看...
我们前面介绍了Selector是对操作系统IO多路复用的简单封装,有了IO多路复用之后,我们还需要非阻塞socket读写操作。因为内核告诉你A连接有数据可读,你想要读1k,事...
本文基于Netty4.1展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给读者提供学习实践参考。 1 Netty简介 Netty是 一个异步事件驱...
Channel配置参数 (1).通用参数 (2).SocketChannel参数 (3).ServerSocketChannel参数 (4).DatagramChannel参数
1 Netty编解码框架 在上一节中,我们提到TCP的粘包、拆包问题,可以通过自定义通信协议的方式来解决。通信协议就是通信双方约定好的数据格式,发送方按照这个数据格式来发送,...
原文地址:http://mechanical-sympathy.blogspot.com/2011/07/memory-barriersfences.html In this...
引言 今天我们来说 MyBatis 接收参数这一块。我打算这样说给你听,我们先看一下MyBatis源码是如何处理参数的,然后我们通过例子来教你。 实际上,我们这一节讲的就是:...
有时候,我们用Git的时候有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法:1、修改错误内容,再次commit一次 2、使用git r...
内存屏障是硬件之上、操作系统或JVM之下,对并发作出的最后一层支持。再向下是是硬件提供的支持;向上是操作系统或JVM对内存屏障作出的各种封装。内存屏障是一种标准,各厂商可能采...
golang中defer,panic,recover是很常用的三个特性,三者一起使用可以充当其他语言中try…catch…的角色,而defer本身又像其他语言的析构函数 de...
我们的程序是如何被运行的? 学习过操作系统的人,应该对进程和线程的模型都是有所了解的。按照我的理解:「进程」是操作系统资源分配的基本单位,它给程序提供了一个良好的运行环境。「...
内存屏障(Memory barrier) 为什么会有内存屏障 每个CPU都会有自己的缓存(有的甚至L1,L2,L3),缓存的目的就是为了提高性能,避免每次都要向内存取。但是这...
grafana简易学习手册 ---- 让你的zabbix披上超炫的皮肤 一、grafana简介 1. grafana的官方介绍: grafana是用于可视化大型测量数据的开源...
ECMAScript 6是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。ES...
表table示Lua语言中特有的强大武器,是用来存储其他元素的一个实体,通常这些元素都是相互关联的,即使成对元素的一个集合,每对元素都有一个关键字(键名)和一个值组成。在表中...
不同的微服务之间做异步通迅时通常会使用Kafka,它非常适用于对消费次序或时间没有强一致性需要的场景。如果消息需要在指定的时间才可以被消费,Kafka并没有原生支持此类消费场...
最近和一些朋友讨论Redis的订阅和发布功能,发现有些公司喜欢用Redis的订阅和发布功能来当作消息中间件来使用,当时我就纳闷,消息中间件比较牛逼的不就是那几个RocketM...