2022-08-01 第八小组 常竞文

javase高级阶段

1、泛型

2、枚举

3、多线程

4、集合框架(数据结构,树,二叉树,红黑树,B+树,B-树)

5、IO流(操作文件)

6、网络通信Socket

7、反射和注解

泛型Generics

超级数组要么只能存数字,要么啥都能存,利用泛型可以解决

泛型:

泛型广泛的,普通的类型。泛型能够帮助我们把类型明确的工作推迟到创建对象或者调用方法的时候(定义类的时候,不需要考虑这个数组到底要存什么类型)

泛型的修饰:

1、泛型类

2.泛型方法

3.泛型接口

泛型类把泛型定义在类上,用户在使用类的时候才能把类型给确定。

具体的使用方法<>加上一个未知数,通常用T K V等大写字母表示;实际上用啥都行

当我们在一个类后面加上了泛型<T>,这个T就是一个数据类型,既然T就是一个数据类型,那我们就可以拿过来用

 泛型方法:

如果只关心某个方法,可以不定义泛型类,只定义泛型方法

泛型方法不是一定要在泛型类里

泛型类里不是一定要有泛型方法

在定义泛型方法时,要首先定义泛型类型

定义在方法中间,泛型的使用处之前

使用泛型方法,最好要结合返回值,和object一样

继承关系

泛型类在继承的时候

1、父类是一个泛型类,子类可以不是泛型类

2、泛型的声明只能在当前类名后或者方法中间,而且声明的泛型类是自己的

3、在子类继承父类时,子类泛型和父类泛型都写出来的情况下,父跟子

4、如果在继承时,没有写出任何泛型,当前子类就不是泛型类

 如果在一个泛型类中,尽量就不要在使用泛型方法

泛型方法多数都是出现在非泛型类。

静态方法

1、静态方法如果是泛型类,泛型的声明必须写

2、因为静态结构是属于类的,不属于某个对象

?通配符,可以接受任何类型(几乎不写)

如果使用Object类型,别写泛型

泛型约束类的数据结构

类型擦除:

为了兼容性,使用原始类型(没有泛型)是可以的

泛型刚刚出现的时候,还是存在大量的不适用泛型的代码,为了保证代码的兼容性,将参数化类型的是类传递给设计用于原始化

为了保持兼容性,在java泛型中,有一种类似于伪泛型

java的泛型语法式在编译期这个维度上实现的

正常来说在生成的字节码文件中,不包含泛型的类型信息的

在JVM中看到的只是SuperArray,由泛型附加的类型信息对jvm是看不到的,可以理解为,泛型的本质就是让程序员在编写代码时遵守的一个原则

比如SuperaRrray:在确定了泛型之后,这个超级数组中就统一只放同一类型,如果放入其他类型,编译不通过

1、泛型不能是基本数据类型(原则来说,数组可以作为泛型;语法的角度,不可以)

<>里面放的就应该是类名,数组是在编译后才会生成的一个类

 2、方法重载:a、同一个类 b、方法名相同 c、参数不同

                原理:类型擦除

泛型的应用场景:

1、父类(接口),起到的是一个规范的作用,对里面的数据类型没有明确要求

2、容器类(超级数组,链表,队列,栈)

  

当类型无法确定时,使用泛型

开发中,我们更多的是会使用到一些泛型类或接口

枚举类型

应用场景:

某些情况下,一个类的对象的个数是有限的,比如季节,春夏秋冬,二十四小时节气,星期等

规定这个类的个数

单例模式:

使用枚举类实现单例模式

高效java

单元素的枚举类型已经成为实现单例模式的最佳方案

枚举的优势

1、int类型,不具备安全性。假如某个程序员在定义int时少写了,会存在被他人修改的风险。枚举类,天然就是一个常量类

2、使用int类型,语义不够明确。

枚举里面都是常量,静态,推荐枚举的比较使用==

多线程入门

我们要学习多线程,需要学习一些计算机组成的一些知识

为了完成特定的任务,用某种编程语言写一个软件(程序)

程序要想运行就必须加载到内存中执行

在执行程序的时候,实时的指令加载到cpu内存的指令寄存器中执行

执行过程中产生的数据要加载到数据寄存器中,ALU负责进行算术逻辑运算的

系统总线(System Bus):连接计算机系统的主要组件,用来降低成本和促进,可以通过软件来控制硬件

进程:
一个正在执行中的程序就是一个进程,系统就会为这个进程发配独立的运行

进程就是程序的一次执行过程,他有自己的生命周期

他会在启动程序时产生,运行程序时存在,关闭程序时消亡

引入了线程:

线程是由进程创建,是进程的一个实体,是具体干活的人

一个进程有多个线程。线程不独立分配内存,而是共享进程的内存资源,线程可以共享cpu资源

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值