
Java基础知识总结(超详细整理)
Java概述什么是Java?Java的特点Java平台的组成Java开发工具Java开发环境安装JDK配置环境变量使用IDE(如IntelliJ IDEA、Eclipse)Java基础语法数据类型运算符控制语句方法和函数面向对象编程(OOP)类与对象封装继承多态抽象类与接口Java常用类库String类日期与时间处理(java.time)集合框架(List, Set, Map)输入输出(IO)流异
Java基础知识总结(超详细整理)
目录
-
Java概述
- 什么是Java?
- Java的特点
- Java平台的组成
- Java开发工具
-
Java开发环境
- 安装JDK
- 配置环境变量
- 使用IDE(如IntelliJ IDEA、Eclipse)
-
Java基础语法
- 数据类型
- 运算符
- 控制语句
- 方法和函数
-
面向对象编程(OOP)
- 类与对象
- 封装
- 继承
- 多态
- 抽象类与接口
-
Java常用类库
- String类
- 日期与时间处理(java.time)
- 集合框架(List, Set, Map)
- 输入输出(IO)流
-
异常处理
- 异常的类型
- 异常的捕获与抛出
- 自定义异常
-
多线程与并发编程
- 线程的创建与启动
- 同步机制(synchronized)
- 线程池
- 并发集合与工具类(ExecutorService, CountDownLatch等)
-
JVM与内存管理
- JVM架构
- 堆与栈
- 垃圾回收
- 类加载机制
-
Java性能优化
- 性能调优的方向
- 内存优化
- CPU优化
- 数据库优化
-
Java设计模式
- 设计模式的定义与分类
- 常见设计模式(单例模式、工厂模式、观察者模式、策略模式等)
Java基础入门
作者简介
作者名片 ✍️
- 博主:猫头虎
- 全网搜索关键词:猫头虎
- 作者微信号:Libin9iOak
- 作者公众号:猫头虎技术团队
- 更新日期:2025年03月12日
- 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能!
加入我们AI共创团队 🌐
- 猫头虎AI共创社群矩阵列表:
加入猫头虎的共创圈,一起探索编程世界的无限可能! 🚀
正文
1. Java概述
什么是Java?
Java是一种面向对象的编程语言,由Sun Microsystems(现为Oracle)于1995年推出。它设计之初的目标是“编写一次,到处运行”,意味着Java程序可以在任何平台上运行,只要该平台安装了Java虚拟机(JVM)。
Java的特点
- 平台无关性:Java程序可以在任何操作系统上运行,只要有对应的JVM。
- 面向对象:Java是面向对象的编程语言,支持封装、继承和多态。
- 内存管理:Java具有自动垃圾回收机制,减少了程序员管理内存的负担。
- 多线程支持:Java内置对多线程编程的支持。
- 丰富的API:Java提供了强大的标准库,包括网络、数据库、GUI编程等。
Java平台的组成
Java平台主要由以下两部分组成:
- Java虚拟机(JVM):负责执行Java字节码。
- Java类库(JRE):包括Java标准库,提供各种类和API,供开发人员使用。
Java开发工具
- JDK(Java Development Kit):Java开发工具包,包含JVM、JRE及开发工具(如编译器javac等)。
- IDE(集成开发环境):如IntelliJ IDEA、Eclipse、NetBeans等,提供代码编辑、调试、版本控制等功能。
2. Java开发环境
安装JDK
安装JDK是进行Java开发的基础步骤。你可以从Oracle官网或者OpenJDK官网下载对应的JDK版本进行安装。
配置环境变量
安装JDK后,需要配置环境变量来让系统知道JDK的位置。
-
Windows:
- 设置
JAVA_HOME
环境变量,指向JDK的安装路径。 - 在
Path
变量中添加n
。 JAVA_HOME \bi
- 设置
-
Linux/MacOS:
- 打开终端,编辑
~/.bash_profile
或~/.bashrc
文件。 - 添加
export JAVA_HOME=/path/to/jdk
和export PATH=$JAVA_HOME/bin:$PATH
。
- 打开终端,编辑
使用IDE
Java开发中,IDE是开发的利器,提供了很多便利的功能,比如代码提示、调试、版本控制等。常见的IDE包括:
- IntelliJ IDEA:功能强大,适用于所有Java开发。
- Eclipse:开源,支持Java及其他语言。
- NetBeans:由Oracle提供,适合开发Java SE和EE应用。
3. Java基础语法
数据类型
Java的数据类型可以分为两大类:
-
基本数据类型:
- 整数类型:
byte
、short
、int
、long
- 浮点数类型:
float
、double
- 字符类型:
char
- 布尔类型:
boolean
- 整数类型:
-
引用数据类型:
- 类、接口、数组等。
运算符
Java常用的运算符有:
- 算术运算符:
+
、-
、*
、/
、%
- 关系运算符:
==
、!=
、、
<
、>=
、<=
- 逻辑运算符:
、
||
、!
- 位运算符:
、
|
、^
、~
、<<
、>
- 赋值运算符:
=
、+=
、-=
、*=
、/=
、%=
- 其他运算符:
instanceof
、三元运算符?:
控制语句
-
条件语句:
if (condition) { // code } else { // code }
-
循环语句:
for (int i = 0; i < 10; i++) { // code } while (condition) { // code } do { // code } while (condition);
方法和函数
方法是执行特定任务的代码块,Java的方法定义格式如下:
returnType methodName(parameters) {
// method body
}
4. 面向对象编程(OOP)
类与对象
- 类(Class):类是对象的蓝图,用来描述对象的属性和行为。
- 对象(Object):对象是类的实例,通过
new
关键字创建。
class Car {
String color;
int speed;
void drive() {
// method implementation
}
}
Car car = new Car();
car.color = "Red";
car.speed = 120;
car.drive();
封装
封装是指将数据(属性)和操作数据的方法(行为)包装在一个类中,并隐藏其内部实现细节。通过访问修饰符(如private
、public
)来实现封装。
class Person {
private String name; // 私有属性
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
继承
继承是面向对象的一个重要特性,允许一个类继承另一个类的属性和方法。
class Animal {
void eat() {
System.out.println("Animal is eating");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog is barking");
}
}
Dog dog = new Dog();
dog.eat();
dog.bark();
多态
多态是指同一个方法调用不同的对象时,表现出不同的行为。Java通过方法重载和方法重写实现多态。
class Animal {
void sound() {
System.out.println("Animal sound");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Bark");
}
}
Animal animal = new Dog();
animal.sound(); // 输出: Bark
抽象类与接口
- 抽象类:不能被实例化,只能被继承,可以包含抽象方法(没有实现)和普通方法(有实现)。
abstract class Shape {
abstract void draw();
}
class Circle extends Shape {
void draw() {
System.out.println("Drawing Circle");
}
}
- 接口:只包含抽象方法,类实现接口时必须实现所有方法。
interface Animal {
void eat();
}
class Dog implements Animal {
public void eat() {
System.out.println("Dog is eating");
}
}
5. Java常用类库
String类
String类用于处理字符串,具有很多常用的方法,如length()
、substring()
、indexOf()
等。
String str = "Hello, World!";
int len = str.length(); // 获取字符串长度
String sub = str.substring(0, 5); // 获取子字符串
日期与时间处理(java.time)
Java 8引入了java.time
包,提供了更现代和更易用的日期和时间处理方式。
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime dateTime = LocalDateTime.now();
集合框架(List, Set, Map)
Java提供了丰富的集合类,如ArrayList
、HashSet
、HashMap
等,支持存储和操作对象集合。
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
Set<String> set = new HashSet<>();
set.add("Java");
set.add("Python");
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
输入输出(IO)流
Java的IO流处理分为字节流和字符流,常见的类有FileInputStream
、BufferedReader
、PrintWriter
等。
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line = reader.readLine();
reader.close();
6. 异常处理
异常的类型
Java中的异常分为两种类型:
- 检查异常:需要显式地捕获或声明的异常,如
IOException
。 - 运行时异常:程序运行时发生的异常,不强制捕获,如
NullPointerException
。
异常的捕获与抛出
使用try-catch
语句捕获异常,throw
语句抛出异常。
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Error: " + e.getMessage());
}
7. 多线程与并发编程
线程的创建与启动
Java提供了Thread
类和Runnable
接口来创建和启动线程。
class MyThread extends Thread {
public void run() {
System.out.println("Thread running");
}
}
MyThread thread = new MyThread();
thread.start();
同步机制(synchronized)
为了避免线程间的竞争条件,可以使用synchronized
关键字来保证线程安全。
synchronized (this) {
// thread-safe code
}
线程池
Java的ExecutorService
提供了线程池来管理线程。
ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(() -> {
System.out.println("Task executed");
});
并发集合与工具类
Java还提供了ConcurrentHashMap
、CopyOnWriteArrayList
等线程安全的集合,以及CountDownLatch
、CyclicBarrier
等工具类来简化并发编程。
8. JVM与内存管理
JVM架构
JVM负责执行字节码,管理内存、执行垃圾回收等。它包含以下几个主要部分:
- 类加载器:负责加载字节码。
- 执行引擎:负责执行字节码。
- 内存管理:负责堆、栈等内存区域的管理。
堆与栈
- 堆(Heap):存储对象实例和数组。
- 栈(Stack):存储方法调用和局部变量。
垃圾回收
JVM自动管理内存,通过垃圾回收机制回收不再使用的对象。
类加载机制
JVM通过类加载器加载字节码,并根据需要在运行时加载类。
9. Java性能优化
性能调优的方向
- 内存优化:减少内存泄漏、优化对象创建。
- CPU优化:减少不必要的计算、优化算法。
- 数据库优化:使用缓存、优化SQL查询。
10. Java设计模式
设计模式的定义与分类
设计模式是软件设计中的最佳实践,常见的设计模式包括:
- 创建型模式:单例模式、工厂模式、建造者模式等。
- 结构型模式:适配器模式、桥接模式、组合模式等。
- 行为型模式:观察者模式、策略模式、命令模式等。
常见设计模式
- 单例模式:确保一个类只有一个实例。
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
- 工厂模式:提供创建对象的接口。
interface Shape {
void draw();
}
class Circle implements Shape {
public void draw() {
System.out.println("Drawing Circle");
}
}
class ShapeFactory {
public Shape getShape(String shapeType) {
if (shapeType == null) return null;
if (shapeType.equalsIgnoreCase("CIRCLE")) {
return new Circle();
}
return null;
}
}
通过对以上Java基础知识的深入了解,可以帮助开发者在实际项目中更好地应用Java语言,提高编程效率和代码质量。
粉丝福利
👉 更多信息:有任何疑问或者需要进一步探讨的内容,欢迎点击文末名片获取更多信息。我是猫头虎,期待与您的交流! 🦉💬
联系我与版权声明 📩
- 联系方式:
- 微信: Libin9iOak
- 公众号: 猫头虎技术团队
- 版权声明:
本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问猫头虎的博客首页。
点击✨⬇️下方名片
⬇️✨,加入猫头虎AI共创社群,交流AI新时代变现的无限可能。一起探索科技的未来,共同成长。🚀
更多推荐
所有评论(0)