对java8一些特性的认识

        今天大概看了一眼《Java 8实战》这本书的概要,从中学到了一些新东西,欣慰的是大概内容都能看懂,接下来说说我的感受,哪儿有不对的地方希望指出,在这里先谢谢了。

1、为啥要学java8

        日新月异的计算应用背景:多核和处理大型数据集,平常我们用的cpu都是多核的-----你的笔记本电脑或台式机上处理器可能有四个cpu内核,甚至更多。但是,绝大多数现有的java程序都只是用其中一个内核,其他三个都闲着,或只是用一小部分能力运行操作系统或杀毒程序。在java8以前,专家可能会告诉你,必须使用线程才能使用多个内核,问题是,线程用起来很难,也容易出现错误。而java8提供了一个新的API(称为“流”,Stream),他支持许多处理数据的并行操作。

        先抢占市场往往能够吓退竞争对手。为了一个功能而改用新的语言和工具往往太过痛苦了,担新来着最终会取代现有的语言,除非后者演变的够快,能更上节奏。

        总结起来就是,语言需要不断改进以跟进硬件的更新或满足程序员的期待。

2、流处理

        流是一系列数据项,一次只生成一项。程序可以从输入流中一个一个读取数据项,然后以同样的方式将数据项写入输出流。一个程序的输出流很可能是另一个程序的输入流。

3、用行为参数化把代码传递下去

        

4、并行与共享的可变数据

        讨论流处理能力时说的“几乎免费的并行”,你需要放弃什么?一般情况下,你写代码不能访问共享的可变数据,这些函数有时被我们称为“纯函数”或“无副作用函数”或“无状态函数”。

        没有共享的可变数据,将方法和函数即代码传递给其他方法的能力 这两要点是我们平成所说的函数式编程范式的基石。“不能有共享的可变数据”的要求意味着,一个方法是可以通过它将参数值转换为结果的方式完全描述的,换句话说,他的行为就像是一个数学函数,没有可见的副作用。

以上是我学到的内容,有些话是采用人家的语句。

参考地址:https://book.douban.com/reading/37581013/

 

转载于:https://my.oschina.net/ferchen/blog/1620345

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值