spring ResourceLoader#getResource 无法找到资源 + java内部迭代与外部迭代

在使用idea的spring项目中,遇见资源无法加载的情况,如下,
Resource resource =
	loader.getResource("classpath:/com/wisely/highlight_spring4/ch3/aware/test.txt");
System.out.println("ResourceLoader加载的文件内容为: " + IOUtils.toString(resource.getInputStream()));

之前一直以为是路径不对,无法加载到文件,可是在eclipse中却是可以加载到资源的,说明idea里需要做其他的配置。
在project Structure --> modules 中,将资源文件夹标注成resource文件夹,例如,/aware/test.txt,设置aware为resource文件夹,重新运行,终于加载到内容了。

外部迭代操作的是集合
内部迭代操作的是流

对于集合和流最后再来用一句话来概括:**集合关注的是数据与数据存储本身;流关注的则是对数据的计算。**而流与迭待器类似的一点是:流是无法重复使用或消费的。

内部迭代的优势
内部迭代时,项目可以透明地并行处理,或者用更优化的顺序进行处理。要是用 Java 过去的那种外部迭代方法,这些优化都是很困难的。这似乎有点儿鸡蛋里挑骨头,但这差不多就是 Java 8 引入流的理由了,Stream 库的内部迭代可以自动选择一种适合你硬件的数据表示和并行实现。
与此相反,一旦通过写 for-each 而选择了外部迭代,那你基本上就要自己管理所有的并行问题了(自己管理实际上意味着“某个良辰吉日我们会把它并行化”或“开始了关于任务和 synchronized 的漫长而艰苦的斗争”)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值