你不需要把<ECMAScript 2015 Language Specification>通读一遍,因为没那个必要.   阮一峰建议: 对于一般用户来说,除了第4章,其他章节都涉及某一方面的细节,不用通读,只要在用到的时候,查阅相关章节即可.       想要去阅读 ES6 规格,要对这个规格的组织结构有所了解. ECMAScript 6规格的26章之中,第1章到第3章是对文件本身的介绍,与语言关系不大.第4章是对这门语言总体设计的描述,有兴趣的读者可以读一下.第5章到第8章是语言宏观层面的描…
  In any case/on any account  在任何情况下 “Varargs”是“variable number of arguments”的意思.有时候也被简单的称为“variable arguments” Polymorphism  https://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html is derived from 派生 pre 前提条件  affirm 断言.肯定 alertnate 交替的…
Null Pointer Exception,简称NPE 在java中,static final修饰的是常量.根据编译器的不同行为,常量又可分为编译时常量和运行时常量. 举例说明吧 public static final int a = 10就是一个编译时常量,在编译后的符号中找不到a,所有对a的引用都被替换成了20:它是不依赖于类的,在编译时就可以确定值. public static final int b = “hello”.length()就是一个运行时常量:它是依赖于类的,它的赋值会引起…
C#(念作 See Sharp)是一种简单.现代.面向对象并且类型安全的编程语言.C# 源于 C 语言家族,因此 C.C++ 和 Java 工程师们能迅速上手.ECMA 国际[1](ECMA International)发布的 ECMA-334 规范[2]和由国际标准化组织[3](ISO)及国际电工委员会[4](IEC)发布的 ISO/IEC 23270 规范使 C# 语言成为一种标准化的语言,微软 .NET Framework C# 编译器就是遵照了这两个标准而实现的. C# 不仅是一门面向对…
程序 C# 程序(program)由至少一个源文件(source files)组成,其正式称谓为编译单元(compilation units)[1].每个源文件都是有序的 Unicode 字符序列.源文件通常与文件系统内的相应文件具有一对一关系,但这种相关性并非必须因素.为尽最大可能确保可移植性,推荐文件系统中的文件编码为 UTF-8 编码规范. 从理论上来说,程序编译由三步骤组成: 转换(transformation),将文件中的特定字符编码方案转换为 Unicode 字符序列: 词法分析(l…
ECMAScript和JavaScript的区别 ECMA是European Computer Manufacturers Association的缩写,即欧洲计算机制造商协会.欧洲计算机制造商协会是制定信息传输与通讯的国际化标准组织.ECMAScript是ECMA制定的标准化脚本语言.目前JavaScript使用的ECMAScript版本为ECMAScript-262.ECMAScript被国际化标准组织采纳为ISO/IEC 16262. ECMAScript发展更新历史总结: ecma sc…
前言 本文参考P4.org网站给出的<The P4 Language Specification v1.0.2>的第二部分首部及字段,仅供学习:). 欢迎交流! Header and Fields 目录 (1)首部类型,Header Type (2)首部实例(Header instances 和 Metadata instances) 检查实例是否合法(valid) Header Stacks (3)Headers and Fields 索引指针(References) (4)Fields L…
Tracking by Natural Language Specification 2018-04-27 15:16:13  Paper: http://openaccess.thecvf.com/content_cvpr_2017/papers/Li_Tracking_by_Natural_CVPR_2017_paper.pdf Code: https://github.com/QUVA-Lab/lang-tracker    The Proposed Models: 本文更加关注的是 Mo…
应用程序启动 拥有进入点(entry point)的程序集称应用程序(application).当运行一应用程序时,将创建一新应用程序域(application domain).同一个应用程序可在同一台机器(machine)上同时运行多个实例,并且每个实例都有自己的应用程序域. 应用程序域作为应用程序状态(application state)之容器(container),使应用程序相互隔离(isolation).应用程序域是定义于应用及所用类库的类型之容器与边界.加载入不同的应用程序域的同一类型…
C# 语言的类型分为两大类:值类型(value type)和引用类型(reference type),而它们又都同时具有至少一个类型形参的泛型类型(generic type).类型形参(type parameters)能同时指定值类型和引用类型. 第三类是指针(pointers),只能用于非安全代码(unsafe code)中.关于非安全代码,将在第十八章第二节内讨论. 值类型与引用类型不同之处在于值类型的变量直接包含其数据,而引用类型的变量保存对其数据的引用(references),后者被称为…
变量(variable)表示存储的位置.每个变量都有类型,类型决定变量保存的值的类型.C# 是一门类型安全的语言,C# 编译器会确保变量中保存一个适合类型的值.变量的值可通过赋值或通过使用 ++ 与 -- 操作符改变. 变量必须在获得(obtained)前被明确赋值(definitely assigned)(第五章第三节). 如以下部分所述,变量要么初始已赋值(initially assigned),要么初始未赋值(initially unassigned).初始已赋值的变量有非常明确(well…
The Go Programming Language Specification go语言规范 Version of May 9, 2018 Introduction 介绍 Notation 符号 Source code representation 源代码表示形式 Characters 字符 Letters and digits 字母和数字 Lexical elements 词法元素 Comments 评论 Tokens 令 牌 Semicolons 分号 Identifiers 标识符 K…
Java™ Platform, Standard Edition 8 API Specification http://docs.oracle.com/javase/8/docs/api/ The Java® Language Specification http://docs.oracle.com/javase/specs/jls/se8/html/index.html The Java® Virtual Machine Specification http://docs.oracle.com…
回答一个问题:多线程场景下,有时一个线程对shared variable的修改可能对另一个线程不可见.那么,何时一个线程对内存的修改才会对另一个线程可见呢? 基本的原则: 如果 读线程 和 写线程 不进行同步,就不能保证可见性 地址:Oracle -- Java Language Specification -- Chapter 17. Threads and Locks  阐述了Java 内存模型下多线程程序的 Semantics 已经有人翻译好了: 深入分析 java 8 编程语言规范:Th…
ECMAScript 是一种规范,而 JavaScript 是对规范的实现.ECMA 是标准化组织. 最早的 JavaScript 是由 Netscape 公司开发的,并提交给 ECMA 标准化组织,制定了最早的 ECMAScript 1.0 (简称ES1,以下同)标准. 此后,又陆续制定了后续其他标准: 3.0 标准(ES3)- 得到业界的广泛支持,成为了通行标准,奠定了 JavaScript 的江湖地位,初学者最早学习的 JavaScript 其实就是基于这个 3.0 版的语法. 4.0 标…
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-23.4 Draft Report Errors and Issues at: https://bugs.ecmascript.org Product: Draft for 6th Edition Component: choose an appropriate one Version: Rev 27, August 24, 2014 Draft Ecma/TC39/2014/0xx…
Introduction P4 is a declarative language for expressing how packets are processed by the pipeline of a network forwarding element such as a switch, NIC, router or network function appliance. It is based upon an abstract forwarding model consisting o…
转换使表达式可以当做一个明确的类型来加以处理.转换使得所给定类型的表达式以不同类型来处理,或使得没有某个类型的表达式获得该类型.转换可以是显式或隐式的,而这决定了是否需要显式地强制转换.比方说,从类型 int 向类型 long 的转换是隐式的,所以 int 类型表达式可以隐式地当做 long 的来处理.反过来转换,从类型 long 转换为 int 是显式的,需要显式的强制转换(explicit cast). int a = 123; long b = a; // 从 int 到 long 隐式转…
这篇文章提出了DIIN(DENSELY INTERACTIVE INFERENCE NETWORK)模型. 是解决NLI(NATURAL LANGUAGE INFERENCE)问题的很好的一种方法. 模型结构 首先, 论文提出了IIN(Interactive Inference Network)网络结构的组成, 是一种五层的结构, 每层的结构有其固定的作用, 但是每层的实现可以使用任意能达到目的的子模型. 整体的结构如下图: 模型结构从上到下依次为: Embedding Layer: 常见的对w…
https://msdn.microsoft.com/en-us/library/aa645596(v=vs.71).aspx…
本规范是基于JavaScript规范拟定的,只针对ES6相关内容进行约定 如变量命名,是否加分号等约定的请参考JavaScript规范 应注意目前的代码转换工具(如Babel,Traceur)不够完善,有些特性须谨慎使用 ES6 Coding Style English Version 规范内容 声明 1.1 变量 对于只在当前作用域下有效的变量,应使用let来代替var 对于全局变量声明,采用var,但应避免声明过多全局变量污染环境 // 不好 const variables; const g…
<p4规范>解析器部分详解 p4解析器是根据有限状态机的思想来设计的. 解析器中解析的过程可以被一个解析图(parser graph)所表示,解析图中所表示的某一个状态(或者说,在P4语言中的某一个解析函数)看做是一个状态节点,每一个状态转换等同于跨越状态节点之间的边界. (图2) 图2展示了一个非常简单的例子.请注意,在图二中的每一个状态节点都明确识别了一个首部实例. 虽然P4支持这种图表的形式,但是并不是非它不可. 在解析图中的某一个状态节点,也许只是一个单纯的.没有绑定任何特定首部实例的…
第一步: 第二步: 第三步:下面这个图在这个页面的下方,所以你只要一直往下看,直到看到下图的文字为止: 第四步: 第五步: 这样你就可以成功下载该java 语言规范的pdf了. 它直接下载的网址为: http://docs.oracle.com/javase/specs/index.html…
0 简述 Transformer最大的问题:在语言建模时的设置受到固定长度上下文的限制. 本文提出的Transformer-XL,使学习不再仅仅依赖于定长,且不破坏时间的相关性. Transformer-XL包含segment-level 循环机制和positional编码框架.不仅可以捕捉长时依赖,还可以解决上下文断片问题 fragmentation problem.可以学到比RNNs长80%的依赖,比vanilla Transformers长450%.在长短序列上都取得了更好的结果.与van…
迭代器协议定义了一种标准的方式来产生一个有限或无限序列的值,并且当所有的值都已经被迭代后,就会有一个默认的返回值. 当一个对象只有满足下述条件才会被认为是一个迭代器:它实现了一个 next() 的方法并且拥有特殊含义. MDN 迭代器协议 let fridge = { name: "卡萨帝冰箱", color: "白色", brand: "海尔" }; fridge[Symbol.iterator] = () => { let keys =…
可迭代协议允许 JavaScript 对象去定义或定制它们的迭代行为, 例如(定义)在一个 for..of结构中什么值可以被循环(得到). 一些内置类型都是内置的可迭代类型并且有默认的迭代行为( 比如 String.Array.Map.Set), 另一些类型则不是 (比如Object) . 为了变成可迭代对象, 一个对象必须实现 @@iterator 方法, 意思是这个对象(或者它原型链 prototype chain 上的某个对象)必须有一个名字是 Symbol.iterator 的属性. l…
文章中一些名词的翻译存疑,没有查过正式的中文名称 前面都是具体过程的解释,懒得看可以直接看获取思路 有关this的取值请移步JavaScript笔记--this的取值 获取this的过程 Runtime Semantics: Evaluation Return ResolveThisBinding(); ResolveThisBinding() The abstract operation ResolveThisBinding determines the binding of the keyw…
箭头函数 箭头函数使用=>语法来简化函数.在语句结构上和C#.Java 8 和 CoffeeScript相似,支持表达式和函数体. . =>`操作符左边为输入的參数.而右边则是进行的操作以及返回的值. var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2) { return num1 + num2; }; 关于this,绑定定义时所在的对象.而不是使用时所在的对象. var handler…
ECMAScript 7 中新增了用于检测数组中是否包含某个元素 Array.prototype.includes() API,想到了 Array 其实有很多相关 API 可以检测到是否包含某个元素,比如 Array.prototype.indexOf,于是好奇为什么要实现这样一个 "看起来功能有点重复的 API". 前端开发 QQ 群:377786580 原文发表于 http://tasaid.com,转载请参阅 转载授权. 前言 最近又看了下 ECMAScript 7 规范,看到新…
JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象: DOM 描述了处理网页内容的方法和接口: BOM 描述了与浏览器进行交互的方法和接口. ECMAScript.DOM 和 BOM 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分.实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模型(BOM) E…