Java综合项目开发

Java基础知识全面梳理

一、Java语言概述

1.发展历程

  • 1995 年由 Sun Microsystems 发布,最初称为 Oak
  • 经历多个版本迭代,当前 LTS 版本为 Java 17/21
  • 2010 年 Oracle 收购 Sun,主导后续发展

2.语言特性

  • 面向对象:封装、继承、多态
  • 平台无关性:一次编写,到处运行(通过 JVM 实现)
  • 强类型语言:所有变量必须先声明后使用
  • 自动垃圾回收:通过 GC 机制管理内存
  • 多线程支持:内置对多线程编程的支持

二、基本语法与数据类型

1.基本数据类型(8种)

2.引用数据类型

  • 类(Class)
  • 接口(Interface)
  • 数组(Array)
  • 枚举(Enum)
  • 注解(Annotation)

三、面向对象编程

1.类与对象

2.继承与多态

3.接口与抽象类

四、流程控制语句

1.条件语句

2.循环语句

五、异常处理

1.异常分类

  • 检查型异常(Checked Exception):如 IOException
  • 非检查型异常(Unchecked Exception):如 RuntimeException
  • 错误(Error):如 OutOfMemoryError

2.异常处理机制

六、集合框架

1.常用集合接口与实现类

2.集合遍历

七、多线性编程

1.创建线程的方式

2.线程同步

八、输入输出流

1.文件操作示例

九、反射机制

1.反射基本用法

十、注解与泛型

1.注解示例

2.泛型示例

Java中易混淆概念深度解析

一、重载(Overload)vs重写(Override)

核心区别:

  • 重载:发生在同一个类中,方法名相同但参数列表不同
  • 重写:发生在父子类中,方法签名完全相同(访问修饰符可更宽松)

典型示例:

常见误区:

  • 重载不关心返回值类型,仅依据参数列表区分
  • 重写方法不能抛出比父类更宽泛的异常

二、抽象类VS接口

核心区别:

典型场景:

  • 抽象类:模板方法模式(如 HttpServlet)
  • 接口:策略模式(如 Comparator 接口)

三、String vs StringBuffer vs StringBuilder

性能对比:

代码示例:

四、final、finally、finalize

功能差异:

  • final:修饰类、方法、变量

    • 类:不可被继承(如 String 类)
    • 方法:不可被重写
    • 变量:赋值后不可修改(常量)
  • finally:异常处理的一部分,无论是否发生异常都会执行

  • finalize:Object 类的方法,垃圾回收前由 JVM 调用(已过时)

五、值传递vs引用传递

Java传递机制:

  • Java 只有值传递,传递的是对象引用的副本
  • 示例说明:

六、== vs equals() 

核心区别:

  • ==:比较基本类型的值或对象的引用地址
  • equals():默认比较引用地址(Object 类实现),可重写比较内容

七、throws vs throw

使用场景:

throws:声明方法可能抛出的异常

throw:手动抛出异常

八、Collection vs Collections

功能差异:

  • Collection:集合框架的根接口(List、Set、Queue 的父接口)
  • Collections:工具类,提供静态方法操作集合

九、HashMap vs Hashtable vs ConcurrentHashMap

特性对比:

十、JDK vs JRE vs JVM

包含关系:

  • JVM(Java Virtual Machine):执行字节码的虚拟计算机
  • JRE(Java Runtime Environment):JVM + 核心类库
  • JDK(Java Development Kit):JRE + 开发工具(编译器、调试器等)

理解这些易混淆概念的关键在于结合具体代码示例和使用场景,建议通过编写测试用例验证每个概念的行为差异。对于集合框架、多线程等复杂主题,推荐阅读源码以深入理解其实现原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值