毫秒

Date类、SimpleDateFormat类、Calendar类

百般思念 提交于 2020-01-21 17:14:43
Date类 类 Date 表示特定的瞬间,精确到毫秒。 需要注意的是 ,一个月由0到11的整数表示; 0是1月,1是2月等等 构造方法 public Date() 分配一个 Date对象并对其进行初始化,以便它表示分配的时间,测量到最近的毫秒。 public Date(long date) 分配一个 Date对象,并将其初始化为表示从标准基准时间(称为“时代”)即1970年1月1日00:00:00 GMT起的指定毫秒数。 public class Demo { public static void main ( String [ ] args ) { //创建一个Date对象,表示当前时间 Date date1 = new Date ( ) ; System . out . println ( date1 ) ; //创建一个Date对象,表示从1970年1月1日00:00:00 GMT起的指定毫秒数。 Date date2 = new Date ( 1000 * 60 * 60 * 24 ) ; System . out . println ( date2 ) ; } } /* 运行结果: Sun Jan 12 18:55:22 CST 2020 Fri Jan 02 08:00:00 CST 1970 */ 方法 public long getTime()

前端代码性能质量监测

旧时模样 提交于 2020-01-20 19:39:38
1.页面整体性能 通过浏览器提供的 window.performance.timing 方法,我们能够得到网页每个处理阶段的精确时间。打开一个页面后,这些信息会被浏览器记录下来,我们直接在控制台输出,就可以查看结果 PerformanceTiming 接口包含了当前页面中与时间相关的信息。 可以通过只读属性Performance.timing 获得实现该接口的一个对象。 var timing = window.Performance.timing; console.log(timing); 详情如下: https://developer.mozilla.org... PerformanceTiming 接口不包含任何继承属性。 PerformanceTiming.navigationStart 只读 是一个无符号long long 型的毫秒数,表征了从同一个浏览器上下文的上一个文档卸载(unload)结束时的UNIX时间戳。如果没有上一个文档,这个值会和PerformanceTiming.fetchStart相同。 PerformanceTiming.unloadEventStart 只读 是一个无符号long long 型的毫秒数,表征了unload事件抛出时的UNIX时间戳。如果没有上一个文档,or if the previous document, or one of the

Java实现定时器的四种方式

戏子无情 提交于 2020-01-18 02:36:49
package com.wxltsoft.tool; import org.junit.Test; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * @Author: Zhangbx * @Description: * @Date: 2017/12/5 * @Modified By: * @Modified Date: */ public class TimerUtil { public static void main (String[] args) { // timer1(); // timer2(); // timer3(); timer4(); } /** * 设定2000毫秒后执行 */ public static void timer1 (){ Timer nTimer = new Timer(); nTimer.schedule( new TimerTask() { @Override public void run () { System.out.println( "----设定要指定任务-----"); } }, 2000); } /** * 延迟5000毫秒,每1000毫秒执行一次 */

SQL SARG

让人想犯罪 __ 提交于 2020-01-16 02:34:33
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前一句则要先从全表中查找看有几个name='zhangsan'的,而后再根据限制条件条件tID>10000来提出查询结果。 事实上,这样的担心是不必要的。SQL SERVER中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化。 虽然查询优化器可以根据where子句自动的进行查询优化,但大家仍然有必要了解一下“查询优化器”的工作原理,如非这样,有时查询优化器就会不按照您的本意进行快速查询。 在查询分析阶段,查询优化器查看查询的每个阶段并决定限制需要扫描的数据量是否有用。如果一个阶段可以被用作一个扫描参数(SARG),那么就称之为可优化的

SQL 扫描参数(SARG)

眉间皱痕 提交于 2020-01-15 06:44:07
改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前一句则要先从全表中查找看有几个name='zhangsan'的,而后再根据限制条件条件tID>10000来提出查询结果。 事实上,这样的担心是不必要的。SQL SERVER中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化。 虽然查询优化器可以根据where子句自动的进行查询优化,但大家仍然有必要了解一下“查询优化器”的工作原理,如非这样,有时查询优化器就会不按照您的本意进行快速查询。 在查询分析阶段,查询优化器查看查询的每个阶段并决定限制需要扫描的数据量是否有用。如果一个阶段可以被用作一个扫描参数(SARG),那么就称之为可优化的

SQL 扫描参数(SARG)

痴心易碎 提交于 2020-01-14 06:15:53
改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前一句则要先从全表中查找看有几个name='zhangsan'的,而后再根据限制条件条件tID>10000来提出查询结果。 事实上,这样的担心是不必要的。SQL SERVER中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化。 虽然查询优化器可以根据where子句自动的进行查询优化,但大家仍然有必要了解一下“查询优化器”的工作原理,如非这样,有时查询优化器就会不按照您的本意进行快速查询。 在查询分析阶段,查询优化器查看查询的每个阶段并决定限制需要扫描的数据量是否有用。如果一个阶段可以被用作一个扫描参数(SARG),那么就称之为可优化的

Twitter的分布式自增ID算法snowflake (Java版)

半腔热情 提交于 2020-01-13 15:08:41
概述 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassandra没有顺序ID生成机制,所以开发了这样一套全局唯一ID生成服务。 结构 snowflake的结构如下(每部分用-分开): 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年),然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点) ,最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号) 一共加起来刚好64位,为一个Long型。(转换成字符串后长度最多19) snowflake生成的ID整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由datacenter和workerId作区分),并且效率较高

javaScript的Data函数

僤鯓⒐⒋嵵緔 提交于 2020-01-12 19:36:25
1、获取当前时间   Date()获取到的时间是当前设备的显示的时间,开发中要考虑到用户的设备时间是否正确 let nowTime = new Date(); // 获取当前时间   把data时间转换成常规格式 <script> let getTimeNow = () => { let nowTime = new Date(); // 获取当前时间——Sun Jan 12 2020 14:07:22 GMT+0800 (中国标准时间) let year = nowTime.getFullYear(); // 年 let month = nowTime.getMonth()+1; // 月 这里要加1 let day = nowTime.getDate(); // 获取几号 let hour = nowTime.getHours();//得到小时 let minu = nowTime.getMinutes();//得到分钟 let sec = nowTime.getSeconds();//得到秒 let week = nowTime.getDay();//得到星期几 let timeStr = ''; timeStr += year + '/' + isGreaterthanTen(month) + '/' + isGreaterthanTen(day); timeStr += '

如何在Java中将毫秒转换为“ X分钟,x秒”?

风流意气都作罢 提交于 2020-01-11 15:51:45
当用户在我的程序中开始执行某些操作时,我想使用 System.current Time Millis() 记录时间。 当他完成操作后,我将从 start 变量中减去当前的 System.currentTimeMillis() ,我想使用诸如“ XX小时,XX分钟,XX秒”甚至“ XX分钟”之类的人类可读格式显示经过的时间,XX秒”,因为它不太可能花费一个小时。 最好的方法是什么? #1楼 long startTime = System.currentTimeMillis(); // do your work... long endTime=System.currentTimeMillis(); long diff=endTime-startTime; long hours=TimeUnit.MILLISECONDS.toHours(diff); diff=diff-(hours*60*60*1000); long min=TimeUnit.MILLISECONDS.toMinutes(diff); diff=diff-(min*60*1000); long seconds=TimeUnit.MILLISECONDS.toSeconds(diff); //hour, min and seconds variables contains the time elapsed on your

SpringMVC数据库连接配置大全

百般思念 提交于 2020-01-10 17:56:44
此文件中有dbcp、c3p0、druid三种配置方式 1. dbConfig.properties 文件 #----------------数据库连接基本配置--------------- #数据库驱动 dataSource.driverClassName=com.mysql.jdbc.Driver #数据库连接地址 dataSource.url=jdbc\:mysql\://127.0.0.1\:3306/qfx_activiti_test?characterEncoding\=UTF-8 #用户名 dataSource.userName=root #密码 dataSource.passWord=666666 #SQL查询,在将连接返回给调用者之前,用来验证从连接池取出的连接是否有效 dataSource.validationQuery=select 1 #----------------dbcp连接池配置----------------- #初始连接数量 dbcp.initialSize=5 #最大连接数量 dbcp.maxActive=50 #最小空闲连接数量 dbcp.minIdle =5 #最大空闲连接数量 dbcp.maxIdle=20 #最大等待连接时间(以毫秒计数,1000等于60秒) dbcp.maxWait=1000 #连接超时是否自动回收 dbcp