生成6位纯数字验证码的三种方式

import java.util.Random;

/**
 * @author lishengchen
 * @version 1.0
 * @Date 2020/11/26
 */
public class Test5 {
    public static void main(String[] args) {

        /**
         * 生成6位的短信验证码
         * 那种效率高
         */
        int sum = 1000000;

        //方案一  通过随机数--->字符串,然后截取的方式
        long start = System.currentTimeMillis();
//        int count = 0;
        for (int i = 0; i < sum; i++) {
            String code = (Math.random() + "").substring(2, 8);
//            if(code.startsWith("0")){
//                count++;
//            }
        }
//        System.out.println("startsWith0  count:"+count);
        long end = System.currentTimeMillis();
        System.out.println("方案一"+(end - start));



        //方案二  通过int类型直接组装然后转成字符串
        long start2 = System.currentTimeMillis();
        for (int i = 0; i < sum; i++) {
            String code = String.valueOf((int)((Math.random()*9+1)*Math.pow(10,5)));
            /*if(code.startsWith("0")){
                System.out.println(code);
            }*/
        }
        long end2 = System.currentTimeMillis();
        System.out.println("方案二"+(end2 - start2));



        //方案三
        long start3 = System.currentTimeMillis();
        for (int i = 0; i < sum; i++) {
            String code = String.valueOf(new Random().nextInt(900000) + 100000);
            /*if (code.startsWith("0"))
            System.out.println(code);*/
        }
        long end3 = System.currentTimeMillis();
        System.out.println("方案三"+(end3 - start3));
    }
}

结论:方案一是 通过随机数—>字符串,然后通过字符串的截取方式,而方案二和方案三都是直接操作基本数据类型,最后转成字符串的,所以方案二和方案三效率更优,但是通过方案一是可以生产0开头的6位纯数字验证码,而方案二三都没有以0开头的,在没有特殊要求的情况下方案二三是可以用的,效率是方案一的5-10倍左右;

天梯(tianti) Java 轻量级的 CMS 解决方案-天梯。天梯是一个用 Java 相关技术搭建的后台 CMS 解决方案,用户可以结合自身业务进行相应扩展,同时提供了针对 dao、service 等的代码生成工具。技术选型:Spring Data JPA、Hibernate、Shiro、 Spring MVC、Layer、MySQL 等。 简介: 1、天梯是一款使用Java编写的免费的轻量级CMS系统,目前提供了从后台管理到前端展现的整体解决方案。 2、用户可以不编写一句代码,就制作出一个默认风格的CMS站点。 3、前端页面自适应,支持PC和H5端,采用前后端分离的机制实现。后端支持天梯蓝和天梯红换肤功能。 4、项目技术分层明显,用户可以根据自己的业务模块进行相应地扩展,很方便二次开发。 核心框架:Spring Framework 4.2.5.RELEASE 安全框架:Apache Shiro 1.3.2 视图框架:Spring MVC 4.2.5.RELEASE 数据库连接池:Tomcat JDBC 缓存框架:Ehcache ORM框架:Spring Data JPA、hibernate 4.3.5.Final 日志管理:SLF4J 1.7.21、Log4j 编辑器:ueditor 工具类:Apache Commons、Jackson 2.8.5、POI 3.15 view层:JSP 数据库:mysql、oracle等关系型数据库 前端 dom : Jquery 分页 : jquery.pagination UI管理 : common UI集成 : uiExtend 滚动条 : jquery.nicescroll.min.js 图表 : highcharts 3D图表 :highcharts-more 轮播图 : jquery-swipe 表单提交 :jquery.form 文件上传 :jquery.uploadify 表单验证 :jquery.validator 展现树 :jquery.ztree html模版引擎 :template
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值