zoukankan      html  css  js  c++  java
  • jvm(8)

    Java中的泛型
    1. 参数化类型:定义方法时的形参,调用方法时传递的实参
    2. 常见的字母代表的参数类型
    3. E 元素;k 主键 vvalue值 N 数字类型 T 通用性参数

    泛型接口
    1. 接口中的参数用泛型代替
    2. 当使用泛型接口时许哟啊传递实际的参数类型

    泛型方法同上

    虚拟机如何实现泛型方法
    1. 泛型擦除,既实际使用时 已经将泛型 转化成实际的参数类型,泛型只存在源码中
    2. 弱记忆: jvm的擦除仅仅是code属性中的字节码擦除,其实还是保留了泛型信息,signature

    Stream
    1. stream parallelstream ,单线程和多线程的流
    2. stream接口,相当于高级版的iterator
    3. 为什么要使用stream ,写的快,代码少,(装逼)

    stream的操作
    1. 中间操作:惰性,既只是调用方法,没有实际执行,除非执行终结方法
    2. 中间操作非为有状态和无状态,有状态的接收到之前的结果,既所有元素才会继续执行
    3. 终结操作 :既流执行完之前的最后一个动作
    4. 终结操作的短路与非短路: 短路既遇到某些符合条件的就停止,非短路需要全部执行完
    5.

    stream的底层实现
    1. 每一个操作可以看成链表的一个节点,最后通过管道组合在一起,实际执行时类似递归的形式

    parallelstream stream
    1. 比如说普通的迭代速度 》 比并发流快 》 串行流快
    2. 因为串行流设计复杂 所以比普通的迭代慢
    3. 并发流 用 forkjoin ,但是设计复杂, 有可能产生频繁的线程切换所以比普通的慢

  • 相关阅读:
    ViewPager+Fragmrnt最简单结合方法
    Microsoft SQL Server Version List(SQL Server 版本)
    hdu 2795 Billboard(线段树单点更新)
    面向对象程序设计的思想的长处
    iOS 友盟分享
    使用Broadcast实现android组件之间的通信
    jquery ui 分页插件 传入后台的连个參数名
    android adb常见问题的解决方法!
    UVa 11015
    优秀程序猿学习方法
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/13468234.html
Copyright © 2011-2022 走看看