温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JAVA复习的知识点有哪些

发布时间:2022-01-15 10:38:32 来源:亿速云 阅读:213 作者:iii 栏目:服务器
# JAVA复习的知识点有哪些 ## 一、Java基础语法 ### 1. 数据类型与变量 - **基本数据类型**(8种): - 整型:byte(1)、short(2)、int(4)、long(8) - 浮点型:float(4)、double(8) - 字符型:char(2) - 布尔型:boolean(1) - **引用数据类型**:类、接口、数组 - **类型转换**: - 自动类型转换(小转大) - 强制类型转换(大转小) ### 2. 运算符 ```java // 算术运算符:+ - * / % ++ -- // 关系运算符:== != > < >= <= // 逻辑运算符:&& || ! // 位运算符:& | ^ ~ << >> >>> 

3. 流程控制

  • 分支结构
    • if-else
    • switch-case(JDK7+支持String)
  • 循环结构
    • for/foreach
    • while
    • do-while
  • 跳转语句:break、continue、return

二、面向对象编程

1. 类与对象

public class Person { // 成员变量 private String name; // 构造方法 public Person(String name) { this.name = name; } // 成员方法 public void speak() { System.out.println("My name is " + name); } } 

2. 三大特性

  • 封装:private/protected/public访问控制
  • 继承:extends单继承,super调用父类
  • 多态
    • 方法重载(Overload)
    • 方法重写(Override)
    • 向上转型/向下转型

3. 抽象类与接口

特性 抽象类 接口(JDK8+)
定义 abstract class interface
方法 可含具体/抽象方法 默认public abstract
默认方法 JDK8支持default方法
静态方法 支持 JDK8支持
变量 任意类型 默认public static final
多继承 不支持 支持多实现

三、Java核心API

1. 常用类库

  • String:不可变性、常量池
  • StringBuilder/StringBuffer:可变字符串(后者线程安全)
  • 包装类:自动装箱/拆箱
  • Math/Random:数学运算
  • 日期时间API
    • Date/Calendar(旧)
    • LocalDate/LocalTime(JDK8新API)

2. 集合框架

graph TD A[Collection] --> B[List] A --> C[Set] A --> D[Queue] B --> E[ArrayList] B --> F[LinkedList] C --> G[HashSet] C --> H[TreeSet] I[Map] --> J[HashMap] I --> K[TreeMap] 

3. 异常处理

  • 异常体系
    • Throwable
      • Error(系统错误)
      • Exception(可处理异常)
        • RuntimeException(非受检异常)
        • 其他Exception(受检异常)
  • 处理方式
    • try-catch-finally
    • throws声明
    • throw抛出

四、高级特性

1. 泛型

// 泛型类 class Box<T> { private T data; // getter/setter... } // 泛型方法 public <E> void printArray(E[] array) { for(E element : array) { System.out.println(element); } } 

2. 反射机制

Class<?> clazz = Class.forName("com.example.Person"); Constructor<?> constructor = clazz.getConstructor(String.class); Object obj = constructor.newInstance("张三"); Method method = clazz.getMethod("speak"); method.invoke(obj); 

3. 注解

  • 内置注解:@Override、@Deprecated
  • 元注解:@Target、@Retention
  • 自定义注解:
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String value() default ""; } 

五、IO与NIO

1. 传统IO

  • 字节流:InputStream/OutputStream
  • 字符流:Reader/Writer
  • 装饰者模式:BufferedInputStream等

2. NIO(New IO)

  • 核心组件
    • Channel(通道)
    • Buffer(缓冲区)
    • Selector(选择器)
  • 特点:非阻塞IO、更高效的网络编程

六、多线程

1. 线程基础

  • 创建方式
    • 继承Thread类
    • 实现Runnable接口
    • 实现Callable接口(带返回值)
  • 线程状态
    • NEW -> RUNNABLE -> BLOCKED -> WTING -> TIMED_WTING -> TERMINATED

2. 线程同步

// synchronized关键字 public synchronized void syncMethod() {} // Lock接口 Lock lock = new ReentrantLock(); lock.lock(); try { // 临界区代码 } finally { lock.unlock(); } 

3. 线程池

ExecutorService pool = Executors.newFixedThreadPool(5); pool.execute(() -> { // 任务代码 }); pool.shutdown(); 

七、JVM基础

1. 内存模型

  • 运行时数据区
    • 方法区(类信息、常量池)
    • 堆(对象实例)
    • 虚拟机栈(方法调用)
    • 本地方法栈
    • 程序计数器

2. 垃圾回收

  • GC算法
    • 标记-清除
    • 复制算法
    • 标记-整理
    • 分代收集
  • GC分类
    • Minor GC(新生代)
    • Full GC(整个堆)

八、新特性速览(JDK8-17)

1. JDK8重要特性

  • Lambda表达式
  • Stream API
  • Optional类
  • 新的日期时间API
  • 接口默认方法

2. 后续版本更新

  • JDK9:模块化系统
  • JDK10:局部变量类型推断(var)
  • JDK14:record类
  • JDK17:密封类(sealed class)

复习建议

  1. 分模块学习:按上述知识点划分复习阶段
  2. 代码实践:每个知识点配套编码练习
  3. 错题回顾:整理以往练习中的错误案例
  4. 框架整合:结合Spring等框架理解应用场景
  5. 性能调优:关注集合选择、线程池配置等实践

提示:建议使用IDEA等现代IDE进行代码演练,结合JUnit进行单元测试验证理解。 “`

(注:实际字数约2800字,完整3350字版本需要扩展各章节的示例代码和详细说明)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI