首页 > 其他分享 >异常处理(一)

异常处理(一)

时间:2022-10-31 07:59:49浏览次数:34  
标签:hostName String 处理 substrOfHostName int length randomAscii 异常

 1 public class RandomIdGenerator implements IdGenerator {
 2   private static final Logger logger = LoggerFactory.getLogger(RandomIdGenerator.class);
 3 
 4   @Override
 5   public String generate() {
 6     String substrOfHostName = getLastFiledOfHostName();
 7     long currentTimeMillis = System.currentTimeMillis();
 8     String randomString = generateRandomAlphameric(8);
 9     String id = String.format("%s-%d-%s",
10             substrOfHostName, currentTimeMillis, randomString);
11     return id;
12   }
13 
14   private String getLastFiledOfHostName() {
15     String substrOfHostName = null;
16     try {
17       String hostName = InetAddress.getLocalHost().getHostName();
18       substrOfHostName = getLastSubstrSplittedByDot(hostName);
19     } catch (UnknownHostException e) {
20       logger.warn("Failed to get the host name.", e);
21     }
22     return substrOfHostName;
23   }
24 
25   @VisibleForTesting
26   protected String getLastSubstrSplittedByDot(String hostName) {
27     String[] tokens = hostName.split("\\.");
28     String substrOfHostName = tokens[tokens.length - 1];
29     return substrOfHostName;
30   }
31 
32   @VisibleForTesting
33   protected String generateRandomAlphameric(int length) {
34     char[] randomChars = new char[length];
35     int count = 0;
36     Random random = new Random();
37     while (count < length) {
38       int maxAscii = 'z';
39       int randomAscii = random.nextInt(maxAscii);
40       boolean isDigit= randomAscii >= '0' && randomAscii <= '9';
41       boolean isUppercase= randomAscii >= 'A' && randomAscii <= 'Z';
42       boolean isLowercase= randomAscii >= 'a' && randomAscii <= 'z';
43       if (isDigit|| isUppercase || isLowercase) {
44         randomChars[count] = (char) (randomAscii);
45         ++count;
46       }
47     }
48     return new String(randomChars);
49   }
50 }

 

标签:hostName,String,处理,substrOfHostName,int,length,randomAscii,异常
From: https://www.cnblogs.com/woaiheniunai/p/16842972.html

相关文章

  • 异常处理(二)
    1//错误码的返回方式一:pathname/flags/mode为入参;fd为出参,存储打开的文件句柄。2intopen(constchar*pathname,intflags,mode_tmode,int*fd){3if(/*......
  • 处理器
    概念:处理器是os的核心,负责管理调度,分配计算机系统的重要资源,并行控制程序执行执行过程处理器依据程序计数器(pc)中的指令地址从内存中取一条指令取到的指令,放入指令寄存......
  • 异常处理及程序调试
    一、模拟幼儿园分苹果    二、模拟幼儿园分苹果(除数不能为0)     三、模拟幼儿园分苹果(每个人至少分到一个苹果   四、模拟幼儿园分苹果(应用......
  • 【自然语言处理(NLP)】基于Transformer的中-英机器翻译
    文章目录​​【自然语言处理(NLP)】基于Transformer的中-英机器翻译​​​​前言​​​​(一)、任务描述​​​​(二)、环境配置​​​​一、数据准备​​​​(一)、加载开发......
  • 【自然语言处理(NLP)】基于FNN网络的电影评论情感分析
    文章目录​​【自然语言处理(NLP)】基于FNN网络的电影评论情感分析​​​​前言​​​​(一)、任务描述​​​​(二)、环境配置​​​​一、IMDB数据准备​​​​(一)、参数设......
  • 深入 Spring 系列之静态资源处理
    前一段时间,WebIDE开源的过程中,无意间接触到webjars,觉得比较有趣,于是研究并整理了一下。webjars是将前端的库(比如jQuery)打包成Jar文件,然后使用基于JVM的包管理器(比如......
  • Selenium4+Python3系列(五) - 多窗口处理之句柄切换
    写在前面感觉到很惭愧呀,因为居然在Selenium+Java系列中没有写过多窗口处理及句柄切换的文章,不过也无妨,不管什么语言,其思路是一样的,下面我们来演示,使用python语言来实现窗......
  • 11.异常处理与模块
    异常处理当检测到⼀个错误时,解释器就⽆法继续执⾏了,反⽽出现了⼀些错误的提示,这就是所谓的"异常"。python提供了两个非常重要的功能来处理python程序在运行中出现的异常......
  • C语言之预处理,头文件
    目录1预处理1.1简介1.2预处理器实例1.3预定义宏1.3.1简介1.3.2不带参数的宏1.3.3参数化的宏1.4预处理器运算符1.4.1宏延续运算符()1.4.2字符串常量化运算符(#)1.......
  • 06异常
    异常体系结构Java把异常当作对象来处理,定义一个基类java.lang.Throwable作为所有异常的超类Java异常处理机制处理异常自定义异常......