Java
文章平均质量分 94
路比船长
这个作者很懒,什么都没留下…
展开
-
Java 基础
java基础原创 2022-07-14 16:22:06 · 343 阅读 · 1 评论 -
Java线程安全与各种锁
为了便于自己阅读理解,本文整理自《深入理解Java虚拟机》第3版。同步同步是指在多个线程并发访问共享数据时,保证共享数据在同一时刻只被一条线程使用。同步的手段有两种,一种是互斥同步,另一种是非阻塞同步。1. 互斥同步互斥是实现同步的一种手段,临界区、互斥量、信号量都是常见的互斥实现方式。互斥同步是一种悲观的并发策略,它总是认为只要不去做正确的同步措施(如加锁),就肯定会出现问题。乐观锁互斥同步实现的锁,就是悲观锁。Synchronized在Java里面,最基本的互斥同步手段就是synch原创 2020-10-14 20:36:06 · 149 阅读 · 2 评论 -
理解volatile关键字
理解volatile关键字为了便于自己阅读理解,本文整理自《深入理解Java虚拟机》第3版。Java内存模型理解volatile关键字之前需要先了解下Java的内存模型。主内存:Java虚拟机规定所有的变量(不是程序中的变量,它包括了实例字段、静态字段和构成数组对象的元素,但不包括局部变量和方法参数,因为后者是线程私有的)都存储在主内存。工作内存:Java虚拟机中每个线程都有自己的工作内存,它保存了被线程使用的变量的主内存副本,线程对变量的读写操作都必须在工作内存中进行,不能直接读写主内存中的原创 2020-10-12 20:38:56 · 118 阅读 · 0 评论 -
自己动手造一个 RxJava(一)—— 理解临时任务对象
自己动手造一个RxJava序言最近在公司做一个数据同步需求的时候,碰到了这样的场景。 客户端从服务器拉取用户账号数据,拿到数据后进行处理并对数据库进行更新操作,最后显示到UI上。我们知道网络操作一般是异步处理的,在回调中拿到数据并进行处理。为了防止主线程阻塞,数据库的操作往往也会放到子线程中去执行,所以同样需要一个回调来判断数据库操作是否成功,最后由于安卓不允许在子线...原创 2018-08-05 13:52:14 · 591 阅读 · 0 评论 -
自己动手造一个 RxJava(二)—— 事件的发送、接收与映射
目录自己动手造一个 RxJava 序言目录 1.理解临时任务对象 场景 同步 异步 泛型回调 临时任务对象 组装任务 改装流水线 简单的映射 2.事件的发送与接收 RxJava 的发送和接收原理事件发送接收操作符 just 的实现 3.映射 4.线程调度 subscribeOn 的实现observeOn 的实现利用线程池进行调度关闭线程池结...原创 2018-08-06 19:09:37 · 1120 阅读 · 0 评论 -
自己动手造一个 RxJava(三)—— 线程调度
目录自己动手造一个 RxJava 序言目录 1.理解临时任务对象 场景 同步 异步 泛型回调 临时任务对象 组装任务 改装流水线 简单的映射 2.事件的发送与接收 RxJava 的发送和接收原理事件发送接收操作符 just 的实现 3.映射 4.线程调度 subscribeOn 的实现observeOn 的实现利用线程池进行调度关闭线程池结...原创 2018-08-06 19:17:29 · 856 阅读 · 0 评论