摘要: 1、介绍 1)单例模式定义: 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spool 阅读全文
posted @ 2020-10-29 16:49 二十二画生的执著 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1、什么是代理 代理是一种设计模式,它的核心思想,是将对目标的访问转移到代理对象上。这样做的好处就是,目标对象在不改变代码的情况下,可以通过代理对象加一些额外的功能。这是一种编程思想,在不改变原有代码的情况下,通过代理增加一些扩展功能。 代理过程如图所示,用户访问代理对象,代理对象通过访问目标对象, 阅读全文
posted @ 2020-10-26 11:53 二十二画生的执著 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1 package rbtree; 2 3 public class RBTree<K extends Comparable<K>, V> { 4 private static final boolean RED = true; 5 private static final boolean BLAC 阅读全文
posted @ 2020-10-13 19:33 二十二画生的执著 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一、线程池的介绍 例子:10年前单核CPU电脑,假的多线程,像马戏团小丑玩多个球,CPU需要来回切换。现在是多核电脑,多个线程各自跑在独立的CPU上,不用切换效率高。 线程池的优势:线程池做的工作只要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大 阅读全文
posted @ 2020-10-10 18:16 二十二画生的执著 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一、阻塞队列: 阻塞:必须要阻塞/不得不阻塞 阻塞队列是一个队列,在数据结构中起的作用如下图: 线程1往阻塞队列里添加元素,线程2从阻塞队列里移除元素 当队列是空的,从队列中获取元素的操作将会被阻塞当队列是满的,从队列中添加元素的操作将会被阻塞 试图从空的队列中获取元素的线程将会被阻塞,直到其他线程 阅读全文
posted @ 2020-10-10 18:06 二十二画生的执著 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 一、与runnable接口对比 1 创建新类MyThread实现runnable接口 2 class MyThread implements Runnable{ 3 @Override 4 public void run() { 5 6 } 7 } 8 新类MyThread2实现callable接口 阅读全文
posted @ 2020-10-08 15:54 二十二画生的执著 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 一、ArrayList线程不安全 如下代码演示: 1 package com.study.nosafedemo; 2 3 import java.util.*; 4 5 public class NoSafeDemo { 6 public static void main(String[] args 阅读全文
posted @ 2020-10-08 15:51 二十二画生的执著 阅读(532) 评论(0) 推荐(0) 编辑
摘要: 1、常规版的生产者与消费者(synchronized,wait,notify) 1 package com.study.thread; 2 3 public class TestThread919 { 4 public static void main(String[] args) { 5 AirC 阅读全文
posted @ 2020-09-19 14:54 二十二画生的执著 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1、什么是lambda? Lambda 是一个匿名函数,我们可以把 Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。Lambda 表达式在Java 语言中引入了一个新的语法元素和操作 阅读全文
posted @ 2020-09-13 20:07 二十二画生的执著 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 1、线程状态 Thread.State public enum State { /** * Thread state for a thread which has not yet started. */ NEW,(新建) /** * Thread state for a runnable threa 阅读全文
posted @ 2020-09-13 18:37 二十二画生的执著 阅读(101) 评论(0) 推荐(0) 编辑