ICode9

精准搜索请尝试: 精确搜索
  • Java8新特性: CompletableFuture详解2022-08-03 12:00:29

    CompletableFuture实现了CompletionStage接口和Future接口,前者是对后者的一个扩展,增加了异步回调、流式处理、多个Future组合处理的能力,使Java在处理多任务的协同工作时更加顺畅便利。   导读 1.使用CompletableFuture构建异步应用 Future 接口的局限性Future接口可以构建异步

  • 提交生成验证码的效率2022-08-02 00:03:16

    1 public static void main(String[] args){ 2 3 int sum = 1000000; 4 long start = System.currentTimeMillis(); 5 for (int i = 0; i < sum; i++) { 6 String code = (Math.random()+"").substring(2,8); 7

  • JAVA系统时间戳转秒、分、小时、天2022-08-01 09:03:14

    (转载请删除括号里的内容) 1、时间戳(毫秒)           System.currentTimeMillis() 2、时间戳(转秒)          System.currentTimeMillis() / 1000 3、时间戳(转分钟)         System.currentTimeMillis() / 1000 / 60 4、时间戳(转小时)         System.currentTimeMil

  • 别再用 System.currentTimeMillis了,试试 StopWatch吧,够优雅2022-07-29 10:03:50

    昨天,一位球友问我能不能给他解释一下 @SpringBootApplication 注解是什么意思,还有 Spring Boot 的运行原理,于是我就带着他扒拉了一下这个注解的源码,还有 SpringApplication 类的 run() 方法的源码,一下子他就明白了。 你别说,看源码的过程还真的是挺有趣,这不,我就发现了一个有

  • Java 缩小字符串( Compact String)和 压缩字符串(Compressed String)2022-07-08 19:36:06

    正如我们在上面文章提到的内容,在英文语境中上面 2 个方法还是有区别的,在中文环境下主要表达就是字符串压缩。   JDK 6 使用的压缩字符串方法,主要原因是我们修改了 String 的存储结构,char[] 在 Java 的很多地方都会用到,并且 String 因为这个修改就只能接受使用 char[] 为参数的

  • 统计程序耗时神器2022-06-15 16:03:28

    在我们日常工作中,一般怎么计算一段代码的耗时?System.currentTimeMillis(),相信大家不陌生,还有一种就是StopWatch System.currentTimeMillis() 使用 记录开始时间 记录结束时间 计算两者差值 代码实现 public static void statisticsTime() throws InterruptedExcepti

  • 记一次 int 值溢出,引发的逻辑性错误2022-06-09 09:04:23

    明明35天后才会清理的 task,怎么一天后就被清理了? 什么情况? 我检查了一下关键条件代码 if (System.currentTimeMillis() - task.getEndTime() > 1000 * 60 * 60 * 24 * 35) 第一眼没看出什么问题。 debug: System.err.println("System.currentTimeMillis() - task.getEndTime():

  • Java API(StringBuilder使用)2022-01-30 22:32:03

    Java ApI 1.System.currentTimeMillis();2.StringBuilderappenddelete(int start, int end);toString() Java.lang是不用写的直接就调用 1.System.currentTimeMillis(); 计算程序运行时间 从简介可以看出currentTimeMillis输出的时间是从1970年1月一号开始一直到调c

  • Stream的串行和并行2022-01-15 20:32:30

    sequential / parallel sequential 返回的流是串行处理(默认就是,可以不写) parallel返回的流是并行处理,参考如下测试用例: @Test public void test12() throws Exception { IntStream intStream = IntStream.of(6, 1, 1, 2, 5, 2, 3, 4); long start=System.cu

  • 关于Java的取时间方法的争论2022-01-13 13:30:13

    Java有两个取时间的方法: System.currentTimeMillis() 和 System.nanoTime() ,它们的使用场景是有区别的,当前网上一些文章对于这两个方法的性能问题存在一些片面的描述,本文希望能给出一个简单的最终答案。 System.currentTimeMillis() 存在性能问题? 答案是否定的。这两个方法性

  • 日常经验12022-01-12 14:04:30

    优先使用基本类型而不是装箱基本类型 要当心无意识的使用不该使用的装箱基本类型 @Test public void auto(){ long start1 = System.currentTimeMillis(); Long sum1 =0L; for (int i = 0; i < Integer.MAX_VALUE; i++) { sum1 +=1;

  • Java性能调优之ArrayList与LinkedList2021-11-25 15:32:50

    我们知道ArrayList与LinkedList相比,在插入删除元素方面,LinkedList比ArrayList要快,但真的是这样吗? 在我们对ArrayList与LinkedList进行遍历的时候用for循环好,还是迭代器好? 一、ArrayList         ArrayList的底层是数据,查询时可以通过下标快速的找到对应的元素。      

  • System.currentTimeMillis()计算方式与时间的单位转换2021-11-24 20:59:20

    一、时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s) 1秒=1,000,000 微秒(μs) 1微秒=1/1,000,000秒(s) 1秒=1,000,000,000 纳秒(ns) 1纳秒=1/1,000,000,000秒(s) 1秒=1,000,000,000,000 皮秒(ps) 1皮秒=1/1,000,000,000,000秒(s) 1分钟=60秒 1小时=60分钟=3600秒 二、S

  • System类的常用方法(currentTimeMillis与arraycopy)2021-11-19 23:34:33

    System类的常用方法 currentTimeMillis与arraycopy import java.util.Arrays; /* java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有: public static lang currentTimeMillis():返回以毫秒为单位的当前时间

  • 用IO流复制文件的方法性能比较2021-11-17 17:32:35

    字节流的读取方法适合读取图片、音频、视频等文件。 字符流的读取方式适合读取大型文本。 我们来对比彼此间的读写效率来进行比较,分别以1.55MB的图片和3M的《剑来》两张文章作位读写对象。 字节流 1、字节流:FileInputStream、FileOutputStream(逐字节读取) public static void mai

  • 统计程序或方法的运行时间2021-11-11 17:00:42

    生产中比较简单且常用的方法 long startTime = System.currentTimeMillis(); //中间程序或者方法 long endTime = System.currentTimeMillis(); long handleTime = endTime -startTime;//执行时间 可以直接打印handleTime,单位毫秒

  • System.currentTimeMillis()的性能问题以及解决方法2021-11-01 16:31:26

    System.currentTimeMillis()是极其常用的基础Java API,广泛地用来获取时间戳或测量代码执行时长等,在我们的印象中应该快如闪电。但实际上在并发调用或者特别频繁调用它的情况下(比如一个业务繁忙的接口,或者吞吐量大的需要取得时间戳的流式程序),其性能表现会令人大跌眼镜。 public cl

  • Springboot项目时候异步提高接口的响应速度2021-11-01 15:34:56

    asynchronous CALL(异步调用)一个可以无需等待被调用函数的返回值就让操作继续进行的方法 1、启动类上添加开启异步注解 @EnableAsync public class Application {  2、编写异步方法 import org.springframework.scheduling.annotation.Async; import org.springframework.sched

  • SpringBoot 异步任务处理2021-10-27 09:02:34

    SpringBoot配置异步任务有些业务是不需要你同步去操作的, 例如: 适用于处理log、发送邮件、短信……等我们不能因为短信没发出去而没有执行接下来的业务逻辑, 这个时候我们就应该去把这些耗时的任务弄成异步的 首先要在启动类里面增加如下注解@EnableAsync定义异步任务类并使用@Co

  • System的一些方法2021-10-09 22:02:55

    package com.liu.demo1;public class Stm { public static void main(String[] args) { int[] arr = {9,8,5,45,4,3241,684,45,50}; int[] dest =new int[10]; //arraycopy 拷贝 //srcPos 从第几位开始复制0开始 destPos目标数组从第几位开始放 le

  • 零拷贝速度测试2021-09-17 21:03:45

    文件大小:1.46 GB (1,568,946,426 字节) 使用transferTo零拷贝,代码如下,耗时12116ms public static void main(String[] args) throws IOException { long start=System.currentTimeMillis(); FileChannel inputChannel=new FileInputStream(new File("E:\\v

  • java过滤器实现拦截多次恶意请求,封禁ip2021-09-15 23:59:42

    首先,定义一个实体类UserIp private String ip; //用户ip private Integer count; //访问次数 private Long ft; //第一次访问时间 过滤器IpFilter /** * @author 小姜 * @version V1.0 * @date 2021/9/15 19:12 * @phone */ @WebFilter(filterName = "ipFilter",urlPatter

  • Java 8 parallel 性能测试2021-09-15 22:03:59

    本机 package com.zemcho.echo.csdn; import lombok.extern.slf4j.Slf4j; import java.io.IOException; import java.util.List; import java.util.Random; import java.util.stream.Collectors; import java.util.stream.IntStream; /** * @author linliangxuan * @da

  • Java8 CompletableFuture 用法全解2021-09-05 17:02:45

    一、简介        CompletableFuture实现了CompletionStage接口和Future接口,前者是对后者的一个扩展,增加了异步回调、流式处理、多个Future组合处理的能力,使Java在处理多任务的协同工作时更加顺畅便利。 二、创建异步任务 1、Future.submit         通常的线程池接

  • Java——异步调用2021-09-01 11:02:31

      一、通过创建新线程 异步调用的本质,其实是通过开启一个新的线程来执行。如以下例子: public static void main(String[] args) throws Exception{ System.out.println("主线程 =====> 开始 =====> " + System.currentTimeMillis()); new Thread(() -> { System

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有