- 博客(8)
- 收藏
- 关注
翻译 JVM运行时数据区域
JVM——运行时数据区域原文:Run-Time Data AreasJava虚拟机定义了在程序执行期间使用的多个运行时数据区域。其中一些数据区域是在Java虚拟机启动时创建的,只有当Java虚拟机退出时才会销毁。其他数据区域是每个线程私有的。线程私有的数据区域在线程创建时创建,在线程退出时销毁。程序计数器Java虚拟机可以同时支持多个线程执行。每个线程拥有自己的程序计数器。在任何时刻,...
2019-09-13 19:48:51
128
原创 MySQL逻辑架构
MySQL逻辑架构MySQL逻辑架构分为三层:连接层服务层存储引擎层连接层连接层负责连接处理、授权认证、安全等。每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或CPU中运行。服务器会负责缓存线程(线程池),因此不需要为每个新建的连接创建或销毁线程。客户端连接到服务器时,服务器需要对其进行认证。认证基于...
2019-09-09 23:11:36
122
原创 优雅关机解决思路
前段时间,线上一个项目关闭时频繁抛出org.springframework.beans.factory.BeanCreationNotAllowedException。收集报错日志,大概分为以下两类:由dubbo调用触发由MQ消费者触发观察以上两类错误日志发现都是在获取一个名为sentinelDaoAspect的Bean时Spring容器抛出了异常。SentinelDaoAspect...
2019-08-10 20:18:48
849
翻译 响应式编程
响应式编程本文是对Reactor官方文档Introduction to Reactive Programming部分内容的翻译,希望对理解响应式编程的概念和原理有所帮助。响应式编程是一种异步编程范式,它关注数据流和变化的传播。这意味着可以通过使用编程语言轻松地表示静态(例如数组)和动态(例如事件发射器)数据流。Reactive Streams为基于JVM的响应库提供了规范,它定义了一组...
2019-05-03 11:45:11
246
原创 线程封闭与ThreadLocal
线程封闭与ThreadLocal多线程访问共享可变数据时,涉及到线程间数据同步问题。然而,并不是所有时候都需要共享数据,所以,线程封闭的概念就提出来了。通过将数据封闭在线程中而避免使用同步的技术称为线程封闭。线程封闭的具体体现有:局部变量ThreadLocal局部变量局部变量位于执行线程的栈中,其他线程无法访问这个栈。线程封闭是局部变量的固有属性。ThreadLocaljav...
2019-05-02 18:12:55
241
原创 线程通信的方法
线程通信的方法程序在使用多线程执行任务时,经常需要线程之间协同工作。此时,我们需要了解线程通信的手段。线程通信大致分为以下四类:文件共享网络共享共享变量JDK提供的线程协调API本文主要研究第四类,如何使用JDK提供的API正确地阻塞、唤醒目标线程。Thread#suspend()和Thread#resume()Thread#suspend():挂起目标线程不再继续执行,直到...
2019-05-01 17:54:48
574
原创 中止线程的方法
中止线程的方法如何中止一个正在执行的线程?Thread#stop()java.lang.Thread#stop:强制线程停止执行。从JDK1.2开始,该API已被弃用,因为它可能导致线程安全问题。Thread#stop()方法通过抛出java.lang.ThreadDeath 异常来达到中止线程的目的。这会使线程释放它持的有全部锁,如果之前被锁保护的对象已经处于不一致状态,那么这些状态将...
2019-04-30 21:15:46
542
原创 线程状态
线程状态程序运行时,代码是由一个或多个线程去执行的。线程在执行过程中,状态是一成不变的吗?答案是No。线程的6种状态既然线程的状态是会变化的,那么我们首先要了解线程有哪些状态。在java.lang.Thread类中,定义了线程的6个状态:NEW线程已创建,尚未启动。RUNNABLE线程正在执行;或线程可执行,但是等待来自操作系统的其他资源,如CPU。BLOCKED线...
2019-04-30 21:14:31
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人