别再用 System.currentTimeMillis() 统计耗时了,太 Low,StopWatch 好用到爆!


分享一份《Spring Boot 学习笔记,太全了!》

背景

你还在用 System.currentTimeMillis… 统计耗时?

比如下面这段代码:

/**
* @author: 栈长
* @from: 公众号Java技术栈
*/
@Test
public void jdkWasteTime() throws InterruptedException {
long start = System.currentTimeMillis();
Thread.sleep(3000);
System.out.printf("耗时:%dms.", System.currentTimeMillis() - start);
}

System.currentTimeMillis…这种方式统计耗时确实是用的最多的,因为它不用引入其他的 JAR 包,JDK 就能搞定,但是它用起来有几个不方便的地方:

1)需要定义初始时间值,再用当前时间进行手工计算;

2)统计多个任务的耗时比较麻烦,如果 start 赋值搞错可能还会出现逻辑问题;

有没有其他的更好的替代方案呢?

Java 8 排序的 10 个姿势,太秀了吧!同事直呼看不懂。。


分享一份《Spring Boot 学习笔记,太全了!》

大家好,我是栈长。

本公众号(Java技术栈)平时会发不少干货,值得大家的关注,都是栈长多年积累的经验精华,希望对大家有帮助,大家可以置顶下公众号,别错过任何精彩内容!

不废话了,不信你继续往下看,=-=

今天栈长就分享 Java 8 进行排序的 10 个姿势,原来还有这么多排序技巧,其实就是把 Java 8 中的 Lambda、Stream、方法引用等知识点串起来,栈长的同事直呼还看不懂。。

面了个 5 年 Java,两个线程进行数据交换都不会,我真是醉了。。


分享一份《Spring Boot 学习笔记,太全了!》

面试总结

最近栈长面试了一个 5 年经验的 Java 程序员,简历和个人介绍都提到了精通 Java 多线程,于是我就问了几个多线程方面的问题:

1、实现多线程有哪几种方式,如何返回结果?

2、多个线程如何实现顺序访问?

3、两个线程如何进行数据交换?

4、如何统计 5 个线程的运行总耗时?

5、如何将一个任务拆分成多个子任务执行,最后合并结果?

重磅!SoFlu 软件机器人正式发布,1 个人就能抵 1 个团队,IDEA 只是弟弟……


分享一份《Spring Boot 学习笔记,太全了!》

1、背景

大家好,我是栈长。

刚不久看了一个比较有意思的产品发布会《SoFlu 软件机器人》,也听了各位大佬、专家的发言,比如:大卫·帕特森、倪光南院士、石勇院士等,收获良多,这里给大家分享下。

会上定义了 “一人一项目“ 的软件开发新模式,即 “一个人” 全栈解决:前端开发、后端开发、测试、运维,我们平时所说的全栈工程师是指熟悉各种前后端开发技能并能独立完成工作,而这里的全栈居然还干掉了测试、运维,这太了不起了。。

一人一项目,其实这个概念我们并不陌生,在我们平时开发工作中可能也会遇到,比如说你进了一家小公司,老板让你一个人搞定一个项目,你可能同时要负责前端、后端、测试、运维,如果时间很紧,全部都要自己来,想想也要疯了,但很多时候也是身不由己。