起因 周五改一个checkbox的display属性被错误地设置为none的bug. 经debug发现, 有两个地方修改了display属性: 1) checkbox的controller; 2) checkbox的parent(container). 前者先将display属性更新为block(正确), 后者再次更新为none(错误). 普通的思路是, 修改checkbox的container的代码, 使其能正确更新display值. 但另有一种更巧妙的方法, 就是修改checkbox的con…
JS是单线程引擎:它把任务放到队列中,不会同步去执行,必须在完成一个任务后才开始另外一个任务. 浏览器的内核是多线程的,它们在内核制控下相互配合以保持同步,一个浏览器至少实现三个常驻线程:javascript引擎线程,GUI渲染线程,浏览器事件触发线程. javascript引擎是基于事件驱动单线程执行的,JS引擎一直等待着任务队列中任务的到来,然后加以处理,浏览器无论什么时候都只有一个JS线程在运行JS程序. GUI渲染线程负责渲染浏览器界面,当界面需要重绘(Repaint)或由于某种操作引发…
近期在研究异步编程的我对于setTimeout之类的东西异常敏感.在SegmentFault上看到了一个问题<关于SetTimeout时间设为0时>:提问者读了一篇文章,原文解释setTimeout延迟时间为0时会发生的事情,提问者提出了几个文章中的几个疑点.读了那篇文章之后发现原文的作者对于setTimeout的理解和自己的认知有点出入,于是编写了相关测试的代码以求答案.最终编写了这篇文章. 本文内容如下: 起因 单线程的JavaScript setTimeout背后意味着什么 参考和引用…
在 zepto 源码中,$.fn 对象 有个 ready 函数,其中有这样一句 setTimeout(fn,0); $.fn = { ready: function(callback){ // don't use "interactive" on IE <= 10 (it can fired premature) // // document.readyState:当document文档正在加载时,返回"loading".当文档结束渲染但在加载内嵌资源时,返回…
在 zepto 源码中,$.fn 对象 有个 ready 函数,其中有这样一句 setTimeout(fn,0); 1 $.fn = { 2 ready: function(callback){ 3 // don't use "interactive" on IE <= 10 (it can fired premature) 4 // 5 // document.readyState:当document文档正在加载时,返回"loading".当文档结束渲染但在…
众所周知,大家对setTimeout的用法肯定都比较熟悉了,但是不是还是会经常忘记使用呢,例如博主阿里面试时就忘了,见阿里前端面试. 今天跟大家讨论一下setTimeout(fn,0)的用法,相信很多人没有这样使用过.js运行是基于单线程的,意味着一段代码执行时,其他代码将进入队列等待,一旦线程有空闲就执行后续代码.如果代码中设定了一个setTimeout,那么浏览器便会在合适的时间,将代码插入任务队列,如果这个时间设为 0,就代表立即插入队列,但并不是立即执行,仍然要等待前面代码执行完毕(其实…
我们都知道setTimeout是一个延迟执行的函数 console.log(); setTimeout(function(){console.log();},); console.log(); 会得到1,3,2 但是 setTimeout(function(){console.log();}, ); console.log(); 你知道这段代码会执行什么样的效果吗 正确答案是2,1 一开始我也很疑惑, setTimeout(function(){console.log(1);}, 0);不是隔了…
http://stackoverflow.com/questions/779379/why-is-settimeoutfn-0-sometimes-useful jquery validation setTimeout(function() { $('#my_field').rules('add', { required: true }) }, 0);…
setTimeout(func, 0)可以使用在很多地方,拆分循环.模拟事件捕获.页面渲染等 一.setTimeout中的delay参数为0,并不是指马上执行 <script type="text/javascript"> function delay1() { console.log('delay1'); } function delay2() { console.log('delay2'); } function delay3() { console.log('dela…
任务:从mongodb中导出csv数据,输出内容如下userid username usergender points points表: { "userid" : 1022, "points" : 12 }{ "userid" : 2592, "points" : 4 }{ "userid" : 7304, "points" : 44 }{ "userid" : 73…
先来看段代码,思考一下执行的结果. alert(1); setTimeout(function(){alert(2);}, 0); alert(3); 估计很多人认为执行结果为1,2,3,原因就是认为setTimeout的0毫秒延时相当于没有延时,直接执行程序.这是标准的错误.执行结果应该是1,3,2. 我们都知道javascript是单线程处理任务的,而setTimeout是异步事件,当javascript引擎遇到异步事件时会将其放到队列里,而不是立刻执行,需要等到前面处于等待状态的事件处理程…
经常看到setTimeout延时0ms的javascript代码,感到很迷惑,难道延时0ms和不延时不是一个道理吗?后来通过查资料以及实验得出以下两个作用,可能还有作用我还不知道,希望得知的朋友在后面评论上不吝指出.1.实现javascript的异步:正常情况下javascript都是按照顺序执行的.但是我们可能让该语句后面的语句执行完再执行本身,这时就可以用到setTimeout延时0ms来实现了.如: alert(1); setTimeout("alert(2)", 0); ale…
setTimeout(call,0)作用  经常看到setTimeout延时0ms的javascript代码,感到很迷惑,难道延时0ms和不延时不是一个道理吗?后来通过查资料以及实验得出以下两个作用,可能还有作用我还不知道,希望得知的朋友在后面评论上不吝指出. 1.实现javascript的异步:正常情况下javascript都是按照顺序执行的.但是我们可能让该语句后面的语句执行完再执行本身,这时就可以用到setTimeout延时0ms来实现了.如: alert(1); setTimeout("…
由异常:Repeated column in mapping for entity/should be mapped with insert="false" update="false 引发对jpa关联的思考 首先说一下以上问题的解决方法 //主键列 显示指定只读 --这块是解决该文的代码@Column(name = "xxx", insertable = false, updatable = false) @OneToMany(fetch = Fetch…
今天遇到了一个很有意思的NUMBER类型Scale引发的问题,我用一个简单的测试用例来展示一下这个案例.假如有个TEST的表,有个字段类型为NUMBER,我插入下面两条数据 CREATE TABLE TEST (      Category VARCHAR(12),      QTY  NUMBER )   INSERT INTO TEST SELECT 'M', 12 FROM DUAL UNION ALL SELECT 'C', 0.99999999999999999 FROM DUAL;…
一 作用 http://www.cnblogs.com/xieex/archive/2008/07/11/1241151.html 经常看到setTimeout延时0ms的javascript代码,感到很迷惑,难道延时0ms和不延时不是一个道理吗? 延时0秒能将函数执行脱离出当前环境: 当一个事件发生时,其相关的操作还没完成. 所以: 1 keypress事件中并不能获得 此处输入的字符,只能获得之前的 2 radio 的 click事件中,并不能获得此处点击是否选中该radio,而是获得点击之…
以下代码输出的顺序是? console.log(1); setTimeout(function(){ console.log(2); }, 0); setTimeout(function(){ console.log(3); }, 1000);console.log(4); 答案是: 1 4 2 3 经常看到setTimeout延时0ms的javascript代码,感到很迷惑,难道延时0ms和不延时不是一个道理吗?后来通过查资料以及实验得出以下两个作用,可能还有作用我还不知道,希望得知的朋友在后…
1.实现callable接口 import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; public class callableTest implements Callable { @Override public Object call() throws Exception { int num = 0…
for (var i = 0; i < 3; i++) { setTimeout(function() { console.log(i); }, 0); console.log(i); } 结果是: 0 1 2 3 3 3 分析: 1.在实践中,setTimeout 会在其完成当前任何延迟事件的事件处理器的执行,以及完成文档当前状态更新后,告诉浏览器去启用 setTimeout 内注册的函数. 2.setTimeout是异步的.正确的理解setTimeout的方式(注册事件): 有两个参数,第一…
一.前言 在Windows XP,Windows Server 2003以及更早的版本中,第一个登录的用户以及Windows的所有服务都运行在Session 0上,这样的做法导致用户使用的应用程序可能会利用Windows的服务程序提升自身的权限,为此,在后续的Windows版本中,引入了一种隔离机制,普通应用程序已经不再session 0中运行. 二.突破SESSION 0 思路 由于SESSION 0隔离机制,导致传统远程线程注入系统服务进程失败.和传统的CreateRemoteThread函…
最近忙着找实习,来学校一个星期还没到,就感觉已经经历了几个春秋. 第一个实习面试是个杭州互联网小公司,面WEB前端开发实习,怪我一个暑假两个月一点书都没碰,偏偏赶上G20到9/9才开学,没啥准备就一头扎进面试浪潮.一问三不知,简直是丢我们学校的脸啊.灰溜溜跑回学校不禁感叹:这三年自我感觉认真学习,然并卵!各种纠结过后还是决定给自己时间准备,重头再来! 以前很奇怪,老师上课.自己浏览网页的时候看的一些东西感觉有用,但是很快又忘了,现在反而温故知新.这是不是叫人总是无逼不潜力!今天对一些老早就火起来…
google后得知:Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件,同时抛出ThreadAbortException 异常,异常信息为“正在中止线程”. 解决方案要解决此问题,请使用下列方法之一:  对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Applicat…
部署项目时需要根据服务器配置调整连接数 <Connector port="8080" protocol="HTTP/1.1"URIEncoding="UTF-8" minSpareThreads="25" --当连接器第一次启协创建线程的数目,确保至少有这么多的空闲线程可用默认值为4maxSpareThreads="75" -- 允许存在空闲线程的最大数目,默认值为50enableLookups=&q…
昨天晚上我们将博客系统从 .NET Core 3.1 升级到了 .NET 5.0 ,本来是一次很有信心的升级,但没有想到在今天下午访问高峰时竟然出现了故障,大量请求访问速度变慢或者因为下面的数据库连接超时异常出现500错误. System.InvalidOperationException: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may h…
软件工程课程的一个题目:写一个程序,分析一个文本文件中各个词出现的频率,并且把频率最高的10个词打印出来.文本文件大约是30KB~300KB大小. 首先说一下这边的具体的实现都是在linux上实现的.没有大型IDE的性能检测.其实30KB还不是瞬间的事情,基于语言和一些简单的策略.所以在后面可能会尝试考虑增加文件大小到G级,然后发生的东西.我只能是从简单的原理研究.至于调试我只能写个简单的shell来自己检测一下.嗯,就这样吧.能力还是有点小白,特别是看了v_JULY_v 的海量数据处理http…
学习了孟老师的这几节课程,我学习了如何搭建一个简单的命令行menu小程序,从最简单的程序开始,一步步的根据软件工程的一般规律,进行逐步开发.完善,最终实现了一个比较通用的menu程序,可以让别的开发者进行作为内嵌子程序调用执行.经过这段时间的学习,收益匪浅,于是将一些学到的东西总结如下. 为了menu小程序的开发,首先需要配置VSCOde 的C++环境,因为VScode不带C++的编译器. 1 编译和环境配置 首先从官网下载MinGW-w64,下载Install安装程序,安装过程十分简单,一路n…
1.内核线程,只是一个称呼,实际上就是一个进程,有自己独立的TCB,参与内核调度,也参与内核抢占. 这个进程的特别之处有两点,第一.该进程没有前台.第二.永远在内核态中运行. 2.创建内核线程有两种方法,一种是 kthread_create() ,一种是 kernel_thread() ,两种有什么区别?使用场景分别是什么? http://www.cnblogs.com/sky-heaven/p/5395864.html 3.内核线程既然也是进程,那么新创建出来的内核线程,用户是谁?所属哪个组?…
关键代码拆解成如下图所示(无关部分已省略): 起初我认为可能是这个 getRowDataItemNumberFormat 函数里面某些方法执行太慢,从 formatData.replace 到 unescape(已废弃,官方建议使用 decodeURI 或者 decodeURIComponent 替代) 方法都怀疑了一遍,发现这些方法都不是该函数运行慢的原因.为了深究原因,我给 style.formatData 传入了不同的值,发现这个函数的运行效率出现不同的表现.开始有点疑惑为什么 style…
BFC布局规则: 内部的Box会在垂直方向,一个接一个地放置. Box垂直方向的距离由margin决定.属于同一个BFC的两个相邻Box的margin会发生重叠 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反).即使存在浮动也是如此. BFC的区域不会与float box重叠. BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素.反之也如此. 计算BFC的高度时,浮动元素也参与计算 其中第4条:BFC的区域…
字符集.字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持.而在数据的对比操作上,则提供了不同的字符序支持. MySQL提供了不同级别的设置,包括server级.database级.table级.column级,可以提供非常精准的设置. 什么是字符集.字符序?简单的来说: 字符集(character set):定义了字符以及字符的编码. 字符序(collation):定义了字符的比较规则. 举个例子: 有四个字符:A.B.a.b,这四个字符的编码分别是A = 0, B = 1,…