java
Hello, I'm Tina
Seize the day. Make your lives extraordinary.
展开
-
CompletableFuture的使用
需求:并行执行两个任务,在两个任务都结束后取执行结果,再进行下一步处理。首先肯定要用到多线程,需要获取执行结果就要用到Future。百度了下JDK1.8引入的CompletableFuture很适合,他优化了Future,同时避免了Future调用get方法时出现阻塞。另外如果不设置Thread Pool时,他会默认使用ForkJoinPool。package test.pool;import java.time.Duration;import java.time.Instant;impo原创 2021-07-26 20:34:55 · 544 阅读 · 0 评论 -
如何使用Java自带的线程池 ForkJoinPool
JDK7中新增了ForkJoinPool,年前的项目中恰好用到了,今天终于有时间可以自己写个demo并记录下来了。ps:最近反思自己的工作经历,有些是忙并快乐着的,天天都会有进步,和同事一起讨论问题而不是争论,通过遇到的bug去思考怎么优化产品而不是甩锅。然而这样的工作不常有,遇到了就好好珍惜吧,反正我现在是后悔的要死,但毕竟生活就是生活,没用经济基础空谈理想是会饿死的。在大厂就多想想怎么做人和拼关系,老老实实做好一颗钉;到了小厂就是锻炼人和拼技术了。尽管有时候会被压榨,被PUA,但是无论在哪里都给自己原创 2021-03-18 20:50:43 · 218 阅读 · 0 评论 -
对业务错误和系统异常的一些想法
以下是个人对业务错误和系统异常的一点看法:业务错误:其实就是一些操作上的错误,比如登陆时用户名或者密码错误,新建用户时账号已被注册等。这一类的错误应该尽可能地给用户给出准确的提示信息,后台日志不应该打印出错误堆栈信息。系统异常:包括系统挂了,服务间调用失败,数据库异常,内存溢出等等,这类错误信息可以给用户提示“系统异常,请联系管理员”等类似的提示,不需要具体提示,因为用户不会关心究竟是服务...原创 2018-12-19 10:41:33 · 6537 阅读 · 1 评论 -
日期和时间公共方法【java】
public final static String DATE_FORMAT = "yyyy-MM-dd";/** * 使用用户格式格式化日期 * * @param date 日期 * @param pattern 日期格式 * @return */public static String format(Date date, String pattern) { Str...原创 2018-12-29 16:56:27 · 203 阅读 · 0 评论 -
转发一篇排序算法的文章
链接:https://mp.weixin.qq.com/s?__biz=MzI2NjA3NTc4Ng==&mid=2652080652&idx=1&sn=4165e80c03c28c83519abfa99a0262ef&chksm=f17481e9c60308ff4f6f6a19008d1d53e116e4c1e69685a52cc552832701989135...转载 2018-12-11 14:06:04 · 121 阅读 · 0 评论 -
shiro之通过Realm注入认证和鉴权的原理
Apache Shiro是一个安全框架,可以帮助我们完成认证、鉴权、加密、会话管理等功能。下面是从其他网站上找到的一张图:上述模块就不一一说明了,网上很多解释。 主要和大家分享一下自定义实现Realm注入认证和鉴权的原理。自定义MyRealm类,继承AuthorizingRealm;需要重写两个方法,doGetAuthenticationInfo用来做登陆认证,doGe...原创 2018-12-20 09:35:17 · 1242 阅读 · 0 评论 -
StringUtils isBlank和isEmpty方法
写个简单的:apache commons.lang包的StringUtils经常用来校验或者处理字符串,对比一下isBlank和isEmpty:System.out.println(StringUtils.isEmpty(null)); // trueSystem.out.println(StringUtils.isBlank(null)); // true Syste...原创 2018-07-20 11:31:24 · 662 阅读 · 0 评论 -
汉语拼音排序
依赖:<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version></dependency>使用,直接代码:import原创 2018-07-03 15:22:31 · 3020 阅读 · 0 评论 -
变量声明到底在循环外部好还是在循环内部好?
引用自知乎:https://www.zhihu.com/question/31751468其他参考:https://blog.csdn.net/virtualman2000/article/details/1138496Object obj = new Object();//写在100个循环内等于你有100个引用对应了100个对象所以100个对象在一段时间内都是会占用内存,直到内存不足GC主动回收...转载 2018-06-10 16:20:50 · 7521 阅读 · 0 评论 -
32位AES加密解密(AES/ECB/PKCS7Padding)
两个问题:1. 密钥超出了JDK默认的长度128时会报错:java.security.InvalidKeyException: Illegal key size or default parameters(参考别人的)因为美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。因此存在一些问题:●密钥长度上不能满足需求(如:ja...原创 2018-06-10 16:19:50 · 17139 阅读 · 2 评论 -
spring boot中添加web service客户端发送soap消息给服务端
Spring boot工程中需要和其他系统用soap消息对接,因为系统中未集成web service,所以使用最简单的方法,用HttpURLConnection发送消息:/** * 发送消息 * * @param params */public String sendSyncRequest(SoapParams params) { HttpURLConnecti...原创 2018-06-20 20:15:51 · 7877 阅读 · 0 评论