首页 > 其他 > 详细

一阶段总结

时间:2020-07-20 10:58:42      阅读:74      评论:0      收藏:0      [点我收藏+]

## 第一章:面向对象

1.类的组成,一般由成员变量,构造方法,成员方法。

2.类是一个抽象的概念,而我们的对象是类的一个实例,对象是具体的。

3.成员变量和局部变量的区别

4.封装。

5.this关键字,每个类中都隐含了一个对象,这个对象就是this。

6.构造方法,创建类的实例时使用,至少创建俩,一个是无参的,一个是全参。

7.静态关键字,随着类的加载而加载

8.生成API文档 /** */文档注释。我们可以使用javadoc命令生成,也可以使用编译器生成

9.如何使用API,

10.代码块的使用。局部代码块,构造代码块,静态代码块的位置及使用。

11.继承:java中的继承只能单继承,不能多继承。但是支持多层继承(类),不能继承私有成员变量和成员方法。也不能继承构造方法,但是可以通过super关键字访问。

12.super,代表父类存储空间的标识,super()可以访问父类的构造方法,子类初始化会优先初始化父类,因为可能会用到父类的数据。而子类中每一个构造方法中都有super();

13.方法的重写:子类中和父类的方法声明一模一样。重写的核心思想:父类怎么写,子类就怎么写。

14.final关键字:修饰类则类不能被继承,修饰方法则方法不能被重写,修饰

变量,变量只能被一次赋值,从而变成了常亮。

15.多态:有继承关系的前提,方法的重写,父类引用指向子类对象。成员变量:编译看左边,运行看右边。成员方法:编译看左边,运行看右边(方法的重写),多态的转型:向上转型,向下转型(为了使用子类特有的功能)

16.抽象类:抽象类中不一定有抽象方法,但是有抽象方法一定是抽象类。抽象类是不能被实例化的。抽象类的子类要么是抽象类,要是重写抽象类中所有抽象方法。关键字abstract。

17.接口:jdk8以后接口中可以定义默认方法和静态方法,jdk9以后可以定义私有方法。默认方法:可以重写也可以不重写,只能被子类对象调用,如果重写则调用重写的,否则调用接口的。静态方法:不能被重写,只能通过接口名调用。私有方法就是给默认方法调用的。接口关键字interface,实现关键字implements

18.类和接口的各种关系:类与类只能实现单继承;类与接口可以单实现,也可以多实现,也可以单继承类多实现接口;接口与接口可以单继承也可以多继承。

19.参数的问题:形参类型和返回值类型,如果形参类型需要一个类,则实际上需要该类的一个对象,如果是一个接口则需要实现该接口的子类对象。返回值类型同理。

20.包的概述:其实就是文件夹,为了方便管理代码。包的命名规则:第一层项目性质(gov,edu,com,org...),第二层一般是企业名称,第三层是项目结构

21.内部类的分类:成员内部类,局部内部类。如何访问成员内部类的对象呢?

外部类名.内部类名 类名 = 外部类对象.内部类对象;

访问非静态方法:外部类名.内部类名 对象名 = new 外部类名.内部类名();

访问静态方法:上面创建的对象访问,或者外部类名.内部类名.方法名();

22.匿名内部类:前提是存在一个接口或者是抽象类。

 

## 第二章:常用类

大家下去多敲代码,多练习,自然就知道哪些类常用了。

1.冒泡排序:外层比较次数,内层控制每次比较几轮。(必须掌握)

选择排序:拿第一个依次和每一个元素比较。外层控制比较次数,内层控制比较基本并且(交换);

二分查找:首先要求数组有序。定义一个最小值,定义一个最大值,然后根据最大值最小值求出中间值,然后比较。注意:不要让最小值大于最大值。

2.包装类:除了Integer和Character,其余都是首字母变大写就是引用类型,自动装箱和自动拆箱操作。

3.正则表达式:按照指定逻辑过滤字符串。

 

## 第三章:集合

1.Collection:是集合的超类,它表示的有序的,无需的,有重复的,无重复的。

2.Iterator:迭代器,对集合元素的一个迭代,也是基于集合的存在而存在的。

3.List接口:有序且允许重复的集合。

4.异常,并发修改异常。出现的原因是因为使用迭代器迭代同时使用集合添加,就会出现这种异常。处理方式是使用集合遍历使用集合添加,或者使用迭代器迭代,使用迭代器添加。

5.常见的数据结构:栈,队列,数组,链表,树,哈希表。

6.ArrayList :底层数据结构是数组,所以查询快,增删慢,又因为线程不安全,所以效率高。

7.Vector:底层数据结构是数组,所以查询快,增删慢,又因为线程安全,所以效率低。

8:LinkedList:底层是链表,所有查询慢,增删块,又因为线程不安全,所以效率高。

9.泛型的使用:泛型类,泛型接口,泛型方法。泛型的向上和向下限定,以及通配限定。

10.foreach的使用

11.可变参数的使用

12.Set接口:元素唯一,并且存入元素的顺序和取出元素的数据不一致(无序)。

13.HashSet:底层是哈希表(一种元素是链表的数组),如何保证元素的唯一性,是依赖hashCode和equals方法。

14.LinkedHashSet:底层是哈希表和链表,元素有序(存入和取出元素的顺序)且唯一

15.TreeSet:元素是否有序取决于使用构造方法。如果使用的是无参的,则需要实现自然排序接口,要么就使用重写比较器排序。(如果使用比较排序,那么要分析主要因素和次要因素。)

16.java中的排序方式:一种是自然排序,另一种是比较器排序。

17.Map:是双列的,键是惟一的,数据结构只针对键有效,与值无关。如何遍历map呢?可以获取所有的键集,然后遍历键集,获取值。也可以获取键值对对象集合,然后遍历。

18.Collections:包含了一些关于集合的操作工具。

 

## 第四章:IO流

1.异常的分类:error,RuntimException运行时异常,编译器异常这种异常如果不处理,则不能编译通过。

2.try...catch的操作。jdk8之后,try()...catch的操作。

3.异常的抛出,throws抛类名,throw抛对象。

4.File:文件路径的一种抽象表示。

5.递归:方法调用本身的现象称之为递归。递归的思想就是:先分解,后合并,找规律,找出口。

6.IO流:就是操作文件的类

7.InputStream:字节输入流的基类,FileInputStream,BufferdInputStream

8.OuputStream:字节输出流的基类,FileOutputStream,BufferedOutputStream

9.编码格式。转换流实际上就是 字符流= 字节流 + 编码集。

10.Writer:字符输出流的基类:OutputStreamWriter ,FileWriter,BufferedWriter

11.Reader:字符输入流的基类:InputStreamReader ,FileReader,BufferedReader

12.标准的输出流: PrintSteam ps = System.out , System.in

13.序列化和反序列化。ObjectOutputStream,ObjectInputStream,这里如果序列化之后,在修改源文件后,反序列化时就会出现一个异常。加一个固定的序列化ID

关键字transient,标注变量使其不被序列化。

14.配置文件类,Properties,其实就是键和值类型都是String一个Map集合。

15.NIO的使用,Path:封装路径,Paths:更象一个工具类,来获取Path,Files对文件的操作。

 

## 第五章:多线程

1.实现多线程的两种方式:方式一:继承Thread类,方式二:实现Runnable接口。

2.线程的生命周期:1.创建线程 ,2.就绪,3.运行(4.阻塞--->5就绪--->6.运行).7.线程消亡。

3.线程安全相关:synchronized标记同步代码块、也可以标记同步方法。这里需要注意的是,如果是多个线程要安全,注意琐对象的选取。

4.Lock类的使用。

5.死锁的问题,至少掌握一种死锁案例能手写出来。(我去饭馆吃饭,老板不上菜我不给钱,我不给钱老板不上菜。)

6.线程池的操作:循环重复的使用较小的线程。

7.定时器的使用。

## 第六章:网络编程

1.网络编程的三要素:IP地址,Port端口号,协议

2.InetAddress可以获得主机地址和主机名

3.网络协议:

UDP:不安全的协议所以速度快,将数据源和目的封装,不需要建立连接。控制数据大小在64k以内。

TCP:需要建立连接,形成数据传输通道,可以发送大量数据。是通过三次握手完成数据传输,所以是安全的。

4.Socket是唯一标识的端口号和IP地址的组合,和套接字、网络编程属于同一概念。

## 第七章:类加载器与反射

1.了解一下类加载器。

2.反射:对于运行的任意一个类,都能够使用它的任意方法。这种机制称为反射机制。

3.Class类中,又定义了3个封装类:Field变量类,Constructors构造类,Method方法类。getXxx来过去public修饰的对应结构,getDeclaredXxx获取所有对应的构造。此时我们需要给它添加对应的暴力访问,setAccessible。

4.反射的练习题一定要掌握。

5.动态代理:Proxy代理类,需要创建一个代理对象newProxyInstance,该方法需要传递一个代理要做的事情的接口InvocationHandler 。

## 第八章:新特性

1.Lambda表达式,一定要掌握。在Lambda表达式中,要知道如何使用方法引用

2.Stream的使用,一定要掌握。

一阶段总结

原文:https://www.cnblogs.com/whitezhang/p/13343276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!