概述

简单易用的随机数据生成器。一般用于开发和测试阶段的数据填充、模拟、仿真研究、演示等场景。可以集成到各种类型的java项目中使用。

优点

  • 非常轻量级(不到1M),容易集成,无需过多第三方依赖
  • 简单方便,无需编写冗余代码
  • 生成的随机数据比较接近真实数据

支持的随机数据类型

  • 日期时间
  • 随机日期
  • 随机时间
  • 随机时间戳
  • 随机时区名称

地理

  • 随机省份和城市
  • 随机国家或地区(基于ISO 3166-1标准)
  • 虚拟经纬度
  • 随机邮编
  • 虚拟联系地址
  • 随机固话区号
  • 虚拟固话号码

互联网

  • 虚拟邮箱地址
  • 虚拟域名
  • 虚拟静态URL
  • 虚拟IPv4地址
  • 虚拟IPv6地址
  • 虚拟网卡MAC地址
  • 随机强密码
  • 随机User-Agent
  • 随机端口号
  • 虚拟app名称
  • 虚拟app bundle id
  • 虚拟app版本号

个人信息

  • 虚拟中文人名
  • 虚拟英文人名
  • 虚拟身份证号码
  • 虚拟网络昵称
  • 虚拟拼音网络昵称
  • 虚拟手机号码
  • 虚拟QQ号码
  • 虚拟姓名图片文件
  • 虚拟非主流QQ网名
  • 随机民族名称

教育

  • 随机学历
  • 虚拟小学名称、年级、班级
  • 虚拟中学名称、年级、班级
  • 随机高校及专业名称

金融

  • 随机股票名称+股票代码
  • 虚拟日K线数据
  • 随机开放式基金名称+基金代码
  • 随机货币信息
  • 虚拟银行卡(借记卡及信用卡)号码

体育

  • 随机六大足球联赛球队名称
  • 随机篮球联赛球队名称
  • 随机国家及地区的足球代表队名称

其它

  • 随机数字
  • 随机汉字
  • 随机成语
  • 随机唐诗
  • 虚拟车牌号
  • 随机热门手机型号
  • 随机RGB颜色值
  • 随机HEX颜色值
  • 随机中文短句
  • 随机英文文本
  • 虚拟企业及部门名称
  • 随机营销号文案
  • 随机ISBN
  • 随机EAN商品编码
  • 随机行业分类
  • 随机统一社会信用代码
  • 数据生成工具

配置依赖

  1. <dependency>
  2. <groupId>com.apifan.common</groupId>
  3. <artifactId>common-random</artifactId>
  4. <version>1.0.16</version>
  5. </dependency>

基础用法

随机数字

  1. //生成1个1~101(不含)之间的随机整数
  2. int a = NumberSource.getInstance().randomInt(1, 101);
  3. //生成8个1~101(不含)之间的随机整数
  4. int[] b = NumberSource.getInstance().randomInt(1, 101, 8);
  5. //生成1个10000000000~20000000001(不含)之间的随机长整数
  6. long c = NumberSource.getInstance().randomLong(10000000000L, 20000000001L);
  7. //生成9个10000000000~20000000001(不含)之间的随机长整数
  8. long[] d = NumberSource.getInstance().randomLong(10000000000L, 20000000001L, 9);
  9. //生成1个0.01~0.51(不含)之间的随机整数
  10. double e = NumberSource.getInstance().randomDouble(0.01D, 0.51D);
  11. //生成8个0.01~0.51(不含)之间的随机整数
  12. double[] f = NumberSource.getInstance().randomDouble(0.01D, 0.51D, 8);
  13. //生成随机百分比
  14. BigDecimal percent = NumberSource.getInstance().randomPercent();

随机汉字

  1. //生成1个随机汉字
  2. String i = OtherSource.getInstance().randomChinese();
  3. //生成4个随机汉字
  4. String j = OtherSource.getInstance().randomChinese(4);

随机成语

  1. String idiom = OtherSource.getInstance().randomChineseIdiom();

随机唐诗

  1. Poem p = OtherSource.getInstance().randomTangPoem();

随机人名

中文名
  1. //生成1个随机中文人名(性别随机)
  2. String k = PersonInfoSource.getInstance().randomChineseName();
  3. //生成1个随机男性中文人名
  4. String k2 = PersonInfoSource.getInstance().randomMaleChineseName();
  5. //生成1个随机女性中文人名
  6. String k3 = PersonInfoSource.getInstance().randomFemaleChineseName();
英文名
  1. //生成1个随机英文人名
  2. String l = PersonInfoSource.getInstance().randomEnglishName();
生成姓名头像
  • 该功能可以根据用户姓名快速生成各类网站、app的用户头像
  • 背景颜色随机,数据源取自最近十几年来广受欢迎的颜色,详情参见: Colors of the Year
  • 支持使用自定义TTF字体,但是需要使用者自行保证字体版权合法以避免纠纷
  • 该功能不支持在Android运行环境中使用(因为缺少awt)
  1. //姓名
  2. String name = PersonInfoSource.getInstance().randomChineseName();
  3. //头像文件保存路径
  4. String targetPath = "/home/user/picture/" + name + ".png;
  5. //使用默认的Dialog字体
  6. PersonInfoSource.getInstance().generateNamePicture(name, targetPath);
  7. //使用自定义的字体
  8. String font = "/home/user/font/SourceHanSansCN-Normal.ttf";
  9. PersonInfoSource.getInstance().generateNamePicture(name, targetPath, font);

随机生成符合规则的虚拟身份证号码

  1. //生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,出生日期在1990年11月11日至1999年12月12日之间
  2. LocalDate beginDate = LocalDate.of(1990,11,11);
  3. LocalDate endDate = LocalDate.of(1999,12,12);
  4. String id1 = PersonInfoSource.getInstance().randomMaleIdCard("广西壮族自治区", beginDate, endDate);
  5. //生成1个随机的虚拟身份证号码,地区为河北省,女性,出生日期在2001年1月11日至2008年2月22日之间
  6. LocalDate beginDate2 = LocalDate.of(2001,1,11);
  7. LocalDate endDate2 = LocalDate.of(2008,2,22);
  8. String id2 = PersonInfoSource.getInstance().randomFemaleIdCard("河北省", beginDate2, endDate2);
  9. //生成1个随机的虚拟身份证号码,地区为广西壮族自治区,男性,年龄为18岁
  10. String id3 = PersonInfoSource.getInstance().randomMaleIdCard("广西壮族自治区", 18);
  11. //生成1个随机的虚拟身份证号码,地区为河北省,女性,年龄为19岁
  12. String id4 = PersonInfoSource.getInstance().randomFemaleIdCard("河北省", 19);

注意:

  • 身份证号码前6位地区码数据取自民政部网站2019年公开数据
  • 随机生成的虚拟身份证号码符合校验规则,但有可能与真实号码相同(纯属巧合)

随机虚拟银行卡号码

  1. //生成1个随机虚拟VISA信用卡号码
  2. String cc1 = PersonInfoSource.getInstance().randomCreditCardNo(CreditCardType.Visa);
  3. //生成1个随机虚拟MasterCard信用卡号码
  4. String cc2 = PersonInfoSource.getInstance().randomCreditCardNo(CreditCardType.MasterCard);
  5. //生成1个随机虚拟American Express信用卡号码
  6. String cc3 = PersonInfoSource.getInstance().randomCreditCardNo(CreditCardType.Amex);
  7. //生成1个随机虚拟银联信用卡号码
  8. String cc4 = PersonInfoSource.getInstance().randomCreditCardNo(CreditCardType.UnionPay);
  9. //生成1个随机虚拟JCB信用卡号码
  10. String cc5 = PersonInfoSource.getInstance().randomCreditCardNo(CreditCardType.JCB);
  11. //生成1个随机虚拟借记卡(储蓄卡)号码
  12. String dbc = PersonInfoSource.getInstance().randomDebitCardNo();

注意:

  • 随机生成的虚拟银行卡号码只是前缀和位数符合规则,不会与现实中的真实卡号产生重合,无法用于支付,仅供模拟测试/仿真/项目演示等用途

随机中国大陆手机号

  1. //生成1个随机中国大陆手机号
  2. String m = PersonInfoSource.getInstance().randomChineseMobile();

随机邮箱地址

  1. //生成1个随机邮箱地址,后缀随机,邮箱用户名最大长度为10
  2. String n1 = InternetSource.getInstance().randomEmail(10);
  3. //生成1个随机邮箱地址,后缀为163.com,邮箱用户名最大长度为10
  4. String n2 = InternetSource.getInstance().randomEmail(10, "163.com");

随机域名

  1. //生成1个随机域名,域名最大长度为16
  2. String dm = InternetSource.getInstance().randomDomain(16);

随机ipv4地址

  1. //生成1个随机公网IPv4地址
  2. String pub = InternetSource.getInstance().randomPublicIpv4();
  3. //生成1个随机私有(内网)IPv4地址
  4. String prv = InternetSource.getInstance().randomPrivateIpv4();

随机ipv6地址

  1. //生成1个随机ipv6地址
  2. String ipv6 = InternetSource.getInstance().randomIpV6();

随机端口号

  1. //生成1个随机端口号
  2. int port = InternetSource.getInstance().randomPort();

随机app信息

  1. //生成1个随机App名称
  2. String appName = InternetSource.getInstance().randomAppName();
  3. //生成1个随机App Bundle ID
  4. String appBundleID = InternetSource.getInstance().randomAppBundleId();
  5. //生成1个随机App版本号
  6. String appVersionCode = InternetSource.getInstance().randomAppVersionCode();

随机静态url

  1. //生成1个随机静态url,后缀为jpg
  2. String url = InternetSource.getInstance().randomStaticUrl("jpg");

随机日期

  1. //生成1个2020年的随机日期,日期格式为yyyy-MM-dd
  2. String d1 = DateTimeSource.getInstance().randomDate(2020, "yyyy-MM-dd");
  3. //生成1个2020年1月2日之后的随机日期,日期格式为yyyy-MM-dd
  4. String d2 = DateTimeSource.getInstance().randomFutureDate(LocalDate.of(2020,1,2), "yyyy-MM-dd");
  5. //生成1个今天(基于系统时间判断)之后的随机日期,日期格式为yyyy-MM-dd
  6. String d3 = DateTimeSource.getInstance().randomFutureDate("yyyy-MM-dd");
  7. //生成1个2020年1月2日之前1年内的随机日期,日期格式为yyyy-MM-dd
  8. String d4 = DateTimeSource.getInstance().randomPastDate(LocalDate.of(2020,1,2), "yyyy-MM-dd");
  9. //生成1个今天(基于系统时间判断)之前1年内的随机日期,日期格式为yyyy-MM-dd
  10. String d5 = DateTimeSource.getInstance().randomPastDate("yyyy-MM-dd");
  11. //生成1个2020年1月2日之前10年内的随机日期,日期格式为yyyy-MM-dd
  12. String dd = DateTimeSource.getInstance().randomPastDate(LocalDate.of(2020,1,2), 3650, "yyyy-MM-dd");
  13. //生成1个2000年1月11日至2010年2月22日范围之间的随机日期,日期格式为yyyy-MM-dd
  14. LocalDate beginDate = LocalDate.of(2000,1,11);
  15. LocalDate endDate = LocalDate.of(2010,2,22);
  16. String d6 = DateTimeSource.getInstance().randomDate(beginDate, endDate, "yyyy-MM-dd");

随机时间

  1. //生成过去7天范围内的随机时间
  2. LocalDateTime time1 = DateTimeSource.getInstance().randomPastTime(7);
  3. //生成未来7天范围内的随机时间
  4. LocalDateTime time2 = DateTimeSource.getInstance().randomFutureTime(7);
  5. //生成2020年2月14日当天范围内的随机时间
  6. LocalDateTime time3 = DateTimeSource.getInstance().randomTime(2020, 2, 14);
  7. //生成过去100秒范围内的随机时间
  8. LocalDateTime time4 = DateTimeSource.getInstance().randomPastTime(LocalDateTime.now(), 100);
  9. //生成未来100秒范围内的随机时间
  10. LocalDateTime time5 = DateTimeSource.getInstance().randomFutureTime(LocalDateTime.now(), 100);

随机时间戳

  1. //生成1个当天范围内的随机时间戳
  2. long ts1 = DateTimeSource.getInstance().randomTimestamp(LocalDate.now());
  3. //生成1个2020年3月6日范围内的随机时间戳
  4. long ts2 = DateTimeSource.getInstance().randomTimestamp(LocalDate.of(2020, 3, 6));
  5. //生成1个介于2020年3月6日12:00:00至2020年3月6日12:30:00之间的随机时间戳
  6. LocalDateTime begin = LocalDateTime.of(2020, 3, 6, 12, 0, 0);
  7. LocalDateTime end = LocalDateTime.of(2020, 3, 6, 12, 30, 0);
  8. long ts3 = DateTimeSource.getInstance().randomTimestamp(begin, end);
  9. //生成1个2020年3月6日12:00:00之后180秒内的随机时间戳
  10. LocalDateTime base1 = LocalDateTime.of(2020, 3, 6, 12, 0, 0);
  11. long ts4 = DateTimeSource.getInstance().randomFutureTimestamp(base1, 180);
  12. //生成1个2020年3月7日13:00:00之前120秒内的随机时间戳
  13. LocalDateTime base2 = LocalDateTime.of(2020, 3, 7, 13, 0, 0);
  14. long ts5 = DateTimeSource.getInstance().randomPastTimestamp(base2, 120);

随机时区名称

  1. //生成1个随机时区名称
  2. String timezone = DateTimeSource.getInstance().randomTimezoneName();

随机强密码

  1. //生成1个随机强密码,长度为16,无特殊字符
  2. String pwd1 = PersonInfoSource.getInstance().randomStrongPassword(16, false);
  3. //生成1个随机强密码,长度为16,有特殊字符
  4. String pwd2 = PersonInfoSource.getInstance().randomStrongPassword(16, true);

随机地址

  1. //随机获取省份
  2. String prv = AreaSource.getInstance().randomProvince();
  3. //随机获取城市(省份+城市,以逗号为分隔符)
  4. String city = AreaSource.getInstance().randomCity(",");
  5. //随机获取邮编
  6. String zipCode = AreaSource.getInstance().randomZipCode();
  7. //生成1个随机中国大陆详细地址
  8. String addr = AreaSource.getInstance().randomAddress();

随机国家或地区

  1. //随机获取1个编码首字母为b的国家或地区
  2. CountryOrRegionCode code0 = AreaSource.getInstance().randomCountryOrRegionCode("b");
  3. //随机获取1个国家或地区(不限首字母)
  4. CountryOrRegionCode code1 = AreaSource.getInstance().randomCountryOrRegionCode();

随机经纬度

  1. //随机生成1个纬度
  2. double lat = AreaSource.getInstance().randomLatitude();
  3. //随机生成1个经度
  4. double lng = AreaSource.getInstance().randomLongitude();

随机固话

  1. //随机固话区号(省级行政区名称不需要包含后缀)
  2. String phoneCode = AreaSource.getInstance().randomPhoneCode("湖南");
  3. //随机固话号码(使用-作为分隔符,默认的分隔符是空格)
  4. String phoneNumber = AreaSource.getInstance().randomPhoneNumber("广东", "-");

随机中国大陆车牌号

  1. //生成1个随机中国大陆车牌号(新能源车型)
  2. String n1 = OtherSource.getInstance().randomPlateNumber(true);
  3. //生成1个随机中国大陆车牌号(非新能源车型)
  4. String n2 = OtherSource.getInstance().randomPlateNumber();

随机网络昵称

  1. //生成1个随机英文网络昵称,最大长度为8个字符
  2. String nickName = PersonInfoSource.getInstance().randomNickName(8);
  3. //生成1个随机汉字网络昵称,最大长度为8个汉字
  4. String nickName2 = PersonInfoSource.getInstance().randomChineseNickName(8);
  5. //基于随机汉字网络昵称生成1个拼音网络昵称,最大长度为4个汉字
  6. String nickName3 = PersonInfoSource.getInstance().randomPinyinNickName(4);

随机qq信息

  1. //生成1个随机QQ号
  2. String qq = PersonInfoSource.getInstance().randomQQAccount();
  3. //生成1个随机非主流QQ网名
  4. String nickName = PersonInfoSource.getInstance().randomQQNickName();

随机民族名称

  1. String ethnicName = OtherSource.getInstance().randomEthnicName();

随机教育背景信息

  1. //随机获取学历
  2. String degree = EducationSource.getInstance().randomDegree();
  3. //随机获取本科高校名称
  4. String college = EducationSource.getInstance().randomCollege();
  5. //随机高校专业名称
  6. String majorName = EducationSource.getInstance().randomMajorName();
  7. //随机获取小学名称
  8. String primarySchoolName = EducationSource.getInstance().randomPrimarySchoolName();
  9. //随机获取小学年级
  10. String primarySchoolGrade = EducationSource.getInstance().randomPrimarySchoolGrade();
  11. //随机获取中学名称
  12. String highSchoolName = EducationSource.getInstance().randomHighSchoolName();
  13. //随机获取中学年级
  14. String highSchoolGrade = EducationSource.getInstance().randomHighSchoolGrade();
  15. //随机班级名称
  16. String className = EducationSource.getInstance().randomClassName();

随机公司及部门名称

  1. //随机生成1个公司名称,地区前缀为北京
  2. String companyName = OtherSource.getInstance().randomCompanyName("北京");
  3. //随机生成1个公司部门名称
  4. String department = OtherSource.getInstance().randomCompanyDepartment();

随机中文短句

  1. //随机生成1条中文短句
  2. String sentence = OtherSource.getInstance().randomChineseSentence();

随机英文文本

  1. //随机生成1条英文文本,包含10个单词
  2. String text = OtherSource.getInstance().randomEnglishText(10);

随机营销号

  1. String title = OtherSource.getInstance().randomNonsenseTitle("星期一", "下雨");
  1. String content = OtherSource.getInstance().randomNonsense("星期一", "下雨");

随机行业分类

  1. OtherSource.getInstance().randomEconomicCategory();

说明:行业分类编码和名称来自国家统计局发布的公开数据

统一社会信用代码

  1. OtherSource.getInstance().randomSocialCreditCode();

随机EAN

  1. //随机ISBN,返回结果需要分隔符-,格式例如:978-7-XXXX-XXXX-X
  2. String isbn1 = OtherSource.getInstance().randomISBN(true);
  3. //随机ISBN,返回结果不需要分隔符,格式例如:9787XXXXXXXXX
  4. String isbn2 = OtherSource.getInstance().randomISBN(false);
  5. //随机国际商品编码,格式例如:691XXXXXXXXXX
  6. String ean = OtherSource.getInstance().randomEAN();

说明:

  • 本程序随机生成的EAN编码长度为13位
  • 本程序随机生成的EAN编码符合标准校验规则,仅供模拟测试/仿真/项目演示等用途,并不表示现实中真实存在该编码对应的商品(如有雷同纯属巧合)

随机useragent

  1. //随机生成1个PC User-Agent
  2. String ua1 = InternetSource.getInstance().randomPCUserAgent();
  3. //随机生成1个Android User-Agent
  4. String ua2 = InternetSource.getInstance().randomAndroidUserAgent();
  5. //随机生成1个iOS User-Agent
  6. String ua3 = InternetSource.getInstance().randomIOSUserAgent();

随机网卡mac地址

  1. //随机生成1个网卡MAC地址,使用:作为分隔符
  2. String mac = InternetSource.getInstance().randomMacAddress(":");

随机颜色值

  1. //随机生成1个RGB颜色值
  2. int[] rgb = OtherSource.getInstance().randomRgbColor();
  3. //随机生成1个16进制(HEX)颜色值
  4. String hex = OtherSource.getInstance().randomHexColor();

股票名称和股票代码

  1. //随机股票信息(沪A+深A+创业板+科创版)
  2. String[] stock = FinancialSource.getInstance().randomStock();
  3. String stockName = stock[0];
  4. String stockCode = stock[1];
  5. //随机股票信息(港股)
  6. String[] hkStock = FinancialSource.getInstance().randomHKStock();
  7. String hkStockName = hkStock[0];
  8. String hkStockCode = hkStock[1];
  9. //随机股票信息(新三板)
  10. String[] xsbStock = FinancialSource.getInstance().randomXsbStock();
  11. String xsbStockName = xsbStock[0];
  12. String xsbStockCode = xsbStock[1];
  13. //随机股票信息(北交所)
  14. String[] bseStock = FinancialSource.getInstance().randomBseStock();
  15. String bseStockName = bseStock[0];
  16. String bseStockCode = bseStock[1];

开放式基金名称和基金代码

  1. String[] fund = FinancialSource.getInstance().randomFund();
  2. String fundName = fund[0];
  3. String fundCode = fund[1];

日k线数据

  1. //随机生成20210201~20210228日期范围内的K线数据,起始价格为100,单日最大涨幅10%,单日最大跌幅-10%
  2. List<KChartData> kList = FinancialSource.getInstance().randomDailyKChartData(100, 0.1, -0.1, "20210201", "20210228");

货币

  1. //随机获取一种货币信息
  2. CurrencyInfo ci = FinancialSource.getInstance().randomCurrencyInfo();

足球联赛球队名称

  1. //英超
  2. SportSource.getInstance().randomFootballTeam(CompetitionType.PREMIER_LEAGUE);
  3. //西甲
  4. SportSource.getInstance().randomFootballTeam(CompetitionType.LA_LIGA);
  5. //德甲
  6. SportSource.getInstance().randomFootballTeam(CompetitionType.BUNDESLIGA);
  7. //意甲
  8. SportSource.getInstance().randomFootballTeam(CompetitionType.SERIE_A);
  9. //法甲
  10. SportSource.getInstance().randomFootballTeam(CompetitionType.LIGUE_1);
  11. //荷甲
  12. SportSource.getInstance().randomFootballTeam(CompetitionType.EREDIVISIE);

篮球联赛球队名称

  1. //CBA
  2. SportSource.getInstance().randomBasketballTeam(CompetitionType.CBA);
  3. //NBA
  4. SportSource.getInstance().randomBasketballTeam(CompetitionType.NBA);

国家及地区的足球代表队

  1. //(亚洲足联范围内)随机足球队名称
  2. SportSource.getInstance().randomFootballTeam(FootballConfederation.AFC);
  3. //(欧洲足联范围内)随机足球队名称
  4. SportSource.getInstance().randomFootballTeam(FootballConfederation.UEFA);
  5. //随机足球队名称(不限足球联合会)
  6. SportSource.getInstance().randomFootballTeam();

访问 Wikipedia网页 可以查看完整的足球联合会列表信息。

热门手机型号

  1. OtherSource.getInstance().randomMobileModel();

数据生成工具

此工具类支持自定义生成符合业务需求的随机数据,示例如下:

  1. //准备字段定义
  2. //字段name:随机姓名
  3. DataField df1 = new DataField("name", () -> PersonInfoSource.getInstance().randomChineseName());
  4. //字段birthDate:随机日期
  5. DataField df2 = new DataField("birthDate", () -> DateTimeSource.getInstance().randomPastDate("yyyy-MM-dd"));
  6. //字段salary:随机数字
  7. DataField df3 = new DataField("salary", () -> NumberSource.getInstance().randomInt(5000, 18000));
  8. List<DataField> fieldList = Lists.newArrayList(df1, df2, df3);
  9. //设置数量
  10. int total = 10;
  11. //生成JSON
  12. String json = DataUtils.generateJson(fieldList, total);
  13. //生成CSV
  14. String csv = DataUtils.generateCsv(fieldList, total);
  15. //生成SQL之前先要指定表名
  16. String tableName = "user";
  17. //生成SQL插入语句
  18. String sql = DataUtils.generateJson(fieldList, tableName, total);

更多内容

Java-随机数据生成器(造数据)的更多相关文章

  1. 利用Java随机,生成随机学生数据

    为模拟向数据库中大量插入学生数据(注:此处应该用PreparedStatement.batchUpdate等批处理提高效率)的情形,通过Java随机来生成学生数据. 一.要生成的学生数据 studen ...

  2. SQL Server 用表中已有数据造数据

    从表中选择数据再插入到表中(select XXX into 与insert into XXX select的结合) 在做性能测试时需要大量的业务数据.完全从画面造数据比较费时间,使用SQL文批量插入数 ...

  3. 如何从0到1的构建一款Java数据生成器-第一章

    前提 某天晚上老夫在神游时,想起白天公司同事说起的问题,这老表抱怨使用mysql生成大批的随机测试数据太过麻烦,问大家有没有好的工具推荐,老夫对这种事情当然不关心,毕竟我也不知道. 秉承着不懂就要问, ...

  4. 【BZOJ3671】【NOI2014】随机数据生成器(贪心)

    [BZOJ3671][NOI2014]随机数据生成器(贪心) 题面 BZOJ 题解 前面的模拟 真的就是语文阅读理解题目 理解清楚题目意思 然后就会发现要求的就是一个贪心 从小往大枚举,检查当前数能不 ...

  5. 如何从0到1的构建一款Java数据生成器-第二章

    前提 在上一章我们提到了并且解决了几只拦路虎,承上启下,下面我们一起来实现一款数据生成器. 对外API /** * @description: 本地数据生成API * @author: peter * ...

  6. 使用Faker来随机生成接近真实数据的数据

    在很多场景我们需要造一些假数据或者mock数据,如果我们写死类似[XXXX]类似的无意义的其实不是很优雅,Faker能提供常用的一些名词的随机数据. 1.引入POM: <dependency&g ...

  7. Mockjs,模拟数据生成器

    (推荐使用)Mock.js是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试. 提供了以下模拟功能: 1. 根据数据模板生成模拟数据. 2. 模拟Ajax请求,生成并返回模拟 ...

  8. java 分页导出百万级数据到excel

    最近修改了一个导出员工培训课程的历史记录(一年数据),导出功能本来就有的,不过前台做了时间限制(只能选择一个月时间内的),还有一些必选条件, 导出的数据非常有局限性.心想:为什么要做出这么多条件限制呢 ...

  9. 前端工具mock的使用 - 造数据模拟网络请求

    前后端同步开发过程中,有时候前端页面完成了,需要等待后端接口完成部署后才能联调. 这个时候如果不想等待,想自己造数据模拟网络请求,这种情况就能用到mock工具了. mock工具可以用在web网站,也能 ...

随机推荐

  1. mysql调优学习笔记

    性能监控 使用show profile查询剖析工具,可以指定具体的type 此工具默认是禁用的,可以通过服务器变量在绘画级别动态的修改 set profiling=1; 当设置完成之后,在服务器上执行 ...

  2. 18.Tomcat部署及优化

    Tomcat部署及优化 目录 Tomcat部署及优化 Tomcat简介 Tomcat核心组件 Web容器 什么是 servlet? 什么是 JSP? Container 结构分析 Tomcat 请求过 ...

  3. [WUSTCTF2020]朴实无华-1

    1.打开连接只有如下界面:    2.用bp抓包分析包内数据,未发现有用的信息:    3.进行目录扫描,获得robots.txt文件并进行访问:       4.访问/fAke_f1agggg.ph ...

  4. Django-使用nginx部署

    本地部署 uWSGI 在部署之前,我们得先了解几个概念 wsgi web应用程序之间的接口.它的作用就像是桥梁,连接在web服务器和web应用框架之间. uwsgi 是一种传输协议,用于定义传输信息的 ...

  5. Java 常用Set集合和常用Map集合

    目录 常用Set集合 Set集合的特点 HashSet 创建对象 常用方法 遍历 常用Map集合 Map集合的概述 HashMap 创建对象 常用方法 遍历 HashMap的key去重原理 常用Set ...

  6. 【cartogarpher_ros】三: 发布和订阅雷达scan信息

    上一节介绍和测试了cartographer的官方demo. 本节会编写ros系统中,最常用的激光雷达LaserScan传感数据的订阅和发布,方便在cartographer中加入自己的数据进行建图与定位 ...

  7. Scanner的使用步骤和匿名对象的说明

    Scanner使用步骤 查看类 ~java.util.Scanner :该类需要import导入后使用. 查看构造方法 ~public Scanner(InputStream source) : 构造 ...

  8. mobaxterm会话同步

    前言 之前用过MobaXterm,想不起来为啥不用了.后面主要还是用xshell,最近又在用WindTerm,WindTerm还不错,奈何有不少的Bug,所以又来研究一下MobaXterm 下午摸索了 ...

  9. RK3568开发笔记(四):在虚拟机上使用SDK编译制作uboot、kernel和buildroot镜像

    前言   上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开始搭建rk35 ...

  10. SPFA算法(SLF优化)2022.7.8更新

    SPFA可能会被卡掉,能用dijkstra就别用SPFA,代码较长,但我已尽力做到解释,请耐心看下去,存储为邻接表存储. #include<bits/stdc++.h> #define i ...