2022-05-27

        5.Stream流:

            关注对数据的运算

            流式的对上一步得到的结果进行进一步运算

            特点:

                1.流是一次性的流,操作完毕之后就被损毁,每次中间操作都会返回一个持有 结果的新的流

                2.流本身不能存储数据,数据真实存储在数据源中,而流描述的是对数据的运算

                3.流不会改变数据流中的数据

                4.延迟执行|惰性加载

          使用步骤:

            1.获取流

                1)Collection.stream()

                2)Arrays.stream()

                3)Stream.of()

            2.中间操作: 每次执行返回新的流

               filter()

               limit()

               skip()

                distinct()

                排序: sorted()  默认比较器|排序规则|自然排序对数据做默认升序排序

                排序: sorted(Comparator)  外部比较器|定值排序对数据做默认升序排序

                映射 : map(Function) 接收lambda,将stream操作每一个元素应用与参数函数,实现将元素转换成为其他形式|提取信息.最后返回持有所有运算后结果的新的流

            3.终止行为

 Stream终止行为:

        遍历  foreach()

        匹配

             allMatch-检查是否匹配所有元素

             anyMatch-检查是否至少匹配一个元素

             noneMatch-检查是否没有匹配所有元素

        查找

             findFirst-返回第一个元素

             findAny-返回当前流中的任意元素

              count-返回流中元素的总个数

              max-返回流中最大值

              min-返回流中最小值


        归约 也称缩减,顾名思义,是把一个流缩减成一个值,能实现对集合求和、求乘积和求最值操作。

            reduce(BinaryOperator)  stream操作的每两个数据通过给定参数进行运算,最终运算出一个结果返回

            Treduce(T identity, BinaryOperator accumulator);  identity作为第一次运算的第一份操作数,BinaryOperator每次运算的规则

        收集

            collect()收集,可以说是内容最繁多、功能最丰富的部分了。

                从字面上去理解,就是把一个流收集起来,最终可以是收集成一个值也可以收集成一个新的集合。

            collect主要依赖java.util.stream.Collectors 类内置的静态方法。

二Thread:

Thread

多线程:  了解,理解,基础的使用

    三高网站 : 高可用  高性能   高并发

    线程 : 程序执行中的执行顺序流

    多线程 : 多任务执行,多路径执行,多个顺序流同时执行就是多线程

    多线程特点:

         性能高,效率高,容易出错,需要特别注意,可以出现数据不安全问题

    注意:很多多线程都是模拟出来的,其实同一时刻的喝水与讲课无法同时进行,但是因为切换的非常快,造成了同时执行的错觉

          一个cpu统一时刻只能调度一个线程,但是可以快速切换

    线程 与 进程:

        进程 : 系统中的程序,一个进程中包含1~n个线程

             每个进程都用于独立的代码与数据空间

             进程切换开销较大

             进程是资源分配的最小单位

        线程 : 轻量级的进程

            多个线程共享进程的资源,每个线程都用于独立的运行站与程序计数器,线程之间互不影响

            线程之间切换开销小,线程的切换不由程序猿控制,只有cpu说了算

            线程是cpu调度的最小单位

        进程与线程都存在5种状态 : 新生   就绪   运行    阻塞    终止

   学习线程的内容:

        1.创建开启线程的方式  *****

            1.继承Thread类,重写run方法+  start开启线程

            2.实现Runnable接口,重写run方法 + start开启  - >推荐

                优点: 接口可以多实现

                      可以实现资源共享

            3.实现juc包下Callable接口,重写call方法+ 线程池开启线程 --> 了解

        2.线程状态

        3.线程安全问题  ****

        4.线程通信

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本系列文章使用Unity最新版本Unity 2019.3.0f6,大家可以感觉到Unity 2019.3发布得非常...
    侑虎科技UWA阅读 463评论 0 0
  • 这本书的作者叫乔丹·贝尔福特,真人真事改编电影,华尔街之狼 贝尔福特的销售方法让他从一个接线员到金融大鳄,他还雇佣...
    亦文誉晨阅读 1,259评论 0 1
  • 人民币找零 常说的找零即:用比该币币值小的币种来等额替换。 人民币找零:即用比该币币值小的币种来等额替换有多少种替...
    wzlzf3385阅读 208评论 0 0
  • 20220527 思维:吴军《格局》 第一部分 清楚自己的位置,找对未来的方向 成功的秘诀,一学就会的根本不起作用...
    sangrea1阅读 205评论 0 0
  • aggregate函数是数据处理中常用到的函数,具有强大的功能。可以按照要求把数据打组聚合,然后对聚合以后的数据进...
    d86a462e29ea阅读 290评论 0 0

友情链接更多精彩内容