从迭代到Stream操作
以前,我们要处理一个集合,一般都是迭代它的元素并对每个元素做一些操作。例如,你想计算一本书中长词的数量,首先,把书的内容放入的一行为单位放入list:
1 | String content = new String(Files.readAllBytes( |
然后开始迭代:
1 | int count=0; |
这有啥问题吗?基本没有,除了这个代码很难并行。这就是Java8引入Stream的原因。同样的操作,Java8可以这么写:
以前,我们要处理一个集合,一般都是迭代它的元素并对每个元素做一些操作。例如,你想计算一本书中长词的数量,首先,把书的内容放入的一行为单位放入list:
1 | String content = new String(Files.readAllBytes( |
然后开始迭代:
1 | int count=0; |
这有啥问题吗?基本没有,除了这个代码很难并行。这就是Java8引入Stream的原因。同样的操作,Java8可以这么写:
本人有一段时间就职于某市的公积金项目,项目每次上线新的功能,都要复制代码到多个服务器上,手动复制显得很繁琐,可靠性也无法保障。所以曾探索使用rsync进行自动复制,但由于种种原因最终未能投入生产环境,在此把一些经验和大家分享。
下面的内容需要在已安装rsync的机器上运行,安装方法可以自行搜索。