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常见注解
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max=, min=) 被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(regex=,flag=) 被注释的元素必须符合指定的正则表达式
Hibernate Validator提供的校验注解:
@NotBlank(message =) 验证字符串非null,且长度必须大于0
@Email 被注释的元素必须是电子邮箱地址
@Length(min=,max=) 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@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)