有人说RxJava非常好用,那么,它究竟好用在哪里?今天来具体分析下。
首先,先来阐述RxJava到底是什么,RxJava官方的解释是:“a library for composing asynchronous and event-based programs using observable sequences for the Java VM”,其核心就是“asynchronous”这个词,直白            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-11 15:26:34
                            
                                47阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录RxJava简单介绍文章目的环境搭建和代码示例分析subscribeOn(Schedulers.io())Schedulers.io()subscribeOn()总结 RxJava简单介绍RxJava现在几乎每个Android项目中都有它的身影,RxJava是使用了Rx(ReactiveX)函数库的语言库,Rx是一个函数库,让开发者可以利用可观察序列和LINQ风格查询操作符来编写异步和基于事            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 20:04:12
                            
                                91阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言通过前一篇的RxJava2 是如何实现线程切换的 (上)我们已经知道了在RxJava中,subscribeOn 将上游线程切换到指定的子线程是如何实现的。这里就接着来看,observeOn 是如何将下游线程切换到指定线程的。RxJava - subscribeOn这里可以通过UML图简单回顾一下subscribeOn的原理。  通过 subscribeOn 我们完成了以下操作:创建了一个 Ob            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-25 21:11:11
                            
                                77阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言已经使用rxjava两个月了,觉得rxjava特别好用,爱不释手。本文目的是通过几百行的代码,帮助大家理解rxjava中的链式调用,操作符,线程切换是如何实现的。如果有写的不对的地方欢迎在评论区留言,如果觉得写的可以,请点赞,关注,谢谢。代码链接: github
目录:RxJava编程思想1-(实现简易版Rxjava,如何基本功能和链式调用?)RxJava编程思想2-(实现简易版Rxjava,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-22 16:17:38
                            
                                33阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在之前的几篇博客中,我编写了一篇有关Rxjava学习笔记的,还有一个是RxJava使用示例(一): 实现Rxbus代替eventbus(这篇博文其实还不算完善,因为没有对被观察者发出的时间进行一个筛选,一次发送所有订阅者都会收到,这样不太好,可以再新加一个筛选器,等以后有空或者是遇到的时候再来改一改,现在不急)。之前在写那边Rxjava学习笔记的时候,就突出了一点是只涉及使用,不涉及原理,现在就对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-19 18:17:14
                            
                                10阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            RxJava的整个流程分为三个步骤 从上到下创建任务链,这里没有涉及线程调度。默认执行在当前线程,在这里也就是主线程。自下向上逆向订阅,这个过程subscribeOn起作用,observeOn不起切换线程作用。从上到下执行,类似map中的代码,这时候observeOn起切换线程作用。也是为什么subscribeOn只有第一次起作用,observeOn每次都起作用。 Q1:为什么            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-20 09:03:41
                            
                                49阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。本文主要讲解的是: 线程控制(也称为调度 / 切换),即讲解功能性操作符中的:subscribeOn() & observeOn()目录1. RxJava线程控制(调度 / 切换)的作用是什么?指定 被观察者 (Observable) / 观察者(Observer) 的工            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-27 10:50:06
                            
                                233阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RxJava在项目开发中用得还是比较多的,它能将复杂的嵌套调用转为链式调用,减轻代码的复杂性,方便于代码的后期维护工作。用得多了,自然想看下内部的实现原理,毕竟这么牛逼的框架,其内部的实现思想也是值得学习的,再者之前面试问到了RxJava的原理。所以这里就来记录下(代码基于2.x),也方便后续复习。基本使用Observable.just("1")
    .subscribe(object : O            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 13:10:15
                            
                                340阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RxJava简介RxJava是现在大火的一个异步框架,他代码简洁好懂,功能强大,扩展性高,维护难度小。RxJava最吸引人的功能就是它的线程切换功能。在Android开发中,UI组件只能在主线程中进行,但是主线程中执行太复杂的逻辑又会导致APP卡顿,因此灵活的线程切换是一个安卓开发工程师的必会技能。RxJava提供了优秀的线程切换能力,能在不同的线程执行规定的逻辑代码。这次就来聊一聊RxJava是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-01 20:30:00
                            
                                106阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言网上很多讲rxjava入门的文章,讲了什么是rxjava以及一些高大上的操作符,但是真正在项目中使用的场景很少讲,那本篇文章主要讲一下rxjava在实际项目中的应用场景,rxjava结合rxbinding在实际项目中的使用姿势了解一下。因为rxbind2 本身依赖rxjava2,所以项目中引入rxbinding就可以了,rxjava2就不用引入了。implementation 'com.jak            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-16 18:54:53
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            多线程之--2种办法让HashMap线程安全多线程之--synchronized 和reentrantlock的优缺点多线程之--2种JAVA乐观锁的比较( NonfairSync VS. FairSync)  HashMap不是线程安全的,往往在写程序时需要通过一些方法来回避.其实JDK原生的提供了2种方法让HashMap支持线程安全. 方法一:通过Collecti            
                
         
            
            
            
            # Java Map 是线程安全的吗?
在 Java 中,`Map` 是一个重要的接口,它提供了一系列操作键值对的方法。随着多线程编程的普及,是否选择线程安全的 `Map` 实现成为了开发者面临的一个重要问题。本文将探讨 Java 中 `Map` 是否线程安全的问题,并提供相关代码示例。
## 1. Java 中的 Map 接口
`Map` 接口是不允许重复键的集合,它的主要实现类包括:            
                
         
            
            
            
            ASP.NET MVC是美丽的,但现实却是臃肿的。 Razor是"DRY"的,但真的足够吗?不如试试更"DRY"的 MVC - nodejs+express    express正如ASP.NET MVC 在作为.net平台下最佳的 Mvc框架的地位一样,express 在 node.js 环境也有着相同的重要性。在百度上 "nodejs express" 会跑出            
                
         
            
            
            
            在不指定线程的情况下, RxJava 遵循的是线程不变的原则,即:在哪个线程调用 subscribe(),就在哪个线程生产事件;在哪个线程生产事件,就在哪个线程消费事件。如果需要切换线程,就需要用到 Scheduler (调度器)。1) Scheduler 的 API (一)在RxJava 中,Scheduler ——调度器,相当于线程控制器,RxJava 通过它来指定每一段代码应该运行在什么样的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-27 14:39:20
                            
                                94阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者:Pierce Zaifman
RxJava 中的多线程大多数情况下,我写的 Android 代码都是可以流畅运行的。直到上几周编写一个需要读取和分析大型文件的 app 之前,我从未关心过 app 运行速度的问题。尽管我期望用户明白文件越大,耗时越长的道理,有时候他们仍会放弃我的应用。他们可能认为应用卡住了,也可能是因为他们就不想等那么久。所以如果我能把时间缩短至少一半的话,一定会大有裨益的。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-30 23:59:34
                            
                                67阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在开发当中只要不是静态页面,我们都要对后台服务器发起网络请求。总所周知,发起网络请求是一个耗时操作,一般的耗时操作都必须开启一个子线程来进行请求,从网络端拿到数据之后我们要将数据set到各种UI控件中去。但是坑爹的是,在子线程之中我们并不能更新UI,必须在主线程(又称UI线程)进行数据的set,因此我们又必须切换到主线程去做处理。这样一会儿子线程,一会儿主线程的切换处理,非常让人头疼,代码往往是东            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-18 12:07:03
                            
                                97阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            RxJava 的大名不需要多做介绍,我自己也在项目中使用RxJava也有一段时间了,抱着学习的心态,一直想更深入一点的去了解它的实现原理,当然RxJava东西还是蛮多的,不可能一篇文章就能说清楚,so,这肯定是一个系列,在这一篇,我先尝试从 RxJava的线程控制 来切入,管中窥豹吧,我尽力,看官们随意。最简单的使用从我们日常使用的代码入手,可能能更容易理解一点。Observable.create            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-23 13:16:43
                            
                                43阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Learning RxJava(RxJava详解)为什么做这个项目: 学习Rxjava,基本所有人都会看扔物线的《给Android开发者Rxjava的详解》,可以说是国内最理想的Rxjava教程了。这片文章后半部分讲对线程的操作,相信很多人都不太懂。这个项目通过最简单的方式,对Rxjava线程操作的进行讲解,让大家彻底明白Rxjava的核心内容。所以,在学习这个项目前先看扔物线大哥的文章。RxJa            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-11 07:24:24
                            
                                123阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RxJava 线程池线程控制——SchedulerRxJava中的多线程操作主要是由Scheduler集合提供的。在RxJava中,我们无法直接访问或操作线程。如果想要使用线程的话,必须要通过内置的Scheduler来实现。在RxJava 中,Scheduler ——调度器,相当于线程控制器,RxJava 通过它来指定每一段代码应该运行在什么样的线程。RxJava 已经内置了几个 Schedule            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-05 12:12:29
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Rxjava 2.x 源码系列 - 基础框架分析Rxjava 2.x 源码系列 - 线程切换 (上)Rxjava 2.x 源码系列 - 线程切换 (下)Rxjava 2.x 源码系列 - 变换操作符 Map(上)前言在上一篇博客 Rxjava 2.x 源码系列 - 线程切换 (上) 我们讲解到,Observable#subscribeOn 是如何控制上游 Observable 的执行线程的,他的实            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-06 08:53:27
                            
                                41阅读
                            
                                                                             
                 
                
                                
                    