黑马JavaSE基础+进阶重难点精华版复习资料
### 黑马JavaSE基础+进阶重难点精华版复习资料 #### 1. 基本入门:IDEA常用快捷键 - **基础知识**:IDEA是IntelliJ IDEA的简称,是一款非常强大的Java集成开发环境(IDE)。熟练掌握IDEA中的快捷键能够极大地提高开发效率。 - **快捷键介绍**: - **Ctrl + N**:快速打开类; - **Ctrl + Shift + N**:快速打开文件; - **Alt + Insert**:快速生成代码(如getters/setters、构造方法等); - **Ctrl + Shift + C** 和 **Ctrl + V**:复制粘贴代码时自动导入所需的包; - **Ctrl + Space**:基本代码完成提示; - **Ctrl + Alt + Space**:显示类、方法的参数信息; - **Alt + Enter**:显示上下文相关的操作列表; - **Ctrl + Shift + F6**:重命名变量或方法; - **Ctrl + Shift + T**:弹出当前类的所有方法和字段列表; - **Ctrl + Alt + L**:格式化代码; - **Ctrl + Shift + U**:切换大小写; - **Ctrl + Y**:删除行; - **Ctrl + D**:复制行; - **Ctrl + Shift + F**:全局查找; - **Ctrl + Shift + R**:全局替换; - **Ctrl + F12**:显示当前文件结构; - **Ctrl + Shift + Alt + N**:搜索文件中的类成员。 #### 2. 类和对象:内存分配与细节 - **基础知识**: - **类**:在Java中,类是对象的模板,定义了对象的属性和行为。 - **对象**:类的实例,每个对象都有自己的状态和行为。 - **内存分配**: - **栈内存**:存放局部变量、方法调用栈等,生命周期随方法调用而结束。 - **堆内存**:存放对象实例,由垃圾回收机制管理。 - **方法区**:存放类的信息、常量、静态变量等。 - **细节**: - **this关键字**:指向当前对象自身的一个引用,可以用来区分成员变量和局部变量。 - **构造方法**:用于初始化对象,与类同名,没有返回值类型。 - **final关键字**:用于声明常量或不可改变的变量,可以用于类、方法、变量。 - **static关键字**:用于创建静态变量、静态方法和静态代码块,可以在不创建对象的情况下访问。 - **实例变量**与**局部变量**的区别。 #### 3. 数组:二维数组内存分配 - **基础知识**: - **数组**:一组相同类型的变量的集合。 - **二维数组**:数组的元素也是数组。 - **内存分配**: - **行优先存储**:二维数组在内存中是以行优先的方式存储的。 - **列优先存储**:虽然不是Java的标准方式,但在某些情况下也可能会出现。 - **动态创建二维数组**:通过循环的方式为每一行分配内存空间。 #### 4. 面向对象:继承与抽象类 - **基础知识**: - **面向对象**:是一种编程思想,主要特征包括封装、继承、多态。 - **继承**:允许子类继承父类的属性和方法。 - **抽象类**:不能被实例化的类,通常包含一个或多个抽象方法。 - **细节**: - **super关键字**:用于访问父类的属性和方法。 - **extends关键字**:用于实现继承。 - **abstract关键字**:用于声明抽象类或抽象方法。 - **接口与抽象类的区别**。 #### 5. 接口:权限修饰符与枚举 - **基础知识**: - **接口**:一种特殊的抽象类,所有方法默认都是public abstract。 - **枚举**:一种特殊的数据类型,主要用于定义固定数量的值。 - **权限修饰符**: - **public**:完全公开。 - **protected**:对同一包内的类和子类可见。 - **default**:只对同一包内的类可见。 - **private**:仅在当前类中可见。 - **接口与枚举的细节**: - **接口中定义的方法**:默认为public abstract。 - **接口中定义的变量**:默认为public static final。 - **实现接口的类**:必须实现接口中的所有方法,除非该类也是抽象类。 - **枚举的定义**:使用enum关键字定义,可以在枚举中定义方法和变量。 - **枚举的比较**:使用==而非equals()。 #### 6. 多态:匿名内部类 - **基础知识**: - **多态**:允许将子类类型的指针赋值给父类类型的指针,主要通过继承和接口实现。 - **匿名内部类**:没有名称的内部类,常用于实现接口或继承抽象类。 - **多态的实现**: - **向上转型**:将子类对象赋值给父类引用。 - **向下转型**:将父类引用转换为子类引用。 - **匿名内部类的使用场景**: - **事件监听器**:在图形界面设计中非常常见。 - **单例模式**:实现单例模式的一种方式。 - **适配器模式**:简化接口的使用。 #### 7. 迭代器与正则表达式 - **基础知识**: - **迭代器**:提供了一种遍历容器元素的方法,是访问集合元素的一种方式。 - **正则表达式**:用于处理字符串的强大工具。 - **迭代器的使用**: - **Iterator接口**:提供了hasNext()和next()等方法来遍历集合元素。 - **remove()方法**:用于删除迭代过程中遇到的元素。 - **增强for循环**:更简洁的遍历集合的方式。 - **正则表达式详解**: - **基本语法**:`[]`表示字符集,`.`表示任意字符,`^`表示字符串开头,`$`表示字符串结尾。 - **元字符**:`*`表示零次或多次,`+`表示一次或多次,`?`表示零次或一次。 - **分组与引用**:`()`用于分组,`\1`、`\2`等引用前一个分组的结果。 - **预定义字符类**:`\d`表示数字,`\w`表示字母或数字,`\s`表示空白符。 #### 8. 容器与范型 - **基础知识**: - **容器**:用来存储数据的结构。 - **范型**:一种泛型编程技术,允许编写参数化类型的类或方法。 - **容器分类**: - **List**:有序集合,允许重复元素。 - **Set**:不允许重复元素的集合。 - **Map**:键值对集合。 - **范型的使用**: - **泛型类**:使用泛型定义类。 - **泛型方法**:使用泛型定义方法。 - **泛型接口**:使用泛型定义接口。 - **类型参数**:泛型中的类型参数,如`T`、`E`等。 #### 9. 异常处理:Lambda表达式与Stream流 - **基础知识**: - **异常处理**:处理程序执行过程中可能出现的错误。 - **Lambda表达式**:简化函数式接口实现的一种方式。 - **Stream流**:对集合进行操作的新方式。 - **异常处理详解**: - **try-catch-finally语句**:捕获并处理异常。 - **throw关键字**:抛出异常。 - **throws关键字**:声明方法可能抛出的异常。 - **自定义异常**:继承Exception类或其子类来创建自定义异常。 - **Lambda表达式的使用**: - **语法结构**:参数列表 -> 表达式体。 - **函数式接口**:只有唯一一个抽象方法的接口。 - **方法引用**:简化Lambda表达式的另一种方式。 - **Stream流的应用**: - **创建Stream**:通过集合或数组等创建Stream。 - **中间操作**:过滤、映射、排序等。 - **终端操作**:收集结果、计算统计信息等。 #### 10. 多线程:线程安全与线程池 - **基础知识**: - **多线程**:在程序中同时运行多个线程。 - **线程安全**:确保多线程环境下程序的正确性。 - **线程池**:预先创建一定数量的线程,供任务使用。 - **线程创建方式**: - **继承Thread类**:重写run()方法。 - **实现Runnable接口**:实现run()方法。 - **实现Callable接口**:使用FutureTask包装Callable对象。 - **线程安全问题**: - **同步代码块**:使用`synchronized`关键字。 - **锁**:使用Lock接口及其实现类。 - **volatile关键字**:确保变量在多线程环境下的可见性和有序性。 - **线程池的使用**: - **Executor框架**:提供了创建线程池的方法。 - **ThreadPoolExecutor**:最常用的线程池实现类。 - **ScheduledThreadPoolExecutor**:支持定时任务的线程池。 #### 11. 流:字符流 - **基础知识**: - **流**:数据传输的基本方式,分为输入流和输出流。 - **字符流**:以字符为单位读写的流。 - **字符流分类**: - **Reader/Writer**:所有字符流的基类。 - **FileReader/FileWriter**:用于文件的字符读写。 - **BufferedReader/BufferedWriter**:带缓冲区的字符流。 - **InputStreamReader/OutputStreamWriter**:将字节流转换为字符流。 - **字符流的使用**: - **读取文件**:使用FileReader读取文本文件。 - **写入文件**:使用FileWriter写入文本文件。 - **缓冲流**:提高读写效率。 #### 12. 网络编程 - **基础知识**: - **网络编程**:利用网络协议进行数据交换的编程技术。 - **Socket**:通信的两端之间的连接。 - **TCP/IP协议**:传输控制协议/网际协议。 - **TCP编程**: - **ServerSocket**:创建服务器端Socket。 - **Socket**:客户端Socket。 - **数据传输**:使用InputStream和OutputStream进行读写。 - **UDP编程**: - **DatagramSocket**:创建Socket。 - **DatagramPacket**:数据报。 - **发送与接收**:使用send()和receive()方法。 以上是针对《黑马JavaSE基础+进阶重难点精华版复习资料》中涉及的主要知识点的详细介绍,希望对学习Java的同学有所帮助。
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![sql](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/89498364/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/89498364/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/89498364/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/89498364/bg4.jpg)
![](https://csdnimg.cn/release/download_crawler_static/89498364/bg5.jpg)
剩余20页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/72044d56570f4584a4b756362df9689e_cangshanjiang.jpg!1)
- 粉丝: 1026
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)