JS权威指南读书笔记(四)】的更多相关文章

第十章 正则表达式 1 正则表达式直接量定义为包含在一对斜杠(/)之间的字符     a /s$/ == new RegExp("s$") 2 直接量字符:所有字母和数字都是按照字面含义进行匹配的,非字母的字符需要通过反斜线(\)作为前缀进行转义. 3 字符类:将直接量字符单独放进方括号内就组成了字符类.一个字符类可以匹配它所包含的任意字符. 转义符\b 具有特殊含义,当用在字符类中,它表示退格符,所以一个元素的字符类[\b]表示一个退格符. 4 重复 5 在待匹配的字符后跟随一个问号…
第十七章 事件处理 1 客户端JS程序采用了异步事件驱动编程模型. 2 关于事件的重要定义     a 事件类型(event type)     b 事件目标(event target) target === srcElement(IE8及之前版本)     c 事件处理程序(event handler ) 当对象上注册的事件处理程序被调用时,可以说浏览器触发(fire trigger)和派发(dispatch)了事件:     d 事件对象(event object)     e 事件传播(e…
第十三章 Web浏览器中的JavaScript 1 在Html文档中嵌入客户端4种JS代码方法     a 内联方式,放置在<script>标签之间     b 放置在<script>标签 src 属性指定的外部文件中     c 放置在HTML事件处理程序中     d 放置在URL中,"javascript:" 协议 2 在XHTML中,script标签中内容将被当做其他内容,如果JS代码包含了"<" 或 "&&q…
第四章 表达式和运算符 1 new调用构造函数的过程     a 创建一个新的空对象     b 设置空对象的_proto_指向构造函数原型prototype     c 将这个新对象当做this的值来调用构造函数     d 如果构造函数不返回一个对象值,则返回新对象 2 左值:表示存储在计算机内存的对象. 3 除数为0的运算结果是正无穷大或负无穷大,0/0的结果是NaN. 4 位运算符会将NaN.Infinity和-Infinity都转换为0. 5 in运算符希望它的左操作数是一个字符串或可…
第十五章 脚本化文档   1 文档对象模型(DOM)是表示和操作HTML和XML文档内容的基础API. 2 文档节点的部分层次结构 Text和CDATASection都是characterData的子类型. 3 getElementsByNames() 定义在HTMLDocument类中,而不是Document(文档可能代表HTML也可能代表XML) 类中,所以只针对HTML文档可用. 4 由于历史原因,HTMLDocument类定义了一些快捷属性来访问各种各样的节点.例如:images.for…
第七章 数组 1 数组的实现是经过优化的,用数字索引来访问数组元素一般来说比访问常规的对象属性要快的多. 2 数组直接量的语法允许有可选的结尾的逗号,故[ ; ; ]只有两个元素而非三个. 3 调用构造函数创建数组     a 调用时没有参数 => 空数组     b 调用时有一个数值参数 => 指定长度的数组     c 显式指定两个或多个数组元素或一个非数值元素 => 参数成为新数组的元素 4 稀疏数组:包含从0开始的不连续索引(即 '索引值' in '数组' 运算返回 false)…
第一章 JavaScript概述 1 JS是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格.   第二章 词法结构 1 JS程序是用Unicode字符集编写的. 2 JS是区分大小写的,但是Html并不区分大小写. 3 JS会忽略程序中标识之间的空格,多数情况下,同样会忽略换行符. 4 回车符(\u000D)和换行符(\u000A)在一起被解析为一个单行结束符. 5 空格.换行符和格式控制符可以用在JS的注释.字符串直接量和正则表达式直接量中,但不能用在标识符中. 6 …
HTTP权威指南笔记 读书有两种境界,第一种境界是将书读薄,另一种是读厚.本篇文章就是HTTP权威指南的读书笔记,算是读书的第一重境界,将厚书读薄.文章对HTTP的一些关键概念做了比较详细的概述,通读一遍之后,会对HTTP有个总体认识.然后你可以根据文章中的关键点,去查找更详细的细节.这就是读书的第二重境界,将书读厚. HTTP(hypertext transfer protocol,超文本传输协议)是万维网进行通信时所使用的协议方案.HTTP有很多应用,但最著名的是用于Web浏览器和Web服务…
今天翻手机,翻到了许久之前看css权威指南时的笔记,遂移到博客中来. 1.属性选择器p.one class名为one的p元素p[class][name] 含有class和name属性的p元素p[class="one"][name="two"] class属性为one且name属性为two的p元素p[class~="one"] class属性包含one的p元素p[class^="one"] class属性以one开头p[clas…
web性能权威指南 page 203 经典的性能优化最佳实践 无论什么网络,也不管所用网络协议是什么版本,所有应用都应该致力于消除或减 少不必要的网络延迟,将需要传输的数据压缩至最少.这两条标准是经典的性能优 化最佳实践,是其他数十条性能准则的出发点. 减少DNS查找 每一次主机名解析都需要一次网络往返,从而增加请求的延迟时间,同时还会阻 塞后续请求. 重用TCP连接 尽可能使用持久连接,以消除 TCP 握手和慢启动延迟;参见 2.2.2 节“慢启动”. 减少HTTP重定向 HTTP 重定向极费…
这一章看了之后真是豁然开朗,之前虽然写了圣杯布局和双飞翼布局,有些地方也是模糊的,现在打算总结之后再写一遍. 以下都是从<css权威指南>中摘抄的我认为很有用的说明. 浮动元素 一个元素浮动时,其他内容会环绕该元素.浮动元素会生成一个块级框,不论这个元素本身是什么.并且浮动元素周围的外边距不会合并.如果要浮动一个非替换元素,必须显式声明width. 浮动元素的几条规则: 1)      浮动元素的左(右)外边界不能超出其包含块(包含快是其最近的块级祖先元素)的左(右)边界.但是负外边距或者浮动…
延迟指服务器处理一个请求所花费的时间,单位一般是ms.s. 本文主要讲降低延迟可以做的服务器端JVM优化. JVM延迟优化 新生代 新生代大小决定了应用平均延迟 如果平均Minor GC持续时间大于应用程序平均延迟性要求,可以适当减小新生代空间大小: 如果Minor GC频率大于应用程序平均延迟性要求,可以适当增大新生代空间: 老年代 老年代大小决定了应用最差延迟 FullGC频率大于应用程序最大FullGC频率要求,可以适当增大老年代空间大小: FullGC持续时间大于应用程序最差延迟性要求,…
KafkaConsumer概念 消费者和消费者群组 Kafka 消费者从属于消费者群组.一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息. 往群组里增加消费者是横向伸缩消费能力的主要方式. 我们有必要为主题创建大量的分区,在负载增长时可以加入更多的消费者.不要让消费者的数量超过主题分区的数量,多余的消费者只会被闲置.  除了通过增加消费者来横向伸缩单个应用程序外,还经常出现多个应用程序从同一个主题读取数据的情况. Kafka 设计的主要目标之一 ,就是要让 Kafka 主…
1.创建对象 (1).通过对象直接量的方式创建 说明:对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来. 如:       5 5           1 var empty = {}; //创建一个空对象 2 var point = { 3    x : 0, 4    y : "ccc 5 }     对象直接量是一个表达式,每次运算都会创建并初始化一个新的对象. (2).通过new创建对象 new运算符创建并初始化一个新对象.…
本书中提到的Hadoop项目简述 Common:一组分布式文件系统和通用I/O的组件与接口(序列化.javaRPC和持久化数据结构). Avro:一种支持高效.跨语言的RPC以及永久存储数据的序列化系统. MapReduce:分布式数据处理模型和执行环境,执行于大型商业集群. HDFS:分布式文件系统,执行于大型商用机集群. Pig:一种数据流语言和执行环境,用以检索很大的数据集. Pig执行在MapReduce和HDFS的集群上. Hive:一个分布式.按列存储的数据仓库.Hive管理HDFS…
一.JavaScript核心语法 1.字符串中接受RegExp参数的方法 (1)text.search(pattern)返回首次匹配成功的位置 (2)text.match(pattern)返回匹配组成的数组 (3)text.replace(pattern, '#')返回新字符串 (4)text.split(pattern) 2.字符串不是对象为什么会有属性? 只要引用了字符串的属性,JavaScript就会将字符串值通过String()构造函数创建临时对象(包装对象),这个对象继承了字符串的方法…
一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间有大量的交互. 提高应用性能和扩展性的一个目标就是尽可能降低系统态CPU使用率. 2. CPU运行队列就是那些已经准备好运行.正等待可用CPU的轻量级进程. 当运行队列长度达到处理器的4倍或者更多时,系统的相应就非常迟缓了. 解决运行队列长有两种办法: 1). 增加CPU以分担负载: 2). 分析系…
1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当于定义了全局对象的一个属性: 1)如果使用var声明全局变量,这个属性是不可配置的.也就是无法delete 2)如果不使用var声明,则可以进行delete: 例子: var s1 = "s1";  //不可配置的全局变量 s2 = "s2";   //可配置的全局变量…
1. 概述 kylin 是 OLAP 引擎,采用多维立方体预计算技术,可将大数据的 SQL 查询速度提升到亚秒级别. 需求: 虽然像 spark,hive 等使用 MPP 大规模并行处理和列式存储的方式,可以将 Hadoop 的 SQL查询提高到了分钟级别, 但是仍然不能满足数据分析师的要求.在面对超大规模的数据集时,分析师不要讲更多的精力花在等待查询结果上, 而不是更加重要的建立领域模型上. kylin 就是要打破查询时间随着数据量成线性增长的规律,采用的思路就是 “预计算” 它会尽量的预先计…
1.数据类型:原始类型(primitive type) 和对象类型(object type) 原始类型包括数字.字符串和布尔值: 除数字.字符串.布尔值.null(空).undefined(未定义),其它都属于对象类型. 也可以分为可变(mutable)类型和不可变(immutable)类型.数字.字符串.布尔值.null和undefined属于不可变类型. 2.值 非数字值用NaN表示,函数isNaN()用于判断一个值是否是非数字,如果参数是NaN或非数字值,返回true. 函数isFinit…
3.1 开始使用Node.js编程 3.1.1 Hello World 将以下源代码保存到helloworld.js文件中 console.log('Hello World!'); console.log('%s:%d', 'hello', 25); 找到文件位置,执行node helloworld.js.结果如下: 3.1.2 Node.js命令行工具 输入:node --help可以看到详细的帮助信息. 除了直接运行脚本外,node --help显示的用法中说明了另一种输出hello wor…
新生代填满时,垃圾收集器会暂停所有的应用线程,回收新生代空间.这种操作被称为Minor GC. 老年代被填满时,垃圾收集器会暂停所有应用线程,对其进行回收,接着对堆空间进行整理.这个过程被称为Full GC. 最主流的四个垃圾收集器分别是:Serial收集器.Throughput(或者Parallel)收集器.Concurrent(CMS.G1)垃圾收集器.Concurrent垃圾收集器可以通过复杂的计算,可以在应用线程运行的同时找出不再使用的对象. 使用CMS或G1收集器时,应用程序精力的停顿…
1. Node.js 使用了单 线程.非阻塞的事件编程模式 Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计.对于高并发的解决方 案,传统的架构是多线程模型,也就是为每个业务逻辑提供一个系统线程,通过系统线程切 换来弥补同步式 I/O 调用时的时间开销.Node.js 使用的是单线程模型,对于所有 I/O 都采用 异步式的请求方式,避免了频繁的上下文切换.Node.js 在执行的过程中会维护一个事件队 列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求…
2 Ansible基础元素介绍 2.1 ansible 目录结构介绍 2.2 ansible 配置文件解析 配置文件解析顺序:当前命令执行目录-->用户家目录下的.ansible.cfg-->/etc/ansible.cfg 2.3 ansible 命令用法详解 2.4 ansible系列命令用法详解 ansible ansible-galaxy ansile-galaxy的功能可以裂解为Github或Pip的功能,通过该命令,可以根据下载量和关注量查找和安装优秀的roles ansible-…
DataStax驱动最成熟.默认,驱动程序会使用第一个连接的节点作为支持的版本协议.如果集群存在高低版本的节点(比如升级场景),如果驱动先连接不同不同版本的节点,可能会出现不兼容.驱动支持压缩客户端和cassandra节点之间的消息.目前支持2种压缩算法:LZ4和SNAPPY.默认为NONE,即不压缩.可以调用Cluster.Bilduer.withCompression()操作来覆盖这个设置.认证和加密驱动可插拔实现com.datastax.driver.core.AuthProvider.比…
数据库事务正确执行的四个基本要素事务要有四个基本要素:ACID:原子性(Atomic).一致性(Consistent).隔离性(Isolated).持久性(Durable)原子性(Atomic):整个事务中的如果有多个操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节.执行失败则回滚.一致性(Consistent):如果事务并发多个,系统也必须如同串行事务一样操作.单机就保证多表级联操作等等,得保证两个表都同时修改.事务前后的操作得一致.事务执行完得和预期一致.隔离性(Isolated…
JavaScript 1.变量 变量是一个表示值的符号,是一个名字,他的本质是值: var x; //----声明一个变量: 值通过等号“=”赋给变量,x = 16; 对象是名/值对的集合,或字符串到值映射的集合: var book = { //对象用花括号包起来 topic:"JavaScript", //属性topic的值是JavaScript,多个名/值对用逗号分隔: fat:true //属性fat的值是true; }; //分号表示定义变量结束: 通过"."…
HTTP通信是由TCP/IP承载的,HTTP紧挨着TCP,位于其上层,所以HTTP事务的性能很大程度上取决于底层TCP通道的性能. HTTP事务的时延 如图: HTTP事务的时延有以下几种主要原因. (1)客户端首先需要根据URI确定Web服务器的IP地址和端口号.如果最近没有对URI中的主机名进行访问,通过DNS解析系统将URI中的主机名转换成一个IP地址可能要花费数十秒的时间. (2)接下来,客户端会向服务器发送一条TCP连接请求,并等待服务器回送一个请求接受应答.每条新的TCP连接都会有连…
吞吐量是指,应用程序的TPS: 每秒多少次事务,QPS: 每秒多少次查询等性能指标. 吞吐量调优就是减少垃圾收集器消耗的CPU周期数,从而将更多的CPU周期用于执行应用程序. CMS吞吐调优 CMS包括Minor GC所带来的开销应该小于10%,如果垃圾收集的开销在3%或更少,说明通过调优吞吐量,提升性能的空间就极其有限了. 可用的调优方法如下: 1. 增大新生代空间,以降低Minor GC频率,减少CPU周期占用: 2. 增加老年代空间,以降低CMS频率,并可以减少老年代内存碎片: 3. 优化…
新生代.老年代.永久代的概念不多说,这三个空间中任何一个不能满足内存分配请求时,就会发生垃圾收集. 新生代不满足内存分配请求时,发生Minor GC,老年代.永久代不满足内存分配请求时,发生Full GC,Minor GC比Full GC持续的时间要短很多. 所以内存空间设置的不合理就会频繁引起垃圾收集,以及OutOfMemoryError错误,严重影响程序性能. Java堆大小计算法则 若你的应用部署在单独的服务器,且该服务器上只有这一个应用,那Java堆肯定是越大越好,但这种情况比较少. J…