概述前面分析过ReentrantLock「JDK源码分析-ReentrantLock」,它是一种互斥的可重入锁,可用于处理并发场景下的线程安全问题。而很多时候会出现“读多写少”的情况,若用ReentrantLock会降低并发量,此时就比较适合ReentrantReadWriteLock出场了。ReentrantReadWriteLock是读写锁,它维护了一对锁:一个读锁,一个写锁。读锁之间是共享的
分类:
其他好文 时间:
2020-08-31 13:08:51
阅读次数:
36
一、进程和线程 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。 线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。 多进程是指操作 ...
分类:
编程语言 时间:
2020-08-31 11:54:36
阅读次数:
42
随着数据利用率的提高和数据共享行为变得频繁,对于大数据平台应用开发来说,如何进行数据交换是每个平台组件都绕不过去的问题。目前大数据平台应用开发的痛点围绕在如下五点: 1、随着大数据平台数据来源的增多,以及大数据集群本身之间的隔离,数据彼此之间缺少稳定安全的传输交换通道。 2、不同业务数据的存储方式不一样,缺少统一标准的数据交换协议。 3、数据所处的网络环境不一样,没有便捷的平台管理工具。
分类:
其他好文 时间:
2020-08-29 15:25:50
阅读次数:
63
配置说明 介绍配置之前,先了解下canal的配置加载方式: Spring配置 spring配置的原理是将整个配置抽象为两部分: xxxx-instance.xml (canal组件的配置定义,可以在多个instance配置中共享) xxxx.properties (每个instance通道都有各自一 ...
分类:
其他好文 时间:
2020-08-29 15:17:41
阅读次数:
46
近年来,企业数据中心架构发生了巨大的变化,使其能够在公共,私有和混合云环境中有效运行大规模,分布式,多层应用程序。为了支持并最终确保关键业务应用程序和服务的交付,已经出现了一种弹性数据中心架构和敏捷开发模型,可以在整个多云环境中共享工作负载,数据和资源。
分类:
其他好文 时间:
2020-08-28 14:54:35
阅读次数:
48
因使用的的对象不同,云盘分为了企业云盘与个人云盘。网盘普遍都具备文件存储,文件共享等功能。那么个人云盘,和企业云盘的区别是什么呢?一、个人网盘:个人网络磁盘的功能设计考虑了一个人的存储和共享方案。基本上所有个人网络磁盘都是公共云架构,并且经常提供免费版本,但是存储空间和传输速度受到限制,并且收费套餐通常基于时间,存储空间和传输速度这三个范围。个人网络磁盘的功能特征:1.通过外部链接与您认识或不认识
分类:
其他好文 时间:
2020-08-28 11:42:45
阅读次数:
69
内存模型 方法区(Method Area):方法区是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。当方法区无法满足内存分配需求时,将抛出OutOfMemoryError 异常。方法区里存放着类的版本,字段,方法,接口和常量池。常量池里存储着字 ...
分类:
其他好文 时间:
2020-08-27 17:11:42
阅读次数:
67
系统中的进程之间会共享CPU和主存,为了有效的管理存储器,减少出错(某个进程可能会对另一个进程使用的存储器进行写操作),提出了虚拟存储器(VM)的概念。 虚拟存储器为每一个进程提供了一种私有的且一致的地址空间,并且通过某种机制。为系统提供了以下功能: (1) 在磁盘上划出一块地址空间,将主存看成这块 ...
分类:
其他好文 时间:
2020-08-27 13:02:32
阅读次数:
52
当多线程访问共享可变数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要线程封闭出场了。数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的技术称为线程封闭。本文主要介绍线程封闭中的其中一种体现:ThreadLocal,将会介绍什么是ThreadLocal;从ThreadLocal源码角度分析,最后介绍ThreadLocal的应用场景。什么
分类:
其他好文 时间:
2020-08-26 18:39:20
阅读次数:
42