多线程
文章平均质量分 81
cleancp
飞得起来,应该飞得起来。
展开
-
JAVA(3)- 线程上下文类加载器
JAVA(3)- 线程上下文类加载器前言概念1、为什么需要线程上下文类加载器2、数据库驱动初始化源码分析3、总结前言线程上下文类加载器扩展:概念SPI:Service Provider Interface 、由JDK定义的一套标准接口,方便扩展各个厂商的不同实现1、为什么需要线程上下文类加载器JDK核心库中提供了很多SPI(Service Provider Interface),常见的SPI包括JDBC、JCE、JNDI、JAXP、和JBI等、JDK只规定了这些接口之间的逻辑关系,但原创 2021-03-09 18:29:37 · 174 阅读 · 0 评论 -
多线程(8)- 深入volatile关键字
多线程(8)- 深入volatile关键字前言概念1、并发编程1.1原子性前言volatile关键字扩展:概念1、并发编程1.1原子性在一次的操作或者多次操作中,要么所有操作全部都起到执行,要么所有操作都不执行。...原创 2021-03-09 18:26:35 · 200 阅读 · 0 评论 -
多线程(7)- volatile关键字
多线程(7)- volatile关键字前言概念1、初识volatile2、CPU Cache模型CPU Cache交互2、CPU缓存一致性问题4、Java内存模型JMM(Java Memory Mode)前言volatile关键字扩展:概念1、初识volatilevolatile关键字只能修饰类变量和实例变量、对于方法参数、局部变量、以及实例常量、类常量都不能进行修饰。一段代码public class VolatileFoo { private static f原创 2021-03-09 18:26:11 · 103 阅读 · 0 评论 -
JAVA(2)- JVM类加载器
JAVA(2)- JVM类加载器前言概念1、JVM内置三大类加载器1.1根类加载器介绍1.2扩展类夹杂器1.3系统类加载器2、自定义类加载器3、双亲委托机制概念4、破坏双亲委托机制5、类加载器5.1类加载器命名空间5.2类加载器运行时包5.3初始化类加载器5.4类的卸载6、总结前言JVM类加载器扩展:概念JVM: Java虚拟机。1、JVM内置三大类加载器1.1根类加载器介绍Bootstarp类加载器:C++编写,负责虚拟机核心类库的加载,有加载整个java.lang包可通原创 2021-03-07 14:07:40 · 81 阅读 · 0 评论 -
JAVA(1) - 类的加载过程
JAVA - 类加载前言概念1、类加载简介加载连接初始化类的主动使用与被动使用主动使用被动使用2、加载阶段3、连接阶段3.1验证3.2准备3.3解析在常量池中寻找类、接口、字段、和方法的符号引用(助记符),并将这些符号引用转换为直接引用的过程。4、类的初始化阶段4.1 `()`方法5、输出前言类加载流程扩展:概念符号/直接引用:能否直接使用#https://www.zhihu.com/question/30300585/answer/51335493带有类型(tag) / 结构(符原创 2021-03-06 22:07:42 · 89 阅读 · 0 评论 -
多线程(6)- Hook线程与线程异常捕获
多线程(6)- 线程异常前言概念1、UncaughtExceptionHandlerAPIdispatchUncaughtException-异常回调2、获取线程运行时异常3、异常捕获机制Thread捕获机制ThreadGroup异常捕获机制异常出现uncaught调用流程:Thread -> ThreadGroup -> MainGroup -> SystemGroup ->System.err4、注入钩子线程防止程序重复启动前言线程异常扩展:概念Uncau原创 2021-03-01 10:45:57 · 325 阅读 · 2 评论 -
多线程(5)- 线程组
多线程(5)- 线程组前言概念1、线程组的创建2、线程与线程组的复制3、线程组API4、interrupt5、destory6、守护ThreadGroup前言线程组扩展:概念线程组: 是一个管理线程的组织,提供多个API对线程组操作。1、线程组的创建构造//指定名称创建线程组public ThreadGroup(String name) { this(Thread.currentThread().getThreadGroup(), name); }原创 2021-03-01 10:45:42 · 101 阅读 · 1 评论 -
多线程(4)- 线程间通信
多线程(4)- 线程间通信前言概念1、同步阻塞与异步非阻塞2、单线程间通信2.1 Object.wait2.2 Object.notify2.3 wait、notify注意事项2.4 wait sleep区别3、多线程间通信4、自定义显示锁多个线程竞争锁锁中断能力获取锁超时前言同步阻塞与异步非阻塞、单线程通信,多线程通信扩展:概念JVM: Java虚拟机。1、同步阻塞与异步非阻塞同步阻塞:每个请求Event过来同步调用方法,执行一系列业务操作,最后返回结果。客户等待时间长系原创 2021-03-01 10:45:26 · 120 阅读 · 0 评论 -
多线程(3)- 线程同步
多线程(3)- 线程同步前言概念1、数据不一致问题2、synchronizedmonitor使用synchronized注意事项死锁原因,如何诊断前言Another-Redis-DesktopManager主要包括线程API方法使用及说明扩展:概念共享资源:多个线程对用一个资源进行访问(读写操作),这个资源就是共享资源。数据/资源同步:如何保证多个线程访问的共享资源数据是一致的。1、数据不一致问题public class InconsistentDataProblem {原创 2021-03-01 10:45:12 · 120 阅读 · 3 评论 -
多线程(2)- 线程API
多线程(2)- 线程API前言概念1、API1.1、sleep1.2、yield1.3、setPriority1.4、interrupt1.5、join1.6、线程正常结束前言Another-Redis-DesktopManager主要包括线程API方法使用及说明扩展:概念进程: 计算机的一个任务就是一个进程。线程:进程的最下执行单元,每个进程至少要有一个线程是在运行中。1、API1.1、sleep不会放弃monitor锁的所有权TimeUnit.sleep 代替 Thre原创 2021-03-01 10:44:30 · 62 阅读 · 0 评论 -
多线程(1)- 认识线程
多线程(1)- 认识线程前言概念1、线程的创建1.1 Thread类1.2 实现Runnable1.3 使用Callable2、认识线程的5种状态3、前言Another-Redis-DesktopManager主要包括线程概念,线程状态扩展:概念进程: 计算机的一个任务就是一个进程。线程:进程的最下执行单元,每个进程至少要有一个线程是在运行中。程序计数器:指向正在执行的指令指针局部变量表:维护传递过来的变量信息线程各自的生命周期当启动了一个Java虚拟机(JVM)时,从操作系原创 2021-03-01 10:44:14 · 58 阅读 · 0 评论