毫秒

js中 setTimeout延时0毫秒的作用

若如初见. 提交于 2019-12-03 21:58:35
转载自: https://www.cnblogs.com/hajerbin/p/7098055.html 解决的问题: 1、代码中改变了dom,又想在后续的代码中操作此dom(自己不知道dom什么时候渲染就绪)。此用法对比Vue的nextTick()。 2、onkeypress等事件的触发是有先后顺序的,想在这些触发的事件执行完之后执行。比如input的内容改变是在的onkeypress事件之后,即onkeypress中无法获取input事件的改变,这时候可以使用setTimeout(func,0) 相关术语: 宏任务、微任务 演示代码: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>setTimeout</title> 6 7 <script type="text/javascript" > 8 (function(){ 9 10 function get(id){ 11 return document.getElementById(id); 12 } 13 14 window.onload = function(){ 15 get(

简单封装移动端长按事件

好久不见. 提交于 2019-12-03 20:32:56
var timeOutEvent=0;//定时器 //开始按 function gtouchstart(){ timeOutEvent = setTimeout("longPress()",500);//这里设置定时器,定义长按500毫秒触发长按事件 return false; }; //如果在500毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件 function gtouchend(){ clearTimeout(timeOutEvent);//清除定时器 return false; }; //滑动事件 function gtouchmove(){ clearTimeout(timeOutEvent);//清除定时器 timeOutEvent = 0; }; function longPress(){ timeOutEvent = 0; alert('触发了长按事件') } <div ontouchstart="gtouchstart()" ontouchmove="gtouchmove()" ontouchend="gtouchend()">长按我</div> 来源: CSDN 作者: AloneAsFoam 链接: https://blog.csdn.net/AloneAsFoam/article/details/80523804

测试程序运行耗时(毫秒级的)---感觉蛮有意思的

孤街醉人 提交于 2019-12-03 11:59:12
最近的一个项目中用到了多进程,在和另外一个同事的进程间进行通信的时候会超时,需要测试在调用接口中的耗时。很少碰到这种需求,写下来留个纪念:)。 源码: struct timeval tv1, tv2; int lost_time = 0; gettimeofday(&tv1, NULL); //。。。。(程序运行中。。。。) gettimeofday(&tv2, NULL); if (tv2.tv_usec < tv1.tv_usec) { lost_time = 1000000 * (tv2.tv_sec - tv1.tv_sec - 1) + (1000000 - tv1.tv_usec + tv2.tv_usec); } else { lost_time = 1000000 * (tv2.tv_sec - tv1.tv_sec) + (tv2.tv_usec - tv1.tv_usec); } printf("start_audio Lost Time : %d(us)/n", lost_time); 来源: CSDN 作者: GavinFj 链接: https://blog.csdn.net/fjhyy/article/details/5644117

分库分表之后,id 主键如何处理

微笑、不失礼 提交于 2019-12-03 10:38:30
基于数据库的实现方案 数据库自增 id 这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个 id。拿到这个 id 之后再往对应的分库分表里去写入。 这个方案的好处就是方便简单,谁都会用;缺点就是单库生成自增 id,要是高并发的话,就会有瓶颈的;如果你硬是要改进一下,那么就专门开一个服务出来,这个服务每次就拿到当前 id 最大值,然后自己递增几个 id,一次性返回一批 id,然后再把当前最大 id 值修改成递增几个 id 之后的一个值;但是无论如何都是基于单个数据库。 适合的场景:你分库分表就俩原因,要不就是单库并发太高,要不就是单库数据量太大;除非是你并发不高,但是数据量太大导致的分库分表扩容,你可以用这个方案,因为可能每秒最高并发最多就几百,那么就走单独的一个库和表生成自增主键即可。 设置数据库 sequence 或者表自增字段步长 可以通过设置数据库 sequence 或者表的自增字段步长来进行水平伸缩。 比如说,现在有 8 个服务节点,每个服务节点使用一个 sequence 功能来产生 ID,每个 sequence 的起始 ID 不同,并且依次递增,步长都是 8。 适合的场景:在用户防止产生的 ID 重复时,这种方案实现起来比较简单,也能达到性能目标。但是服务节点固定,步长也固定,将来如果还要增加服务节点

setTimeout

北战南征 提交于 2019-12-03 07:42:34
setTimeout setTimeout的定义:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 setTimeout的用法:setTimeout(代码片段,执行代码等待的毫秒数) 例如: setTimeout(() => { console.log(“输出”); }, 1000); 在1秒后控制台打印 输出. 注意:setTimeout在代码中只执行一次!!! 关于setTimeout的特殊使用->setTimeout延迟0毫秒 设置0毫秒是否就是不延迟? 并不是! 经过实验后得知: console.log(1); setTimeout(() => { console.log(3); }, 0); console.log(4); setTimeout(() => { console.log(2); }, 1000); 输出的顺序为1 4 3 2 所以延迟0毫秒的作用是 在执行完其他语句后首先执行该语句 。 来源: https://www.cnblogs.com/perse/p/11783606.html

JDK中的URLConnection参数详解

我的未来我决定 提交于 2019-12-03 03:04:35
针对JDK中的URLConnection连接Servlet的问题,网上有虽然有所涉及,但是只是说明了某一个或几个问题,是以FAQ的方式来解决的,而且比较零散,现在对这个类的使用就本人在项目中的使用经验做如下总结: 1:> URL请求的类别: 分为二类,GET与POST请求。二者的区别在于: a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。 2:> URLConnection的对象问题: URLConnection的对象,如下代码示例: // 下面的index.jsp由<servlet-mapping>映射到 // 一个Servlet(com.quantanetwork.getClientDataServlet) // 该Servlet的注意点下边会提到 URL url = new URL("http://localhost:8080/TestHttpURLConnectionPro/index.jsp"); URLConnection rulConnection = url.openConnection(); // 此处的urlConnection对象实际上是根据URL的 // 请求协议(此处是http

HttpURLConnection用法详解

血红的双手。 提交于 2019-12-03 03:04:13
针对JDK中的URLConnection连接Servlet的问题,网上有虽然有所涉及,但是只是说明了某一个或几个问题,是以FAQ的方式来解决的,而且比较零散,现在对这个类的使用就本人在项目中的使用经验做如下总结: 1:> URL请求的类别: 分为二类,GET与POST请求。二者的区别在于: a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。 2:> URLConnection的对象问题: URLConnection的对象,如下代码示例: // 下面的index.jsp由<servlet-mapping>映射到 // 一个Servlet(com.quantanetwork.getClientDataServlet) // 该Servlet的注意点下边会提到 URL url = new URL("http://localhost:8080/TestHttpURLConnectionPro/index.jsp"); URLConnection rulConnection = url.openConnection(); // 此处的urlConnection对象实际上是根据URL的 // 请求协议(此处是http

HttpURLConnection用法详解

£可爱£侵袭症+ 提交于 2019-12-03 03:03:59
针对JDK中的URLConnection连接Servlet的问题,网上有虽然有所涉及,但是只是说明了某一个或几个问题,是以FAQ的方式来解决的,而且比较零散,现在对这个类的使用就本人在项目中的使用经验做如下总结: 1:> URL请求的类别: 分为二类,GET与POST请求。二者的区别在于: a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。 2:> URLConnection的对象问题: URLConnection的对象,如下代码示例: // 下面的index.jsp由<servlet-mapping>映射到 // 一个Servlet(com.quantanetwork.getClientDataServlet) // 该Servlet的注意点下边会提到 URL url = new URL("http://localhost:8080/TestHttpURLConnectionPro/index.jsp"); URLConnection rulConnection = url.openConnection();// 此处的urlConnection对象实际上是根据URL的 // 请求协议(此处是http

Object类、Date类、Calendar类、常用API、可变参数编程 【学习笔记】

匿名 (未验证) 提交于 2019-12-03 00:42:01
一、Object类 1.toString()方法 重写前:调用的是Object类中的方法。输出的是对象的全类名@十六进制的地址值 重写后:调用的是本类重写后的方法。输出的是属性或者内容 2.equals()方法 重写前:调用的是Object类中的方法。依赖的是==号。比较是引用数据类型,那么就是比较地址值。 重写后:调用的是本类重写后的方法。比较的就是对象的属性值是否一样。 3.Objects类中的equals()方法 好处:加了一些健壮性和非空性的判断 示例代码: public class Demo03Objects { public static void main (String[] args) { String s1 = "abc" ; //String s1 = null; String s2 = "abc" ; //boolean b = s1.equals(s2); // NullPointerException null是不能调用方法的,会抛出空指针异常 //System.out.println(b); /* Objects类的equals方法:对两个对象进行比较,防止空指针异常 public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b

js时间与毫秒互相转换

匿名 (未验证) 提交于 2019-12-03 00:40:02
1)日期转换为毫秒 如果日期格式是:yyyy-mm-dd hh:mm:ss需要转化格式 日期转化为毫秒的另一种方法: var str = ‘2018-07-09 14:13:11‘; var arr = str.split(/[- : \/]/); var startDate = Date.parse(new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5])); console.log(startDate) 2)毫秒数转化为时间 原文:https://www.cnblogs.com/qing619/p/9283618.html