JAVA-Thread-Base-4

Java 线程基础 4

1 线程间的通信

1.1 等待/通知机制

1.1.1 什么是等待通知机制

在单线程编程中,要执行的操作需要满足一定的条件才能执行,可以把这个操作放在 if 语句块中.

在多线程编程中,可能 A 线程的条件没有满足只是暂时的, 稍后其他的线程 B 可能会更新条件使得 A 线程的条件得到满足. 可以将 A 线程暂停,直到它的条件得到满足后再将 A 线程唤醒.它的伪代码:

atomics{ //原子操作
    while( 条件不成立 ){
        等待
    }
    当前线程被唤醒条件满足后,继续执行下面的操作
}

JAVA-Thread-Base-3

Java 线程基础 3

1 线程同步

1.1 线程同步机制简介

线程同步机制是一套用于协调线程之间的数据访问的机制.该机制可以保障线程安全.

Java 平台提供的线程同步机制包括: 锁, volatile 关键字, final 关键字,static 关键字,以及相关的 API,如 Object.wait()/Object.notify()等

JAVA-Thread-Base-2

Java 线程基础 2

1 线程安全问题

非线程安全主要是指多个线程对同一个对象的实例变量进行操作时,会出现值被更改,值不同步的情况.
线程安全问题表现为三个方面: 原子性,可见性和有序性

JAVA-Thread-Base-1

Java 线程基础 1

1 线程概述

1.1 线程相关概念

进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是操作系统进行资源分配与调度的基本单位.
可以把进程简单的理解为正在操作系统中运行的一个程序.

JAVA-Actual-Combat-5

Java实战 (Jwt令牌生成) 5

简介

JWT (JSON Web Token) 是一个开放标准[2],它定义了一种以紧凑和自包含的方法,用于在双方之间安全地传输编码为 JSON 对象的信息。

因此,简单来说,它是 JSON 格式的加密字符串,其中包含敏感信息,它使我们能够验证不同服务间的发送者。

JAVA-Actual-Combat-4

Java实战 (Mybtis-Plus基础设置) 4

简介

1.在我们对数据库进行增删改查的时候,往往需要按照一定的规范。就比如阿里的规范,数据库中的表需要有 gmt_Create、gmt_Modified 等字段,那么我们在编写实体类的时候会有大量的重复代码,这时候我们需要一个基础的实体类,让我们后面要定义的实体类都继承该类,使得我们实体类代码减少。往往这些字段需要程序自动维护,Mybatis-Plus也提供了该功能。

2.在一些情况下,我们需要伪删除,Mybatis-Plus已经提供了该功能,我们只需要少许的配置即可。

3.Mybatis-Plus支持分页功能,我们只需要在配置类中将该功能打开即可。

4.Mybatis-Plus可以读取数据库表信息,自动生成代码骨架减少开发时间

JAVA-Actual-Combat-3

Java实战 (全局异常处理) 3

简介

开发过程中异常处理是比不可少的,所以写一个全局异常是一件势在必行的一件事情,全局异常往往需要配置好全局的枚举类型的返回值(全局的枚举类型配置,请看前面的文章)。

JAVA-Actual-Combat-2

Java实战 (Swagger配置) 2

简介

在前后端分离的情况下,需要一个良好的接口文档,使前后端不需要太多的沟通就能按照接口文档进行工作的进行。而Swagger就是一个非常好的一个接口文档生成工具,他能够使后端开发人员不需要编写页面,只需要在对应的类上配置好注解就能够自动生成一个Swagger接口文档页面。

JAVA-Actual-Combat-1

Java实战 (前后端返回类型) 1

简介

在前后端分离式的开发环境下,前后端的交互大多使用json格式的数据来交互。那么这个json格式的数据需要有一个统一的枚举工具类来实现,使后端能够轻易的将程序运行过程中的一些信息传递给前端开发人员。

|