每个I/O 请求到磁盘都需要若干时间.主要是因为磁盘的盘边必须旋转,机头必须寻道.磁盘的旋转常常被称为”rotational delay”(RD),机头的移动称为”disk seek”(DS).一个I/O 请求所需的时间计算就是DS加上RD.磁盘的RD 基于设备自身RPM 单位值(译注:RPM 是Revolutions Perminute的缩写,是转/每分钟,代表了硬盘的转速).一个RD 就是一个盘片旋转的半圆. 如何计算一个10K RPM设备的RD 值呢: 1, 10000 RPM / 60…
责怪糟糕的代码(或不良代码对象)并不能帮助您发现瓶颈,提高 Java? 应用程序速度,猜测也不能帮您解决.Ted Neward 引导您关注 Java 性能监控工具,从5 个技巧开始,使用Java 5 的内置分析器JConsole 收集和分析性能数据. 当应用程序性能受到损害时,大多数开发人员都惊慌失措,这在情理之中.跟踪 Java 应用程序瓶颈来源一直以来都是很麻烦的,因为 Java 虚拟机有黑盒效应,而且 Java 平台分析工具一贯就有缺陷. 然而,随着 Java 5 中 JConsole 的…
转:http://blog.csdn.net/hanchengxi/article/details/19089589 一.磁盘 I/O 的概念 I/O 的概念,从字义来理解就是输入输出.操作系统从上层到底层,各个层次之间均存在 I/O.比如,CPU 有 I/O,内存有 I/O, VMM 有 I/O, 底层磁盘上也有 I/O,这是广义上的 I/O.通常来讲,一个上层的 I/O 可能会产生针对磁盘的多个 I/O,也就是说,上层的 I/O 是稀疏的,下层的 I/O 是密集的. 磁盘的 I/O,顾名思义…
目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程.视图.函数等一系列应用方式,而当有一天它运行的正常的时候突然启动不起来了,这时候就束手无策了,能做的或许只能是重装.配置.还原等,但这一个过程其实是一个非常耗时的过程,尤其当我们面对是庞大的生产库的时候,可能在这火烧眉毛的时刻,是不允许你再重搭建一套环境的. 所以作为一个合格的数据库使用者,我们要了…
Physical Disk: 单次IO大小 Avg.Disk Bytes/Read Avg.Disk Bytes/Write IO响应时间 Avg.Disk sec/Read Avg.Disk sec/Write IOPS DiskReads/sec DiskWrites/sec DiskTransfers/sec IO吞吐率 DiskBytes/sec DiskRead Bytes/sec DiskWrite Bytes/sec 磁盘有两个重要的参数:Seek time.Rotational…
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不尽,轻者如释重负,重者涕泪横流的架构体验. 但是,在实际开发过程中,库存超限,作为其中最核心的一员,到底该怎么做,如何做才会是最合适的呢? 今天这篇文章,我将会展示给大家库存限购的五种常见的做法,并对其利弊一一探讨,由于这五种做法,有的在设计之初当做提案被否定掉的,有的在线上跑着,但是在没有任何单元…
在你所不知道的setTimeout记载了下setTimeout相关,此篇则整理了下setInterval:作为拥有广泛应用场景(定时器,轮播图,动画效果,自动滚动等等),而又充满各种不确定性的这setInterval,自当先洞悉它,才能很好的驾驭它. 如觉此处样式排版不尽人意,可移步首链晚晴幽草轩~你所不知道的setInterval 1. setInterval()基础 setInterval函数的用法与setTimeout完全一致,区别仅仅在于setInterval指定某个任务每隔一段时间就执…
JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成.它们向任务队列添加定时任务.初始接触它的人都觉得好简单,实时上真的如此么?这里记载下,一路对其使用姿势变迁的历程. 如觉此处样式排版不尽人意,可移步首链晚晴幽草轩~你所不知道的setTimeout 1, setTimeout()基础 setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行.它返回一个整数,表示定时器的编号,以后可以用来取…
1.  IEnumerable 与  IEnumerator IEnumerable枚举器接口的重要性,说一万句话都不过分.几乎所有集合都实现了这个接口,Linq的核心也依赖于这个万能的接口.C语言的for循环写得心烦,foreach就顺畅了很多. IEnumerable只有一个抽象方法:GetEnumerator(),而IEnumerator又是一个迭代器接口,真正实现了访问集合的功能.  IEnumerator只有一个Current属性,两个方法MoveNext和Reset. 有个小问题,只…
Azure的云存储一直是Azure比较自豪的东西,想到AWS的LSA后面有若干个9,搞得大家都以为它的存储最优秀,其实不然,Azure存储到现在没有丢过客户1bit的数据,但是Azure不会去说我们的LSA是100%,因为是自找麻烦,但是实际上无论从performance还是可靠性,Azure的普通存储或者SSD都是很优越的,口说无凭,必须让事实来说话,就是这么自信,好了,不废话了,直接进入主题. 本次测试中,笔者特地去GitHub上搜索了一下,排名第一的是cxcv/iops,所以本次测试我们选…
前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程,并且根据加载过程中所遇到的一系列问题提供解决方案. 其实SQL Server作为微软的一款优秀RDBMS,它启动的过程中,本身所带的那些系统库发生问题的情况相对还是很少的,我们在平常使用中,出问题的大部分集中于我们自己建立的用户数据库. 而且,相对于侧重面而言,其实我们更关注的是我们自己建立的用户数…
这是Ted Neward在IBM developerWorks中5 things系列文章中的一篇,仍然讲述了关于Java并发集合API的一些应用窍门,值得大家学习.(2010.06.17最后更新) 摘要:除了便于编写并发应用的集合API外,java.util.concurrent还引入了其它的预置程序组件,这些组件能辅助你在多线程应用中控制和执行线程.Ted Neward再介绍了五个来自于java.util.concurrent的Java编程必备窍门. 通过提供线程安全,性能良好的数据结构,并发…
转载网址:http://www.cnblogs.com/buptzym/archive/2013/03/15/2962300.html 不知道的陷阱:C#委托和事件的困惑   一. 问题引入 通常,一个C语言学习者登堂入室的标志就是学会使用了指针,而成为高手的标志又是“玩转指针”.指针是如此奇妙,通过一个地址,可以指向一个数,结构体,对象,甚至函数.最后的一种函数,我们称之为“函数指针”(和“指针函数”可不一样!)就像如下的代码: int func(int x); /* 声明一个函数 */   …
或许您还不知道的八款Android开源游戏引擎         分类:             技术文章              2010-08-04 20:27     17430人阅读     评论(43)     收藏     举报     android游戏引擎j2sej2mejava 很多初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于iPhone下有诸如Cocos2d-iphone之类的免费游戏引…
关于 Java 对象序列化您不知道的 5 件事 转自:http://developer.51cto.com/art/201506/479979.htm 数年前,当和一个软件团队一起用 Java 语言编写一个应用程序时,我体会到比一般程序员多知道一点关于 Java 对象序列化的知识所带来的好处. 关于本系列 您觉得自己懂 Java 编程?事实上,大多数程序员对于 Java 平台都是浅尝则止,只学习了足以完成手头上任务的知识而已.在本 系列 中,Ted Neward 深入挖掘 Java 平台的核心功…
承接上一篇你所不知道的 CSS 动画技巧与细节,本文主要介绍 CSS 滤镜的不常用用法,希望能给读者带来一些干货! OK,下面直接进入正文.本文所描述的滤镜,指的是 CSS3 出来后的滤镜,不是 IE 系列时代的滤镜,语法如下,还未接触过这个属性的可以先简单到 MDN -- filter 了解下: { filter: blur(5px); filter: brightness(0.4); filter: contrast(200%); filter: drop-shadow(16px 16px…
老鸟程序员知道而新手不知道的小技巧 Web 前端篇 常充电!程序员只有一种死法:土死的. 函数不要超过50行. 不要一次性写太多来不及测的代码,而是要写一段调试一段. UI和编码要同步做. 多写注释方便的往往是自己. 碰到一堆问题时,一次只尝试解决一个问题. 没把握一眼看出问题症结的时候,老老实实单步调试. 设计模式是个好东西,但不要强行使用. 没造成可观的损失前不要尝试做性能优化. 没事别重复造轮子. 大多数情况下Boss不关心技术含量,而且往往简单的解决方案更快更有效果. 不要害怕接触新知识…
前言 POLARDB For MySQL(下文简称POLARDB)目前是阿里云数据库团队主推的关系型数据库.线上已经有很多企业用户在使用并且稳定运行了很久.当然,由于POLARDB是为云上环境专门打造的数据库,与原生的官方MySQL相比,有一些需要注意的事项.前几个月的月报介绍了一些,详见这篇[月报](http://mysql.taobao.org/monthly/2018/10/01/),结合笔者最近几个月一线的开发和运维经验,总结出以下几点新的注意事项并给出了建议. 空表/空实例空间问题 由…
目录 目录 正文 6. Recycler 7. ItemAnimator 8. ItemDecoration 9. OnFlingListener 目录 由于本篇篇幅特长,特意做了个目录,让大伙对本篇内容先有个大概的了解. 另外,由于有些平台可能不支持 `` 解析,所以建议大伙可借助本篇目录,或平台的目录索引进行快速查阅. LayoutManager 1.1 LinearLayoutManager 基本效果介绍 findFirstCompletelyVisibleItemPosition() f…
[C-C++]你所不知道的C和C++运行库 https://blog.csdn.net/humanking7/article/details/85887884 原作者也是转的blog 最近一个物理机上面的workstation 总是缺少一个dll 启动不起来 折腾了很久 突然想起来 我这边机器还经常缺少MSVCR100 之类的dll 今天晚上心血来潮 趁着孩子睡觉 翻一下blog 解决了之前一直迷惑的地方. 不同版本 不同依赖关系 需要的vc++ runtime 是不一样的. 不一定高版本一定…
一.闭包是什么? · 闭包就是可以使得函数外部的对象能够获取函数内部的信息. · 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. · 闭包就是一个“捕获”或“携带”了其被生成的环境中.所属的变量范围内所引用的所有变量的函数. 还有很多很多解释...... 函数对象可以通过作用域链互相关联起来,函数体内部的变量都可以保存在函数作用域内,这叫做“闭包”.      --<JavaScript权威指南> 当函数可以记住并访问所在的词法作用域…
云计算里AWS和Azure的探究(5) ——EC2和Azure VM磁盘性能分析 在虚拟机创建完成之后,CPU和内存的配置等等基本上是一目了然的.如果不考虑显卡性能,一台机器最重要的性能瓶颈就是硬盘.由于无论是EC2还是Azure VM都使用了虚拟机,而存储盘也是以某种形式存放在磁盘阵列或者NAS设备中,所以磁盘的读写性能成为使用云计算虚拟服务器里最重要的考虑因素.这一节我们先不去考虑EC2里面的Elastic Block Store或者Azure里面的Azure Drive的具体实现,而使用免…
一.CSS元素隐藏 在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间:有的可以响应点击,有的不能响应点击.后宫选秀——一个一个看. { display: none; /* 不占据空间,无法点击 */ } { visibility: hidden; /* 占据空间,无法点击 */ } { position: absolute; clip:rect(1px 1px 1px 1px); /* 不占据空间,无法点击 */ } { position: absolut…
有些东西很好用,但是你未必知道:有些东西你可能用过,但是你未必知道原理. 实现一个目的有多种途径,俗话说,条条大路通罗马.很多内容来自平时的一些收集以及过往博客文章底下的精彩评论,收集整理拓展一波,发散一下大家的思维以及拓展一下知识面. 茴字有四种写法,233333..., 文末有彩蛋有惊喜. 1.简短优雅地实现 sleep 函数 很多语言都有 sleep 函数,显然 js 没有,那么如何能简短优雅地实现这个方法? 1.1 普通版 function sleep(sleepTime) { for(…
原文链接:http://www.jb51.net/shouji/359262.html 日常我们使用手机,SIM卡是手机的必须,没有了它就不能接入网络运营商进行通信服务.SIM卡作为网络运营商对于我们身份辨别的证件,其起到了重要的作用.那么SIM卡是什么?其内部结构.原理.SIM的种类.使用技巧等等什么的,你都了解吗?以下一起进入今天为大家分享的你所不知道的SIM卡知识扫盲. SIM卡是什么 你所不知道的SIM卡知识扫盲 一.SIM卡是什么 SIM卡是(Subscriber Identity M…
关于setTimeout()你所不知道的地方,详解setTimeout() 前言:看了这篇文章,1.注意setTimeout引用的是全部变量还是局部变量了,当直接调用外部函数方法时,实际上函数内部的变量已经变成全局.2.提醒我防止出错的,用匿名函数不容易出错.3.setTimeout最快执行时间是4毫秒.4.使用setTimeout的函数会比当前队列的函数慢执行,在他们的后面.5.setTimeout中的定时器并不是准确的时间,实际中它需要在执行完前面的函数后才定时执行. 你还可以查阅关于set…
随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO 密集型工作负荷,比如虚拟机内部运行的 SQL 服务,存储系统的吞吐容量,往往成为生产系统的瓶颈所在. Azure 提供了标准存储和高级存储两种存储服务.针对于生产环境中的 IO 密集型负荷,我们推荐使用高级存储.标准存储仅推荐在开发测试环境中使用.针对于具体的高级存储的介绍,以及虚拟机存储的最佳实践…
随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO 密集型工作负荷,比如虚拟机内部运行的 SQL 服务,存储系统的吞吐容量,往往成为生产系统的瓶颈所在. Azure 提供了标准存储和高级存储两种存储服务.针对于生产环境中的 IO 密集型负荷,我们推荐使用高级存储.标准存储仅推荐在开发测试环境中使用.针对于具体的高级存储的介绍,以及虚拟机存储的最佳实践…
摘要: 详解原型污染. 原文:Lodash 严重安全漏洞背后 你不得不知道的 JavaScript 知识 作者:Lucas HC Fundebug经授权转载,版权归原作者所有. 可能有信息敏感的同学已经了解到:Lodash 库爆出严重安全漏洞,波及 400万+ 项目.这个漏洞使得 lodash "连夜"发版以解决潜在问题,并强烈建议开发者升级版本. 我们在忙着"看热闹"或者""升级版本"的同时,静下心来想:真的有理解这个漏洞产生的原因,…
QC 和 PD:关于你所不知道的快充 http://www.sohu.com/a/276214250_465976 2018-11-18 06:02 当我们使用支持 PD 或者 QC 快充协议的电源适配器给数码设备充电时,你可能并不会意识到,快充标准经历了怎样的漫长进化之路. 运算性能和提升和电池技术的停滞之间的矛盾早就了数码产品用户(尤其是智能手机用户)对快速充电和无线充电的原始需求,前者可以缩短充电时间,后者可以利用碎片化时间为手机补充电量.快充和无线充电都可以提高充电效率,但是一直以来,Q…