摘要:
死锁 概念 当线程Thread 0持有锁Lock1,Thread 1持有锁Lock2,此时Thread 0申请Lock2锁的使用权,Thread 1申请Lock1锁的使用权,Thread 0和Thread 1都在无限地等待锁的使用权。这样就造成了死锁。 死锁是主要由于设计的问题。一旦出现死锁,死锁的 阅读全文
摘要:
volatile volatile是一种轻量同步机制。请看例子 MyThread25类 输出结果如下 为什么程序始终不结束?说明mt.setRunning(false);没有起作用。 这里我们说下Java内存模型(JMM) java虚拟机有自己的内存模型(Java Memory Model,JMM) 阅读全文
摘要:
多线程安全 脏读:多个线程对同一个对象的实例变量进行修改后访问,导致读到的数据是被修改过的。 实例 ThreadDomain16类 MyThread16_0类 MyThread16_1类 启动MyThread16_0 和MyThread16_1 线程 main方法 输出结果如下 理论上应该输出a n 阅读全文
摘要:
永 火 必 右 有 无 飞 耳 之 乎 者 也 哉 不 方 为 岂 君 臣 日 月 阅读全文
摘要:
博客园上传的图片,在github上无法显示。 在github项目下建立img文件夹,放上图片 两种方式 项目绝对路径 例如: "https://raw.githubusercontent.com/cjy513203427/cjy513203427.github.io/master/img/2019 阅读全文
摘要:
Thread类的实例方法 start() start方法内部会调用方法start方法启动一个线程,该线程返回start方法,同时Java虚拟机调用native start0启动另一个线程调用run方法,此时有两个线程并行执行; 我们来分析下start0方法,start0到底是如何调用run方法的 T 阅读全文
摘要:
1.线程和进程 1.1 进程 进程是操作系统的概念,我们运行的一个TIM.exe就是一个进程。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设 阅读全文
摘要:
1.没有操作数的指令 指令长度为1个字节 2.操作数只涉及寄存器的的指令 指令长度为2个字节 如:mov bx,ax 3.操作数涉及内存地址的指令 指令长度为3个字节 如:mov ax,ds:[bx+si+idata] 4.操作数涉及立即数的指令 指令长度为:寄存器类型+1 8位寄存器,寄存器类型= 阅读全文
摘要:
1.DataX介绍 DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源 阅读全文
摘要:
1 基础知识 1.1 存储单元 一个存储单元存储一个字节 1.2 地址总线 一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方个内存单元。 地址总线的宽度决定了CPU的寻址能力。 1.3 数据总线 数据总线的宽度决定了CPU和外界的数据传送速度。8根数 阅读全文