摘要:
前言 对于以下两种场景: 1.子线程执行完毕之后,通知主线程处理某些逻辑的场景。 2.线程A执行某个操作之后通知线程B执行某些操作。 这两种场景涉及到线程间通信,可以通过以下几种方式来实现。 1)等待通知机制 两个线程通过对同一对象调用等待 wait() 和通知 notify() 方法来进行通讯。 阅读全文
摘要:
本文目录: 一、基本概念 二、volatile的基本原理 一、基本概念 volatile是一个类型修饰符。当一个变量定义为volatile之后,将具备两种特性: 1.保证此变量对所有的线程的可见性,这里的“可见性”。可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。当一个线程修改 阅读全文
摘要:
一、MySQL基础 1、数据库(database): 保存有组织的数据的容器(通常是一个文件或一组文件)。 2、表(table) :某种特定类型数据的结构化清单。 3、列(column):表中的一个字段。所有表都是由一个或多个列组成的。 4、行(row) 表中的一个记录。 5、主键(primary 阅读全文
摘要:
http://dubbo.apache.org/zh-cn/docs/dev/implementation.html https://www.cnblogs.com/tiancai/p/9573912.html 1.背景 在互联网的发展过程中,在以前,我们只需要一个服务器,将程序全部打包好就可以,但 阅读全文
摘要:
进程vs线程: 进程:每个程序被运行加载到内存之后,都会被操作系统作为一个进程,进程是处于运行过程中的程序,是具有独立功能,被操作系统进行资源分配和调度的独立单元。 线程:一个进程里面可以拥有多个线程,线程拥有自己的堆栈,程序计数器和自己的局部变量,但是不拥有系统资源,多个线程共享进程的系统资源。 阅读全文
摘要:
Lambda表达式 Predicate操作 Predicate<T>接口 返回一个boolean类型的结果。 Java8为Collection集合新增一个removeIf(Predicate filter)方法,该方法将会批量删除符合filter条件的元素。该方法需要Predicate对象作为参数, 阅读全文
摘要:
Java集合类 Java集合大致分为Set,List,Queue和Map四类。Set代表无顺、不可重复的结合;List代表有序、重复的集合;而Map 代表ket-value具有映射关系的集合,Queue代表一种队列集合的实现。 Java集合类:java.util.*包 Java的集合类主要是由两个接 阅读全文
摘要:
泛型 泛型:在定义类,接口,方法时使用类型形参,这个类型形参将在声明变量、创建对象、调用方法时动态地指定(即传入实际的类型参数,也可以称为类型实参)。 在定义的接口,类中声明形参,类型形参在整个接口,类里可当成类型使用。 List<String> l1 = new ArrayList<>(); Li 阅读全文