编程语言
首页 > 编程语言> > Java知识点巩固

Java知识点巩固

作者:互联网

一、Java 基础知识

1、Object 类相关方法

2、基本数据类型

3、序列化

Java 对象实现序列化要实现 Serializable 接口。

4、String、StringBuffer、StringBuilder

5、重载与重写

6、final

7、反射

8、JDK 动态代理

9、Java IO

二、Java 集合框架

1、List(线性结构)

2、Map(K,V 对)

3、Set(唯一值)

三、Java 多线程

1、synchronized

public class Singleton {
private static volatile Singleton instance = null;

private Singleton(){}

public static Singleton getInstance(){
if (null == instance) {
    synchronized (Singleton.class) {
        if (null == instance) {
        instance = new Singleton();
        }
    }
  }
    return instance;
    }

2、Lock

3、volatile

image.png

4、线程的五种状态

1). New

一个新的线程被创建,还没开始运行。

2). Runnable

一个线程准备就绪,随时可以运行的时候就进入了 Runnable 状态。

Runnable 状态可以是实际正在运行的线程,也可以是随时可以运行的线程。

多线程环境下,每个线程都会被分配一个固定长度的 CPU 计算时间,每个线程运行一会儿就会停止让其他线程运行,这样才能让每个线程公平的运行。这些等待 CPU 和正在运行的线程就处于 Runnable 状态。

3). Blocked

例如一个线程在等待 I/O 资源,或者它要访问的被保护代码已经被其他线程锁住了,那么它就在阻塞 Blocked 状态,这个线程所需的资源到位后就转入 Runnable 状态。

4). Waiting(无限期等待)

如果一个线程在等待其他线程的唤醒,那么它就处于 Waiting 状态。以下方法会让线程进入等待状态:

5). Timed Waiting(有期限等待)

无需等待被其他线程显示唤醒,在一定时间后有系统自动唤醒。

以下方法会让线程进入有限等待状态:

6). Terminated

一个线程正常执行完毕,或者意外失败,那么就结束了。

5、 wait() 与 sleep()

6、 yield()

7、 join()

9、线程使用方式

10、Runnable 和 Callable 比较

  1. 方法签名不同, void Runnable.run() , V Callable.call() throws Exception
  2. 是否允许有返回值, Callable 允许有返回值
  3. 是否允许抛出异常, Callable 允许抛出异常。
  4. 提交任务方式, Callable 使用 Future<T> submit(Callable<T> task) 返回 Future 对象,调用其 get() 方法可以获得返回值, Runnable 使用 void execute(Runnable command)

11、hapens-before

如果一个操作 happens-before 另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个操作的执行顺序排在第二个操作之前。

12、ThreadLocal

8、线程池

1)、分类
2)、线程池的几个重要参数

标签:知识点,队列,巩固,Java,标记,对象,索引,线程,方法
来源: https://blog.csdn.net/m0_50654102/article/details/115119001