开发常见问题总结(不定时更新)

1、Centos同步网络时间

yum -y install ntp ntpdate

ntpdate cn.pool.ntp.org

hwclock --systohc

2、将List中的数据对象转成另一种对象

List<Map<String,String>> targetList = originalList.stream().map(item->
        {

           //这里可以返回任意你想要的另一种对象格式
          Map<String,String> map = new HashMap<>();
          map.put("name", item.getName());
          return map;
        }
    ).collect(Collectors.toList());

3、文件分隔符

在Windows上为 \ ,在macOS和基于Unix的操作系统上为 /

FileSystems.getDefault().getSeparator()

4、Java中Validator常见注解

  1. @Null 被注释的元素必须为 null

  2. @NotNull 被注释的元素必须不为 null

  3. @AssertTrue 被注释的元素必须为 true

  4. @AssertFalse 被注释的元素必须为 false

  5. @Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值

  6. @Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值

  7. @DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值

  8. @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值

  9. @Size(max=, min=) 被注释的元素的大小必须在指定的范围内

  10. @Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内

  11. @Past 被注释的元素必须是一个过去的日期

  12. @Future 被注释的元素必须是一个将来的日期

  13. @Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式

  14. Hibernate Validator提供的校验注解:

  15. @NotBlank(message =) 验证字符串非null,且长度必须大于0

  16. @Email 被注释的元素必须是电子邮箱地址

  17. @Length(min=,max=) 被注释的字符串的大小必须在指定的范围内

  18. @NotEmpty 被注释的字符串的必须非空

  19. @Range(min=,max=,message=) 被注释的元素必须在合适的范围内

5、OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

到本地项目目录文件夹,右键点击Git Bash Here 执行如下:

git config --global --unset http.proxy

6、OpenSSL SSL_read: Connection was reset, errno 10054

到本地项目目录文件夹,右键点击Git Bash Here 执行如下:

git config --global http.sslVerify "false"

7、常见的正则表达式

^[1-9]\d*$                                                                      //验证正整数
^-[1-9]\d*$                                                                       //验证负整数
^-?[1-9]\d*$                                                                     //验证整数
^[1-9]\d*|0$                                                                   //验证非负整数(正整数 + 0)
^-[1-9]\d*|0$                                                               //验证非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$                                       //验证正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$                                      //验证负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$                      //验证浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$                         //验证非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$                   //匹配非正浮点数(负浮点数 + 0)
^[\u4e00-\u9fa5a-zA-Z]+$                                              //验证字母和中文,不包含特殊字符
^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$                           //验证中文+数字
^[\u4e00-\u9fa5]{0,}$                                                      //验证汉字

8、更新docker容器时间

docker cp /usr/share/zoneinfo/Asia/Shanghai 容器名:/etc/localtime

9、docker删除<none>镜像命令

docker rmi $(docker images -f "dangling=true" -q)

10、idea debug 启动后出现了某些异常(swagger无法打开,nacos注册中心服务没找到应用等),run模式下却正常

ctrl+shift+f8  把断点全部去掉即可

11、LocalDate相关转换

// 字符串转时间
LocalDate planDate = LocalDate.parse("2012-12-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));

// 时间转字符串

LocalDate..format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));

// 获取目标月的第一天

LocalDate firstDay = planDate.with(TemporalAdjusters.firstDayOfMonth());

// 获取目标月的最后一天

LocalDate lastDay = planDate.with(TemporalAdjusters.lastDayOfMonth());

12、浏览器跨域

Chrome浏览器 不知哪个版本升级后 原来好好的跨域功能突然出现问题:
has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space private

解决方案:
1:两种资源都改成 https
2.在浏览器中直接执行chrome://flags/#block-insecure-private-network-requests ,选中Disabled ,重启即可

13、根据列表元素的某个属性进行去重

1、影响原先list顺序,重新排序

Set<PermissionDto> distinctPermissionSet = new TreeSet<>(Comparator.comparing(PermissionDto::getPermUrl));
distinctPermissionSet.addAll(permissionDtoList);

2、保持原先list元素的顺序

static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
    Map<Object, Boolean> seen = new ConcurrentHashMap<>(1);
    //putIfAbsent方法添加键值对,如果map集合中没有该key对应的值,则直接添加,并返回null,如果已经存在对应的值,则依旧为原来的值。
    //如果返回null表示添加数据成功(不重复),不重复(null==null :TRUE)
    return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}
List<PermissionDto> distinctPermissionList = new ArrayList<>();
permissionDtoList.stream().filter(distinctByKey(PermissionDto::getPermUrl)).forEach(distinctPermissionList::add);

14、IDEA依赖变黄

我们使用新版本后发现pom里以前的依赖会变黄,是因为可能所在版本存在漏洞

如需关闭可以到如下图所示进行关闭

15、docker批量管理容器命令

docker中启动所有的容器命令

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker中关闭所有的容器命令

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker中删除所有的容器命令

docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker中删除所有的镜像命令

docker rmi $(docker images | awk '{print $3}' |tail -n +2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值