ao

预编译

你。 提交于 2020-01-31 03:59:36
预编译的四部(在其中执行过的运行时不执行) 创建AO对象 找形参合和变量声明,将变量和形参名作为AO对象,值为undefined 将形参和实参统一 在函数体里面找函数声明,值赋予函数体(将函数名作为AO对象的属性名写进AO对象) function fn ( a ) { console . log ( a ) ; //答案1 var a = 123 ; console . log ( a ) ; //答案2 function a ( ) { } ; //函数声明 console . log ( a ) ; //答案3 var b = function ( ) { } ; //函数表达式 console . log ( b ) ; //答案4 function d ( ) { } //函数声明 } fn ( 1 ) ; 第一步 AO{} 第二部 AO{ a:undefined //变量声明+形参 b:undefined //变量声明 } 第三部 AO{ a:1*//实参传值* b:undefined; } 第四步 AO{ a:function a(){}; b:function b(){}; d:function d(){} } 所以答案: 答案1:function a(){} 答案2:123 答案3:123 答案4:function (){} 例二(有全局变量) function

3.2大神之路-Spring(四)——AOP

此生再无相见时 提交于 2020-01-28 04:07:02
导航 AOP 1. AOP是什么? 2. Spring AOP怎么用? 2.1 Spring AOP相关术语 2.2 Spring AOP在生产中角色 2.3 基于XML配置 Spring AOP 第一步:编写配置文件 2.3.2 通知类型 配置``切入点 配置` AOP 1. AOP是什么? AOP:aspect oriented programming,面向切面编程,通过 预编译 和运行期 动态代理 实现程序功能统一维护的一种技术。 AOP可以对业务逻辑的各个部分进行隔离,使业务逻辑耦合度降低,提高程序的可重用性,提高开发效率。 作用 程序运行期间,不修改源码对已有方法进行增强; 优势 减少重复代码 提高开发效率 维护方便 2. Spring AOP怎么用? 通过配置的方式,实现 动态代理 章节 《动态代理》 的功能 Spring可以手动控制到底基于接口还是子类的动态代理 2.1 Spring AOP相关术语 在看其他Spring AOP的资料时,特别需要掌握,因为其他人不会再从底层原理开始讲解了,而是会直接会基于Spring AOP说: Spring AOP术语 说明 Joinpoint (连接点) 指那些被拦截到的点,因为Spring只支持方法类型的连接点,Spring中指的就是方法。如:业务接口的所有方法就都是连接点。连接的是我们的业务,增强方法中的点 Pointcut

js的执行上下文

ぃ、小莉子 提交于 2020-01-08 01:00:58
js的运行环境有三种: 1. 全局环境 2. 函数内环境 3. eval环境 1. EC Execute Context: 执行上下文。 1)全局执行上下文 js引擎遇到可执行的js代码,默认创建一个全局执行上下文。 2)函数执行上下文 js引擎遇到函数调用,会立即创建一个函数执行上下文。 执行上下文周期: 执行上下文周期分为两个阶段: 创建阶段 创建阶段的任务有三个: 1. 生成变量对象(VO) 2. 建立作用域链Scope 3. 声明this指向 this在创建阶段只是声明,在执行阶段根据函数运行时所在的执行上下文确定this指向的上下文的变量对象VO。 执行阶段 当函数执行内部代码时,进入执行阶段。 2. VO / AO / GO Variable Object: 变量对象,创建阶段的变量对象。 Active Object: 激活后的变量对象,即执行上下文执行阶段的VO。 Global Object: 全局对象,全局执行上下文对应的变量对象(AO/VO)。 每个执行上下文对象都有一个变量对象的属性,它用于存放执行上下文周期的创建阶段的形式参数、函数声明和变量声明。不能被用户直接访问。 在执行上下文周期的执行阶段,VO中对应的属性被赋值,变为AO,AO中内容是变量查找的内容。 变量对象的创建顺序如下: 1. 创建arguments对象,初始化形式参数 function a(x

javascript函数和内置对象

 ̄綄美尐妖づ 提交于 2019-12-27 09:28:08
javascript函数 1.普通函数定义 function f1() { console.log("today is good"); } f1(); #today is good 2.带参数的函数 function f1(a,b) { console.log(a); console.log(a+b); console.log("today is good"); } f1(2,3); #2 5 today is good sum("3",4); //3 34 today is good 3.带返回值的函数 function f1(a,b) { console.log(a); console.log(a+b); console.log("today is good"); } #没有设定返回值 var ret=f1(2,3); console.log(ret); #2 5 today is good undefined(定义了变量,但变量没有被复制,默认为undefined) ##在函数中加return## function f1(a,b) { console.log(a); console.log(a+b); console.log("today is good"); return "有返回值"; } var ret=f1(2,3); console.log(ret); #2 5

浅谈JS的作用域链(二)

ε祈祈猫儿з 提交于 2019-12-21 01:44:21
上一篇文章中介绍了Execution Context中的三个重要部分:VO/AO,scope chain和this,并详细的介绍了VO/AO在JavaScript代码执行中的表现。 本文就看看Execution Context中的scope chain。 作用域 开始介绍作用域链之前,先看看JavaScript中的作用域(scope)。在很多语言中(C++,C#,Java),作用域都是通过代码块(由{}包起来的代码)来决定的, 但是,在JavaScript作用域是跟函数相关的,也可以说成是function-based。 例如,当for循环这个代码块结束后,依然可以访问变量"i"。 1 2 3 4 5 for (var i = 0 ; i < 3 ; i++){ console.log(i); } console.log(i); //3 对于作用域,又可以分为全局作用域(Global scope)和局部作用域(Local scpoe)。 全局作用域 中的对象可以在代码的任何地方访问,一般来说,下面情况的对象会在全局作用域中: 最外层函数和在最外层函数外面定义的变量 没有通过关键字"var"声明的变量 浏览器中,window对象的属性 局部作用域 又被称为函数作用域(Function scope),所有的变量和函数只能在作用域内部使用。 1 2 3 4 5 6 7 8 9 var

【JS】预编译(图解)

别来无恙 提交于 2019-12-12 13:28:03
预编译是js的一个特色,也算是闭包之前最难的一个知识点。预编译有4句公式,而这4句公式只要背熟就能理解预编译。这4句公式放在本文最末尾。本节篇幅比较长,要理解的东西也比较多。在学习预编译之前要记住下面这句话: JS的声明和执行(赋值)是分开两步操作的,声明属于预编译环节。 要了解预编译,就要先了解变量声明。变量声明又分为全局和局部。局部变量和作用域有关,稍后会讲到。 全局变量声明要记住2句话 1、任何变量,如果未经声明就赋值,此变量就为全局变量所有。 2、一切声明的全局变量,都是window的属性。 微信订阅号:Rabbit_svip 在Console可以看到输出的window里面,有变量a。 如果输出 window.a ,那就直接输出了123了。由此可以解析上面所说的全局变量的两句话。在全局声明的变量,称为全局变量。全局变量的作用域就是全局。局部变量的作用域通常是在函数内部。全局作用域称为GO,全称:Global Object。临时作用域成为AO,全称:Activation Object。而GO又可以理解为window这个对象。GO和AO要和JS的预编译一起理解。 【预编译公式】 1、创建GO/AO对象。 2、找形参和变量声明,将变量和形参名作为AO的属性名,值为undefined。 3、将实参值和形参统一。 4、在函数体里面找函数声明,值赋予函数体。 看下面的代码

计算机组成原理复习问题

孤街浪徒 提交于 2019-12-10 07:44:54
第二章: 1.在用补码阵列乘法器,求乘积x*y 时,如果是负值 为什么要取反? 2.溢出判断 为什么要还原 3.浮点运算方法 x+y x-y 浮点运算方法 X*Y 4.不恢复余数除法 来源: CSDN 作者: ao_mike 链接: https://blog.csdn.net/ao_mike/article/details/103465486

鳄鱼法则

。_饼干妹妹 提交于 2019-12-09 09:21:44
import numpy as np def initialize(context): g.up_price = {} #向上碎形最高价 g.low_price = {} #向下碎形最低价 g.up_fractal_exists = {} #判断有效向上碎形 g.down_fractal_exists = {} #判断有效向下碎形 g.AO_index = {} #存放连续的AO指标数据 g.cal_AC_index = {} #计算AC指标中转存储 g.AC_index = {} #存放连续的AC指标数据 g.amount = {} #满仓仓位 g.stock = get_index_stocks('000300.XSHG') g.buy_stock = [] set_benchmark('000300.XSHG') g.month = context.current_dt.month run_monthly(select_universe,1,'open') #重置全局变量 def reset_global(): g.up_price = {} #向上碎形最高价 g.low_price = {} #向下碎形最低价 g.up_fractal_exists = {} #判断有效向上碎形 g.down_fractal_exists = {} #判断有效向下碎形 g.AO_index

第3篇:分布式数据库存储

只谈情不闲聊 提交于 2019-12-06 11:56:58
一、分布式数据库存储 在前面的章节;GreenPlum数据库是分布式架构数据库;表的数据分布在segment节点。那么表的数据根据什么策略来分布的? GreenPlum数据库性能依赖于跨数据节点均匀分布 GreenPlum数据库查询响应时间由所有数据节点完成时间来度量。系统只能跟最慢数据节点完成时间来决定。如果数据存储倾斜。一个数据节点比其他节点需要花更多的时间来处理数据,数据存储倾斜只会存在哈希分布的情况。 在GreenPlum数据库中;表关联查询最常见。若两个或者多个表关联的字段非分布键或者采用随机分布。在其他分布式架构这表之间的关系不是亲和表。要执行连接,匹配的行必须位于同一节点上。 如果数据未在同一连接列上分发,则其中一个表所需的行将动态重新分发到其他节点。 有些情况下,执行广播动作,每个节点将其各个行发送到所有其他节点上,而不是每个节点重新哈希数据并根据哈希值将行发送到适当的节点的重新分配。 是不是还有一种复制表?在GreenPlum6.0以上的版本支持复制表。正好避免2中的广播或者重分布动作。 二、分布策略 在GreenPlum数据库在创建表时可以指定分布策略:哈希分布( DISTRIBUTED BY )、随机分布( DISTRIBUTED RANDOMLY) 、复制分布 (DISTRIBUTED REPLICATED )。 哈希分布:需要指定分布键

鳄鱼法则

守給你的承諾、 提交于 2019-12-06 01:47:55
import numpy as np def initialize(context): g.up_price = {} #向上碎形最高价 g.low_price = {} #向下碎形最低价 g.up_fractal_exists = {} #判断有效向上碎形 g.down_fractal_exists = {} #判断有效向下碎形 g.AO_index = {} #存放连续的AO指标数据 g.cal_AC_index = {} #计算AC指标中转存储 g.AC_index = {} #存放连续的AC指标数据 g.amount = {} #满仓仓位 g.stock = get_index_stocks('000300.XSHG') g.buy_stock = [] set_benchmark('000300.XSHG') g.month = context.current_dt.month run_monthly(select_universe,1,'open') #重置全局变量 def reset_global(): g.up_price = {} #向上碎形最高价 g.low_price = {} #向下碎形最低价 g.up_fractal_exists = {} #判断有效向上碎形 g.down_fractal_exists = {} #判断有效向下碎形 g.AO_index