对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛开乌云见晴天,接下来就一步步揭开请求管道神秘面纱. 上篇回顾 在介绍本篇内容之前,让我们先回顾下上一篇<ASP.NET运行时详解 集成模式和经典模式>的主要内容.在上一篇随笔中,我们提到ASP.NET运行时通过Application的InitInternal方法初始化运行管道.ASP.NET运行时提供了两种初始化管道模…
本文来自 网易云社区 . Join操作是数据库和大数据计算中的高级特性,大多数场景都需要进行复杂的Join操作,本文从原理层面介绍了SparkSQL支持的常见Join算法及其适用场景. Join背景介绍 Join是数据库查询永远绕不开的话题,传统查询SQL技术总体可以分为简单操作(过滤操作-where.排序操作-limit等),聚合操作-groupby以及Join操作等.其中Join操作是最复杂.代价最大的操作类型,也是OLAP场景中使用相对较多的操作.因此很有必要对其进行深入研究. 另外,从业…
相信大家都用过ATM取过money吧,但是有多少人真正是了解ATM的呢?相信除了ATM从业者外了解的人寥寥无几吧,鄙人作为一个从事ATM软件开发的伪专业人士就站在我的角度为大家揭开ATM的神秘面纱吧.以下纯属个人所知,如有错误概不负责.废话不多说,以下开扒: 1.ATM有没有可能出假钞?答:完全有可能,想必大家也从各种新闻上看到过有人从ATM取出假钱的报道吧,这种新闻对于我们ATM从业者来说早就不是啥新鲜事了.    要解释ATM为啥子会出假钞就要从ATM的分类开始了,广义的ATM一般分为三类:…
前言 在前面的两篇博文中,已经介绍利用FutureTask任务的执行流程,以及利用其实现的cancel方法取消任务的情况.本篇就来介绍下,线程任务的结果获取. 系列目录 揭开Future的神秘面纱——任务取消 揭开Future的神秘面纱——任务执行 揭开Future的神秘面纱——结果获取 利用get方法获取程序运行结果 我们知道利用Future接口的最重要的操作就是要获取任务的结果,而此操作对应的方法就是get.但是问题来了,如果我调用get方法的时候,任务还没有完成呢?答案就是,等它完成,当前…
前言 此文承接之前的博文 解开Future的神秘面纱之取消任务 补充一些任务执行的一些细节,并从全局介绍程序的运行情况. 系列目录 揭开Future的神秘面纱——任务取消 揭开Future的神秘面纱——任务执行 揭开Future的神秘面纱——结果获取 任务的提交与执行 任务提交到执行的流程 前文我们已经了解到一些Future的实现细节,这里我们来梳理一下运行流程.注意:这里说的是提交(Submit),而不是执行(execute) (1)客户端创建一个线程任务,即一个Callable或Runnab…
摘自:https://www.cnblogs.com/hujingnb/p/11789728.html 揭开HTTPS的神秘面纱   在说HTTP前,一定要先介绍一下HTTP,这家伙应该不用过多说明了,大家每天都在用,每一次HTTP请求,都是一次TCP连接.遗憾的是,请求的内容在TCP报文中是明文传输的,任何人截取到请求都可以读取其中的内容,很尴尬. 数据加密 为了防止请求内容被人窃取,在网络传输的路上我们做不了手脚,那就只能对传输的数据报文上做手脚了.对报文内容进行加密就是其中的一种方法. 有…
本文是Netty系列第5篇 上一篇文章我们对于I/O多路复用.Java NIO包 和 Netty 的关系有了全面的认识. 到目前为止,我们已经从I/O模型出发,逐步接触到了Netty框架.这个过程中,基本解答了Netty是什么.为什么使用Netty等前置问题.给我们学习Netty提供了最原始的背景知识. 有了这些做基础,下面我们可以开始慢慢去揭开Netty的神秘面纱了. 本文预计阅读时间约 5分钟,将重点围绕以下几个问题展开: 如何用Netty编写一个Server端服务Demo 从Demo看Ne…
系列目录: 揭开Future的神秘面纱——任务取消 揭开Future的神秘面纱——任务执行 揭开Future的神秘面纱——结果获取 使用案例 在之前写过的一篇随笔中已经提到了Future的应用场景和特性.(ExecutorService——<T> Future<T> submit(Callable<T> task)) 我们先来回顾一下: public class FutureCancelDemo { public static void main(String[] ar…
本篇博文将为你解开Redis的神秘面纱,通过阅读本篇博文你将了解到以下内容: 什么是Redis? 为什么选择 Redis? 什么场景下用Redis? Redis 支持哪些语言? Redis下载 Redis 如何安装? windows 安装 Redis 如何修改配置? Redis Strings, Lists, Sets, Sorted Sets, Hashes 多种数据类型使用 1. 什么是Redis? 亚马逊技术社区解释 超快速的开源内存中数据存储,可用作数据库.缓存.消息代理和队列. Red…
前言 原文地址 源码地址 了解co的前提是已经知晓generator是什么,可以看软大神的Generator 函数的语法,co是TJ大神写的能够使generator自动执行的函数库,而我们熟知的koa也用到了它管理异步流程控制,将异步任务书写同步化,爽的飞起,也摆脱了一直以来的回调地狱问题. 如何使用 首先我们根据co的官方文档来稍做改变看下,到底如何使用co,再一步步进行源码分析工作(这篇文章分析的co版本是4.6.0). yield 后面常见的可以跟的类型 promises array (p…