背景 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation).Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性.同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势 Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的…
首先我们现在开始进入Jakarta的时代,由原甲骨文易主到 Eclipse基金会下,但是不想舍弃java名字,因此基金会重新投票选出了Jakarta EE(雅加达).但是我们明白换汤汤不换药的道理,基础是不变的因此重新温习. 温习概念 override:重写(=覆盖)-->一般在子类继承父类时,为了实现不同的功能,重写父类的方法.子类重写的方法与父类对应的方法的名称.返回类型.参数一样,存在垂直的关系. overload:重载-->同一个类中方法之间的关系,这些方法的名称相同但是参数形式不同,…
接口默认方法 Java8版本以后新增了接口的默认方法,不仅仅只能包含抽象方法,接口也可以包含若干个实例方法.在接口内定义实例方法(但是注意需要使用default关键字) 在此定义的方法并非抽象方法,而是具有特定逻辑的实例方法. 举例说明:定义接口Animal,其中包含默认方法eat(). /** * Created by zjc on 2018/4/9. */ public interface Animal { void call(); default void eat() { System.o…
本文对使用Maven工程构建Jenkinsjob时遇到的问题进行一下分析汇总. JavaDoc标记使用问题 一般Maven项目都有配置产生Java DOC,但是在Jenkins里面产生DOC会有一些严格的要求,否则会导致构建失败.例如: @XXX 我们不能自己随便拼写单词,这样是不允许的,代码虽然不会报错,但是在输出JavaDoc时报错,比如在方法上添加关于作者描述的注释加“@date 2018年3月10日”这样的时间标记,在idea可以通过构建,但是Jenkins就会报错. /var/lib/…
动态改变内存 因为数组在存储之前需要先申请一块连续的内存空间并且在编译的收就必须确定好它的空间大小,在运行时控件的大小无法再随着需求的改变而改变,极易出现越界的情况,数据少时又会造成内存空间浪费. 主要一下几种: List结构集合类:(有序可重复) ArrayList类 LinkedList类 Vector类 stack类 map结构集合类:键值对(键唯一,值不唯一) HashMap类 Hashtable类 set结构集合类:无序不可重复 HashSet类 TreeSet类 HashMap和Ha…
在java面向对象编程的,抽象类和接口始终存在有疑问的地方,因为两者太多相似有太多不同,在刚开始学习的时候经常弄的不对,使用情景搞混,今天来总结之前学习Java中接口和抽象类的问题. 抽象类 了解:只声明,未具体实现. abstract void cry(); 抽象方法必须使用关键字abstract进行修饰,如果一旦一个类中包含了abstract方法,那么这个类必须使用abstract进行修饰:因为抽象类中含有未实现的方法,抽象类不能被实例化:抽象类不一定包含抽象方法,也就是说抽象类可以没有抽象…
多态性: Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义.调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法 Java的方法重写,就是各子类对父类中的方法可能有其他特殊定义,需要将父类中的方法的内容重写计算一边.方法名,返回类型,方法参数必须相同的情况下,即为重写 多态性是面向对象编程的一种特性,和方法无关,简单说,就是同样的一个方法能够根据输入数据的不同,做出不同的处理,即方法的重载——有不同的参数列表(静态多态性) 而当子…
同一域名空间,函数名相同,签名不同 编译期绑定确定绑定函数,也称为静态多态 重写:覆盖(override) 虚函数 子类空间,函数名相同,签名相同 重定义:遮蔽(redefine) 非虚函数,子类成员函数与父类成员函数同名 虚函数,子类成员函数与父类成员函数同名但不同签名 多态:(动态多态) 运行期确定绑定对象,也称为动态多态 同签名虚函数构成覆盖 父类指针指向子类对象,调用属于子类的函数 顶层函数重载操作符 非对象操作数可以出现在操作符左边 使用类成员函数重载是,第一操作数必须是累的对象 顶层…
1.(多选题)给定java代码如下所示,在1处新增下列()方法,是对show()方法的重载 public class Test{ public void show(int x, int y, int z) { } } A.public int show(int x,int y,float z){return 0;} B.public int show(int x,int y,int z){return 0;} C.public void show(int x,int z){} D.public…
一.重写 1.说明 子类对继承过来的父类的方法进行改造,这种现象称为方法的重写或覆盖或覆写(Override) 2.要求 方法签名完全一致,jdk5.0之后,允许返回类型可以是子类类型,权限修饰符可以更大了 二.重载 1.说明 java中提供了一种机制,允许同一个类中多个同名但参数列表不同的方法存在 2.要求 ①同一个类中②方法名必须相同③参数列表必须不同(参数类型.个数或顺序至少有一样不同)④返回类型无要求⑤修饰符无要求 三.重写与重载对比★   说明 发生范围 方法名 参数列表 返回类型 修…