毫秒

页面性能监控之performance

柔情痞子 提交于 2019-11-27 07:44:22
页面性能监测之performance author: @TiffanysBear 最近,需要对业务上的一些性能做一些优化,比如降低首屏时间、减少核心按钮可操作时间等的一些操作;在这之前,需要建立的就是数据监控的准线,也就是说一开始的页面首屏数据是怎样的,优化之后的数据是怎样,需要有一个对比效果。此时,performance 这个API就非常合适了。 performance Performance 接口可以获取到当前页面中与性能相关的信息。它是 High Resolution Time API 的一部分,同时也融合了 Performance Timeline API、Navigation Timing API、 User Timing API 和 Resource Timing API。 该类型的对象可以通过调用只读属性 Window.performance 来获得。 参考链接 https://developer.mozilla.org/zh-CN/docs/Web/API/Performance performance.timing对象 performance对象是全局的,它的timing属性是一个对象,它包含了各种与浏览器性能有关的时间数据,提供浏览器处理网页各个阶段的耗时。偷一个图~ performance.timing对象包含下列属性(全部只读):

Date类

拈花ヽ惹草 提交于 2019-11-27 07:01:29
Date类: 的时间原点是1970年1月1日00:00:00 Date类的构造方法一共有六个,其中四个已经过时: 空参的构造方法,获取当前操作系统的日期和时间。 有参数的构造方法,将对应的毫秒值转化为日期和时间。 将Date自元年开始表示的日期转化为毫秒值。 将毫秒值转化为日期。 打印Date对象时默认调用此方法。 import java.util.Date; public class DateDemo { public static void main(String[] args) { Date date = new Date(0);// 毫秒值为0,即元年 System.out.println("date类元年为:" + date); Date date1 = new Date(12345678912345L);// 毫秒值 System.out.println("date类元年后的12345678912345毫秒为:" + date1); Date date2 = new Date(); System.out.println("现在的时间为:" + date2.getTime() + "毫秒"); System.out.println("现在的时间为:" + date2.toString()); } } 运行结果: 从运行结果来看date类的元年为:1970年1月1日08

Java 常用API(二)

那年仲夏 提交于 2019-11-27 05:47:29
目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar类 5. System类 6. StringBuilder类 String类的原理 StringBuilder类的原理 StringBuilder的构造方法 StringBuilder的常用方法 7. 包装类 概述 装箱与拆箱(以 int 类型为例) 自动装箱与自动拆箱 基本类型与字符串类型之间的相互转换 Java 常用API(二) 1. Object类 Object类位于 java.lang.Object 包下。 类Object是类层次结构的 根类(父类) 。 每个类都使用Object类作为超类(父类)。 所有对象(包括数组)都实现了这个类的方法。 public String toString():返回该对象的字符串表示。 public boolean equals(Object obj): 指示其他某个对象是否与此对象“相等”。 注意事项: 看一个类是否重写了 toString方法,直接打印这个 类的对象 即可。 如果没有重写 toString方法,那么打印的是对象的 地址值 。 Random类没有重写 toString方法 Scanner、ArrayList <E> 类重写了

SQL SERVER 2008 R2 错误代码 17000 - 17999

冷暖自知 提交于 2019-11-27 04:20:07
错误 严重性 是否记录事件 说明(消息正文) 17000 10 否 用法: sp_autostats <table_name> [, {ON|OFF} [, <index_name>] ] 17001 16 是 无法针对会话句柄 '%s' 发送类型为 '%s' 的事件通知实例。错误代码 = '%s'。 17002 16 是 无法发布 QUEUE_ACTIVATION 事件。错误代码: '0x%s'。 17003 16 是 由于以下错误,导致关闭了句柄为 '%s' 的事件通知会话端点: '%.*ls'。 17004 16 是 对话句柄 '%s' 的事件通知会话关闭,且未提供任何错误消息。 17005 16 是 由于发送时间 Service Broker 错误,导致数据库 '%ls' 中的事件通知 '%ls' 被删除。请进行检查,确保事件通知中指定的会话句柄、Service Broker 约定以及服务都是活动的。 17049 16 是 由于出现操作系统错误 '%s',无法将错误日志文件从 '%ls' 循环到 '%ls'。SQL Server 外部的进程可能会阻止 SQL Server 读取这些文件。因此,错误日志条目可能已丢失,并且或许不可能查看某些 SQL Server 错误日志。请确保任何其他进程都未将该文件锁定为只写访问。 17051 16 是 SQL Server 评估期已过。

【Java】分布式自增ID算法---雪花算法 (snowflake,Java版)

浪子不回头ぞ 提交于 2019-11-27 03:48:12
  一般情况,实现全局唯一ID,有三种方案,分别是通过中间件方式、UUID、雪花算法。   方案一,通过中间件方式,可以是把数据库或者redis缓存作为媒介,从中间件获取ID。这种呢,优点是可以体现全局的递增趋势(优点只能想到这个),缺点呢,倒是一大堆,比如,依赖中间件,假如中间件挂了,就不能提供服务了;依赖中间件的写入和事务,会影响效率;数据量大了的话,你还得考虑部署集群,考虑走代理。这样的话,感觉问题复杂化了   方案二,通过UUID的方式,java.util.UUID就提供了获取UUID的方法,使用UUID来实现全局唯一ID,优点是操作简单,也能实现全局唯一的效果,缺点呢,就是不能体现全局视野的递增趋势;太长了,UUID是32位,有点浪费;最重要的,是插入的效率低,因为呢,我们使用mysql的话,一般都是B+tree的结构来存储索引,假如是数据库自带的那种主键自增,节点满了,会裂变出新的节点,新节点满了,再去裂变新的节点,这样利用率和效率都很高。而UUID是无序的,会造成中间节点的分裂,也会造成不饱和的节点,插入的效率自然就比较低下了。   方案三,通过snowflake算法如下:   SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:         1位 ,不用。二进制中最高位为1的都是负数,但是我们生成的id一般都使用整数

java的System.currentTimeMillis()和System.nanoTime...

假装没事ソ 提交于 2019-11-27 03:16:49
纳秒   ns(nanosecond):纳秒, 时间单位 。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存 读写速度的单位,其前面数字越小则表示速度越快。   1纳秒=1000 皮秒     1纳秒 =0.001 微秒   1纳秒=0.000001 毫秒   1纳秒=0.00000 0001 秒 java的System.currentTimeMillis()和System.nanoTime()有什么区别 java中System.nanoTime()返回的是纳秒, nanoTime而返回的可能是任意时间,甚至可能是负数……按照API的说明,nanoTime主要的用途是衡量一个时间段,比如说一段代码执行所 用的时间,获取数据库连接所用的时间,网络访问所用的时间等。另外,nanoTime提供了纳秒级别的精度,但实际上获得的值可能没有精确到纳秒。 但总的来说,这两个函数的用途是完全不一样的! 。 java中System.currentTimeMillis()返回的毫秒, 这个毫秒其实就是自1970年1月1日0时起的毫秒数,Date()其实就是相当于Date(System.currentTimeMillis());因为Date类还有构造Date(long date),用来计算long秒与1970年1月1日之间的毫秒差。 。 来源: oschina 链接: https://my

vue 解决300毫秒延迟

◇◆丶佛笑我妖孽 提交于 2019-11-26 13:02:17
解决方案: (1)设置不能缩放: user-scalable=no   不能缩放就不会有双击缩放操作,因此click事件也就没了300ms延迟,这个是Chrome首先在Android中提出的 (2)设置显示宽度: width=device-width   Chrome 开发团队在 Chrome 32 这一版中,他们将在包含 width=device-width 或者比 viewport 值更小的页面上禁用双击缩放。 (3)IE的指针事件 (Pointer Events): touch-action:none   根据规范,touch-action 属性决定 “是否触摸操作会触发用户代理的默认行为。这包括但不限于双指缩放等行为”。 (4)vue项目 fastclick插件   1、项目根目录打开powershell ,执行 npm install fastclick --save 命令安装 fastclick 插件   2、在 根目录 —> src —> main.js 中引入 fastclick 插件 import fastClick from 'fastclick'   3、在 main.js 中,调用 fastclick 插件 fastClick.attach(document.body) 来源: https://www.cnblogs.com/whoamimy/p

SQL语句书写技巧

我与影子孤独终老i 提交于 2019-11-26 11:28:40
SQL结构化查询字符串的改写,是实现数据库查询性能提升的最现实.最有效的手段,有时甚至是唯一的手段, 比如在不允许大幅度修改现有数据库结构的情况下。 通过优化SQL语句提高查询性能的关键是: ? 根据实际需求情况,建立合适的索引; ? 使用一切可能的方式去利用好索引,避免全表扫描; ? 尽量减少内存及数据I/O方面的开销 一. 建立索引 (一)建立"适当"的索引,是快速查询的基础。 索引( index )是除表之外另一重要的.用户定义的存储在物理介质上的数据结构。当根据索引码的值搜索数据 时,索引提供了对数据的快速访问。事实上,没有索引,数据库也能根据SELECT语句成功地检索到结果,但随 着表变得越来越大,使用"适当"的索引的效果就越来越明显。注意,在这句话中,我们用了"适当"这个词, 这是因为,如果使用索引时不认真考虑其实现过程,索引既可以提高也会破坏数据库的工作性能。 索引实际上是一种特殊的目录,SQL SERVER提供了两种索引: ? 聚集索引( clustered index ,也称聚类索引.簇集索引) 我们把这种正文内容本身就是一种按照一定规则排列的目录称为"聚集索引"。 例如: 汉语字典中按拼音查某一个字,就是使用"聚集索引",实际上,你根本用不着查目录,直接在字典正文里找, 就能很快找到需要的汉字(假设你知道发音)。 ? 非聚集索引(non clustered

for循环和foreach循环效率对比

对着背影说爱祢 提交于 2019-11-26 08:10:16
package com.baoxing.test; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class TestForEach { public static void main(String[] args) { // 实例化arrayList List<Integer> arrayList = new ArrayList<Integer> (); // 实例化linkList List<Integer> linkList = new LinkedList<Integer> (); // 插入10万条数据 for ( int i = 0; i < 100000; i++ ) { arrayList.add(i); linkList.add(i); } int array = 0 ; // 用for循环arrayList long arrayForStartTime = System.currentTimeMillis(); for ( int i = 0; i < arrayList.size(); i++ ) { array = arrayList.get(i); } long arrayForEndTime = System

JAVA 将毫秒值转换为日期时间

血红的双手。 提交于 2019-11-25 20:36:59
给定毫秒值1414381913000L public class demo { public static void main(String[] args) { long milliSecond = 1414381913000L; Date date = new Date(); date.setTime(milliSecond); System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:ss:mm").format(date)); } } 来源: CSDN 作者: 山岭巨人杨尚桑 链接: https://blog.csdn.net/qq_44868502/article/details/103237521