自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 Java8 Stream

StreamStream是元素的集合,将集合数据以流的形式表现出来,以便对其进行操作,各种操作不改变数据源,不存储值,一旦遍历就会失效,需要重新创建。一,Stream流的创建:需要API 241.创建串行流Stream stream = mList.stream();stream1.sequential();2.创建并行流Stream stream1 = mList.paralle...

2018-12-18 22:02:43 299

原创 Android @ 注解

@注解1.java.lang包下 //表明重写的是父类方法,检查方法名是否写错 @Override //被弃用的API,不赞成使用 @Deprecated //告诉编译器Lint,对警告保持静默 //deprecation 使用了不赞成使用的类或方法时的警告 //unchecked 执行了未检查的转换时的警告 //fa...

2018-12-17 23:27:25 409

原创 AtomicReference,AtomicInteger,AtomicBoolean

Atomic原子家族Atomic原子家族可保证在多线程下操作的是同一个对象,而且同一时间只有一条线程能进行操作,保证了下一条线程操作它时是最新数据。1.AtomicReference原子引用提供一个对象来供原子读写,可确保在多线程下操作的是同一个对象,且是同步操作。private static User mUser; private void init() { //引用...

2018-12-14 22:56:40 1128

原创 RxRelay源码解析

RxRelay源码解析:Relays 是既是Observable也是Consumer的RxJava 类型,由于没有onComplete 或 onError,所以发生异常时不会触发下游的终止状态,不会抛出异常。 //接收订阅之后数据 Relay relay = PublishRelay.create().toSerialized(); //接受订阅之前一个和之后...

2018-12-13 23:38:00 1319 1

原创 自定义RxBus + RxRelay

RxBus + RxRelay实现不抛出异常的事件总线RxRelay源码地址依赖库:implementation 'com.jakewharton.rxrelay2:rxrelay:2.0.0'public class RxBus { private Relay<Object> bus = null; private static RxBus instanc...

2018-12-13 23:32:05 649

原创 EventBus实战

EventBus实战1.依赖库implementation 'org.greenrobot:eventbus:3.1.1'2.定义事件类,用于Activity/Fragment之间通信public class MessageEvent { private String message; public MessageEvent () { } public...

2018-12-09 19:19:59 327

原创 EventBus源码解析(三)EventBus类

EventBus类public class EventBus { /** Log tag, apps may override it. */ public static String TAG = "EventBus"; //单实例EventBus,默认 static volatile EventBus defaultInstance; private ...

2018-12-09 19:00:07 623

原创 EventBus源码解析(二)

1.Subscribe 注解接口/** * 注解接口:用于注解订阅方法 */@Documented@Retention(RetentionPolicy.RUNTIME) //运行时才处理注解@Target({ElementType.METHOD}) //注解目标为方法public @interface Subscribe { //指定线程模型,默认POSTING...

2018-12-09 18:51:02 281

原创 EventBus源码解析(一)

EventBus事件总线框架EventBus基于事件的订阅和推送,实现Activity/Fragment之间的通信。主要角色:Event 传递的事件对象,自定义的一个类,封装了要传递的信息。Publisher 事件的发布者。Subscriber 事件的订阅者。ThreadMode 定义在何种线程中执行。源码解析:1.Logger接口import java.util.lo...

2018-12-09 18:34:45 567

原创 RxJava(九)并行编程

RxJava的并行编程RxJava发射的数据流虽然经过各种变换,切换线程,但并没有产生并行效果。并行:多个处理器或多核处理器同时处理多个任务。并发:单个处理器同时处理多个任务。1.Java8并行流 集合上调用parallelStream@TargetApi(24) private void parallelStream(){ mList.parallelStrea...

2018-12-05 22:03:09 791

原创 RxJava(八)Disposable和Transformer

Disposable和Transformer一,Disposable1.当Observable发送数据,Observer订阅数据时,就形成一个Disposable,可用于在退出时取消订阅。 Disposable disposable = Observable.just(1,2,3) .subscribeOn(Schedulers.newThread()) .o...

2018-12-04 21:57:29 688

原创 RxJava(七)背压Flowable

RxJava背压Flowable1.背压:在RxJava的异步场景中,被观察者发送数据太快,以至于操作符和订阅者来不及处理数据,造成buffer溢出。2.Flowable:RxJava中专门用来支持背压,默认队列大小128,所有操作符强制支持背压。3.背压策略:public enum BackpressureStrategy{ MISSING, //通过create创...

2018-12-03 22:37:35 588

Okhttp功能封装

封装的get同步请求,get异步请求,post异步提单,从url下载文件。

2018-10-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除