Java java.util.Comparator
参考文献
Java stream sorted使用 Comparator 进行多字段排序
java.util.Comparator
1234567891011121314151617List<User> list = new ArrayList<>();// 根据单个字段排序 升序list.sort(Comparator.comparing(User::getName));// 根据多个字段排序 升序list.sort(Comparator.comparing(User::getName) .thenComparing(User::getAge));// 根据单个字段排序 降序list.sort(Comparator.comparing(User::getName, Comparator.reverseOrder()));// 根据多个字段排序 升序list.sort(Comparator.comparing(User::getName, Comparator.reverseOrder()) .thenComparing(Us ...
Java-Cron表达式
参考文献
Spring cron
123456789101112131415161718192021例子: # 每月的最后1天 @Scheduled(cron = "0 0 18 28-31 * ?") public void doAtLastDayOfMonth() { final Calendar calendar = Calendar.getInstance(); if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)) { // do something here... } } 说明: Java(Spring) * * * * * * - - - - - - | | | | | | | | | | | +-- ...
Java Array
参考文献
Arrays
数组长度
所使用的排序算法
length < 47
插入排序
47 <= length < 286
快速排序
length >= 28
归并排序
length >= 286
快速排序
JWT
参考文献
了解 JWT Token 释义及使用
JSON Web Algorithms (JWA)
JWT 简介、陷阱及建议
JSON Web Token Best Current Practices
概念
JSON Web Token (JWT,RFC 7519),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519)。该 token 被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该 token 也可直接被用于认证,也可被加密。
使用场景
授权:这是使用 JWT 最常见的场景。用户登录后,每个后续请求都将包含 JWT,从而允许用户访问该令牌允许的路由、服务和资源。单点登录是当今广泛使用 JWT 的一项功能,因为它的开销很小并且能够轻松地跨不同域使用。
信息交换:JSON Web 令牌是在各方之间安全传输信息的好方法。因为 JWT 可以进行签名(例如,使用公钥/私钥对 ...
Java日志框架
参考文献
SLF4J user manual
Slf4j
简单使用
12slf4j-api-${version}.jarslf4j-simple-${version}.jar
12345678910<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>${slf4j.version}</version> ...
Java-Mail操作
参考文献
邮件基本概念及发送方式
RFC1869文档
RFC2821文档
邮件的基本概念
邮件服务器
邮件服务器是一种用来负责电子邮件收发管理的设备,同时也是电子邮件系统中的核心内容.
邮件服务器是有发送邮件SMTP服务器和接收邮件POP3服务器协同工作,并且为用户提供接收邮件的功能.
邮件服务器比一般的免费邮箱更加安全,一直被企业公司使用.
电子邮箱
电子邮箱也称为E-mail地址,比如xx@qq.com、xx@163.com。用户能通过E-mail地址标识自己发送的电子邮件,同时也可以通过这个地址接收别人发来的电子邮件。
电子邮箱需要到邮件服务器进行申请,也就是说,电子邮箱其实就是用户在邮件服务器上申请的账户。邮件服务器会把接收到的邮件保存到为该账户所分配的邮箱空间中,用户通过用户名密码登录到邮件服务器查收该地址已经收到的邮件。一般来讲,邮件服务器为用户分配的邮箱空间是有限的。
邮件客户端
邮件客户端就是我们平常在上面进行邮件发送的网站或者应用,比如常见的FoxMail、雷鸟、outlook、163、mesign等;
通常使用IMAP/APOP/POP3/SMTP协议 ...
工具-JMH官方示例(一)
参考文献
Simples
官方样例(1~12)
Hello World
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104/* * Copyright (c) 2014, Oracle America, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code mu ...
工具-JMH官方示例(二)
参考文献
Simples
官方样例(13~end)
RunToRun
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129/* * Copyright (c) 2014, Oracle America, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that ...
工具-JMH的使用
参考文献
别再写 main 方法测试了,太 Low!这才是专业 Java 测试方法!
https://hg.openjdk.java.net/code-tools/jmh
为什么要用JMH?何时应该用?
JMH简介
JMH,全称 Java Microbenchmark Harness (微基准测试框架),是专门用于Java代码微基准测试的一套测试工具API,是由 OpenJDK/Oracle 官方发布的工具。
基准测试注意点
测试前需要预热。
防止无用代码进入测试方法中。
并发测试。
测试结果呈现。
使用场景
定量分析某个热点函数的优化效果
想定量地知道某个函数需要执行多长时间,以及执行时间和输入变量的相关性
对比一个函数的多种实现方式
依赖
1234567891011<dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.versio ...