Skip to main content

基础

一、Java 简介

Java 是由 Sun Microsystems 公司于 1995 年推出的高级编程语言,具有“一次编写,到处运行”(Write Once, Run Anywhere)的跨平台特性。2009 年 Sun 被 Oracle 收购,Java 成为 Oracle 的核心产品之一。

二、Java 环境搭建

  1. JDK 安装

    • 从 Oracle 官网下载对应系统的 JDK 安装包
    • 配置环境变量:JAVA_HOMEPATHCLASSPATH
    # Linux/macOS 示例
    export JAVA_HOME=/path/to/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib
  2. 开发工具

    • 文本编辑器:VS Code、Sublime Text
    • IDE:Eclipse、IntelliJ IDEA、NetBeans

三、基础语法

  1. Hello World 示例

    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello, World!");
    }
    }
  2. 数据类型

    • 基本数据类型:byteshortintlongfloatdoublecharboolean
    • 引用数据类型:类、接口、数组
  3. 变量与常量

    int number = 10;           // 变量
    final double PI = 3.14; // 常量
  4. 控制流程

    • 条件语句:if-elseswitch
    • 循环语句:forwhiledo-while
    • 跳转语句:breakcontinuereturn

四、面向对象编程

  1. 类与对象

    public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
    this.name = name;
    this.age = age;
    }

    public void sayHello() {
    System.out.println("Hello, I'm " + name);
    }
    }
  2. 继承与多态

    public class Student extends Person {
    private String studentId;

    public Student(String name, int age, String studentId) {
    super(name, age);
    this.studentId = studentId;
    }

    @Override
    public void sayHello() {
    System.out.println("Hello, I'm " + getName() + ", student ID: " + studentId);
    }
    }
  3. 封装与抽象

    • 封装:通过访问修饰符(privateprotectedpublic)实现
    • 抽象:使用 abstract 关键字定义抽象类和方法

五、异常处理

  1. 异常类型

    • 检查异常(Checked Exception):必须显式处理
    • 运行时异常(RuntimeException):可选择性处理
    • 错误(Error):系统级问题,通常无法恢复
  2. 异常处理机制

    try {
    // 可能抛出异常的代码
    } catch (FileNotFoundException e) {
    // 处理文件未找到异常
    } catch (IOException e) {
    // 处理输入输出异常
    } finally {
    // 无论是否发生异常都会执行的代码
    }

六、常用类库

  1. 字符串处理

    • String 类:不可变字符串
    • StringBuilder 类:可变字符串,非线程安全
    • StringBuffer 类:可变字符串,线程安全
  2. 集合框架

    • 列表(List):ArrayListLinkedList
    • 集合(Set):HashSetTreeSet
    • 映射(Map):HashMapTreeMap
  3. 输入输出流

    • 文件操作:FileFileInputStreamFileOutputStream
    • 缓冲流:BufferedReaderBufferedWriter
    • 对象序列化:ObjectInputStreamObjectOutputStream

七、多线程编程

  1. 创建线程的方式

    • 继承 Thread
    • 实现 Runnable 接口
    • 使用 CallableFuture
  2. 线程同步

    • synchronized 关键字
    • ReentrantLock
    • 线程安全集合:ConcurrentHashMapCopyOnWriteArrayList

八、Java 8+ 新特性

  1. Lambda 表达式

    List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
    names.forEach(name -> System.out.println(name));
  2. Stream API

    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
    int sum = numbers.stream()
    .filter(n -> n % 2 == 0)
    .mapToInt(Integer::intValue)
    .sum();
  3. Optional 类

    Optional<String> optional = Optional.ofNullable(getName());
    String name = optional.orElse("Unknown");

九、Java 应用领域

  1. 企业级应用开发:Spring、Spring Boot、MyBatis
  2. Android 应用开发:Android SDK 基于 Java
  3. 大数据处理:Hadoop、Spark
  4. 分布式系统:Dubbo、Zookeeper
  5. 游戏开发:Minecraft 等

十、学习资源推荐

  1. 官方文档:Oracle Java Documentation
  2. 经典书籍:《Effective Java》、《Java 核心技术》
  3. 在线教程:W3Schools、JavaTpoint、菜鸟教程
  4. 社区论坛:Stack Overflow、Reddit 的 r/java 版块