毫秒

Java知多少(77)日期和时间类

旧时模样 提交于 2019-12-29 20:26:22
Java 的日期和时间类位于 java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。 Date 类 Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个: Date():使用当前的日期和时间初始化一个对象。 Date(long millisec):从1970年01月01日00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒。如果运行 Java 程序的本地时区是北京时区(与格林威治时间相差 8 小时),Date dt1=new Date(1000);,那么对象 dt1 就是1970年01月01日08时00分01秒。 请看一个显示日期时间的例子: 1 import java.util.Date; 2 public class Demo{ 3 public static void main(String args[]){ 4 Date da=new Date(); //创建时间对象 5 System.out.println(da); //显示时间和日期 6 long msec=da.getTime(); 7 System.out.println("从1970年1月1日0时到现在共有:" + msec + "毫秒"); 8 } 9 } 运行结果: Mon Feb 05 22:50:05

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

a 夏天 提交于 2019-12-27 09:59:23
概述 分布式系统中,有一些需要使用全局唯一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作区分),并且效率较高

秒,毫秒,微秒,纳秒,皮秒,飞秒

半腔热情 提交于 2019-12-26 16:06:24
毫秒 millisecond 1ms 1毫秒=0.001秒=10 -3 秒 微秒 microsecond 1μs 1微秒=0.000001=10 -6 秒 纳秒 nanosecond 1ns 1纳秒=0.0000000001秒=10 -9 秒 皮秒 picosecond 1ps 1皮秒=0.0000000000001秒=10 -12 秒 飞秒 femtosecond 1fs 1飞秒=0.000000000000001秒=10 -15 秒 秒 毫秒 微秒 纳秒 皮秒 飞秒 http://blog.csdn.net/shorminhsu/article/details/1660910 来源: https://www.cnblogs.com/awpatp/p/3539343.html

C# Stopwatch与TimeSpan详解

倖福魔咒の 提交于 2019-12-26 16:05:38
最近项目使用socket通信,要测试接受时间和解析时间,达到微妙级别,这里在MSDN上找的资料记录下: Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。 在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。 Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。 使用 Start 可以开始测量运行时间;使用 Stop 可以停止测量运行时间。 通过属性 Elapsed、ElapsedMilliseconds 或 ElapsedTicks 查询运行时间值。 当实例正在运行或已停止时,可以查询运行时间属性。 运行时间属性在 Stopwatch 运行期间稳固递增;在该实例停止时保持不变。 默认情况下,Stopwatch 实例的运行时间值相当于所有测量的时间间隔的总和。 每次调用 Start 时开始累计运行时间计数;每次调用 Stop 时结束当前时间间隔测量,并冻结累计运行时间值。 使用 Reset 方法可以清除现有 Stopwatch 实例中的累计运行时间。 Stopwatch 在基础计时器机制中对计时器的计时周期进行计数,从而测量运行时间。 如果安装的硬件和操作系统支持高分辨率性能计数器,则

秒的换算:皮秒、纳秒、微秒、毫秒

一曲冷凌霜 提交于 2019-12-26 16:04:45
皮秒,符号ps(英语:picosecond ). 1皮秒等于一万亿分之一秒(10 -12 秒) 1,000 皮秒 = 1纳秒 ns 1,000,000 皮秒 = 1微秒 μs 1,000,000,000 皮秒 = 1毫秒 μs 1,000,000,000,000 皮秒 = 1秒 s 纳秒 纳秒,符号ns(英语:nanosecond ). 1纳秒等于十亿分之一秒(10-9秒) 1 纳秒 = 1000皮秒 1,000 纳秒 = 1微秒 μs 1,000,000 纳秒 = 1毫秒 ms 1,000,000,000 纳秒 = 1秒 s 微秒 微秒,符号μs(英语:microsecond ). 1微秒等于一百万分之一秒(10-6秒) 0.000 001 微秒 = 1皮秒 ps 0.001 微秒 = 1纳秒 μs 1,000 微秒 = 1毫秒 ms 1,000,000 微秒 = 1秒 s 毫秒 毫秒,符号ms(英语:millisecond ). 1毫秒等于一千分之一秒(10-3秒) 0.000 000 001 毫秒 = 1皮秒 ps 0.000 001 毫秒 = 1纳秒 ns 0.001 毫秒 = 1微秒 ms 1000 毫秒 = 1秒s 在典型PC机上各种操作的近似时间: 执行典型指令            1/1,000,000,000 秒 =1 纳秒 从一级缓存中读取数据        

提升Chrome访问网站的速度

▼魔方 西西 提交于 2019-12-26 07:45:26
FasterChrome 基于 instant.page 项目,一个可以在一分钟内加速网站的小脚本。原理是这样的,当你使用鼠标移动到链接上,并且按下去,这个时间段平均在 300 毫秒,而 instant.page 会在你的鼠标悬停在链接上超过 65 毫秒就开始预加载该链接,当你真正点击这个链接,由于预加载,就会感受到更快的速度了 来源: CSDN 作者: 爪哇程序猴 链接: https://blog.csdn.net/qq_22062405/article/details/103693965

C# http 性能优化500毫秒到 60 毫秒

强颜欢笑 提交于 2019-12-26 05:38:51
来源:https://www.cnblogs.com/hnsongbiao/p/9815808.html 偶然发现 C# 的 HttpRequest 要比 Chrome 请求同一Url 慢好多。C# HttpRequest 要500毫秒 而Chrome 只需要 39ms。 后来 整理 各种方法做了优化 HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; request.KeepAlive = false; request.ServicePoint.Expect100Continue = false; request.ServicePoint.UseNagleAlgorithm = false; request.ServicePoint.ConnectionLimit = 65500; request.AllowWriteStreamBuffering = false; request.Proxy = null; response.Close(); request.Abort(); 打开 KeepAlive 属性,这个可以打开一个tcp连接并在 一段时内重用tcp连接,从而加快http 请求。(默认是打开的)(我在开启keepalive 时出现 服务器关闭连接的错误,在请求完成后

分布式ID生成解决方案(电商青橙项目)

半城伤御伤魂 提交于 2019-12-26 01:59:01
1>. 数据库分片(了解) ①. 背景解释: 解释说明: 如今随着互联网的发展,数据的量级也是呈指数的增长,从GB到TB到PB。对数据的 各种操作也是愈加的困难,如何解决这个问题呢?此时就需要做数据库集群,为了提高 查询性能将一个数据库的数据分散到不同的数据库中存储,这就是我们通常所说的数据 库分片。 ②. 如何实现数据库分片?我们通常会使用mycat数据库中间件来解决。 2>. 分布式ID生成解决方案 ①. UUID 常见的方式。可以利用数据库也可以利用程序生成,一般来说全球唯一。 ②. Redis生成ID ③. snowflake雪花算法 (掌握) 3>. snowflake算法的入门 ①. snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想 是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器 ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最 后还有一个符号位,永远是0 ②. 快速入门 这是一个工具类 /** * <p>名称:IdWorker.java</p> * <p>描述:分布式自增长ID</p> * <pre> * Twitter的 Snowflake JAVA实现方案 * </pre> * 核心代码为其IdWorker这个类实现

MSSQL数据批量插入优化详细

馋奶兔 提交于 2019-12-25 13:02:18
序言 现在有一个需求是将10w条数据插入到MSSQL数据库中,表结构如下,你会怎么做,你感觉插入10W条数据插入到MSSQL如下的表中需要多久呢? 或者你的批量数据是如何插入的呢?我今天就此问题做个探讨。 压测mvc的http接口看下数据 首先说下这里只是做个参照,来理解插入数据库的性能状况,与开篇的需求无半毛钱关系。 mvc接口代码如下: public bool Add(CustomerFeedbackEntity m) { using (var conn=Connection) { string sql = @"INSERT INTO [dbo].[CustomerFeedback] ([BusType] ,[CustomerPhone] ,[BackType] ,[Content] ) VALUES (@BusType ,@CustomerPhone ,@BackType ,@Content )"; return conn.Execute(sql, m) > 0; } } 压测的此mvc接口单条数据插入数据库的聚合数据图。 用例这样的:5000个请求分500个线程执行post请求接口。 这个图告诉我们,最慢的请求只用啦4毫秒。那么我们做个算法。 如开篇的需求来看,我们用最小的响应时间来计算。 那么插入10w条数据到数据库需用时=100000*4毫秒,大致是6.67分钟

spring aop 实现日志统计service time

大兔子大兔子 提交于 2019-12-25 00:13:28
@Aspect @Component public class ServiceLogAspect { public static final Logger log = LoggerFactory.getLogger(ServiceLogAspect.class); /** * AOP通知: * 1. 前置通知:在方法调用之前执行 * 2. 后置通知:在方法正常调用之后执行 * 3. 环绕通知:在方法调用之前和之后,都分别可以执行的通知 * 4. 异常通知:如果在方法调用过程中发生异常,则通知 * 5. 最终通知:在方法调用之后执行 */ /** * 切面表达式: * execution 代表所要执行的表达式主体 * 第一处 * 代表方法返回类型 *代表所有类型 * 第二处 包名代表aop监控的类所在的包 * 第三处 .. 代表该包以及其子包下的所有类方法 * 第四处 * 代表类名,*代表所有类 * 第五处 *(..) *代表类中的方法名,(..)表示方法中的任何参数 * * @param joinPoint * @return * @throws Throwable */ @Around("execution(* com.imooc.service.impl..*.*(..))") public Object recordTimeLog(ProceedingJoinPoint