自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 线程 : Runnable与Callable区别

参考:Java Runnable与Callable区别public interface Callable<V> { V call() throws Exception;}public interface Runnable { void run();}相同点都是接口都可以编写多线程程序都采用Thread.start()启动线程...

2019-10-31 11:39:34 591

原创 Java创建线程的两种方式

参考:Java创建线程的两种方式导航:继承Thread类实现Runnable方法start()方法和run()方法区别比较实现接口的方式比继承类的方式更灵活,也能减少程序之间的耦合度,面向接口编程也是设计模式6大原则的核心 implements Runnable public class RunnalbleTest2 implements Runnable { priv...

2019-10-31 11:27:22 133

原创 java并发: 多线程与volatile、AtomicInteger、ReentrantLock、Condition、Semaphore

参考:Java 每日算法,三个线程按顺序打印题目一启动3个线程A、B、C,使A打印0,然后B打印1,然后C打印2,A打印3,B打印4,C打印5,依次类推。/** * 启动3个线程A、B、C,使A打印0,然后B打印1,然后C打印2,A打印3,B打印4,C打印5,依次类推。 */public class PrintSequenceThread implements Runnable { ...

2019-10-30 19:15:02 598

原创 git常见命令与branch分支操作

-r表示remote,-a表示all,-b表示branch,-d表示delete,常见的branch操作命令//***************************** 增 ******************************git branch branchname // 新建一个【本地分支】,但依然停留在当前分支git checkout -b branchna...

2019-10-30 16:55:30 2356

原创 Git push 常见用法

参考:Git push 常见用法git push命令用于将本地分支的更新,推送到远程主机。git push的一般形式为git push <远程主机名> <本地分支名>:<远程分支名> ,git push [remote_host] [local_branch_name]:[remote_branch_name]注意:1、这里的:前后是必须...

2019-10-30 16:50:45 709

原创 Java : fileutil 文件写入工具类

工具类import android.os.Environment;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.io.OutputStr...

2019-10-30 10:12:53 238

原创 java : 多线程保证操作同步ReentrantLock、synchronized

参考:Android 多线程保证操作同步(同步锁的俩种)同步的方式1.使用synchronized关键字。使用synchronized关键字修饰的方法会同步执行,必须要等上一个synchronized执行完才会继续执行,如果在执行过程中线程阻塞,他就会一直保持等待的状态,在这里不特别推荐使用这种方式,如果你的需求是必须保证数据同步的情况下且保证不会出现其他情况使用户无法完成操作的情况...

2019-10-24 18:54:25 206

原创 java : 并发线程: AtomicBoolean 与 线程原子性 :多线程只执行一次

AtomicBoolean 与 线程原子性参考:AtomicBoolean使用AtomicBoolean 的api简单使用:public class Test2 { @Test public void test1() { AtomicBoolean exists = new AtomicBoolean(false); System.out....

2019-10-24 18:53:23 1139

原创 kotlin 匿名内部类对比java

匿名内部类多个方法Single.just(1) .subscribe(new SingleObserver<Integer>() { @Override public void onSubscribe(Disposable d) { } @Override public void onSuccess(Integer integer) { } @O...

2019-10-23 19:13:09 390

原创 java、kotlin的单例与构造方法对比

单例模式:双重检测object Test51 { val instance: Test51 get() = SingletonInstance.INSTANCE private object SingletonInstance { internal val INSTANCE: Test51 = Test51 }}//测试fun m...

2019-10-23 10:41:47 204

原创 sharesdk : SMSSDK短信验证

Activitypublic class ThirdLoginBindPhoneActivity extends BaseActivity implements ITimerCallBack { private EditText mThirdLoginEditUsername; private Button mThirdLoginBtnBind; private Str...

2019-10-22 23:24:56 205

原创 Android :手机号码校验

简单校验public boolean isMobileNO(String mobiles) { //"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个, //"\\d{9}"代表后面是可以是0~9的数字,有9位。 String telRegex = "[1][34578]\\d{9}"; if (TextUtils.isEmpty(mobiles)) ret...

2019-10-22 23:23:13 2285

原创 Java : 强软弱虚引用

类关系图Reference (java.lang.ref) PhantomReference (java.lang.ref) SoftReference (java.lang.ref) SoftValueReference in LocalCache (androidx.test.espresso.core.internal.deps.guava.cache) ...

2019-10-21 12:07:02 170

原创 bitmap 与 InputStream、filePath 、resId 、ByteArray、URL互转

转bitmap//BitmapFactory.Options : 可配置比例压缩public class BitmapFactory { //ByteArray -> Bitmap public static Bitmap decodeByteArray(byte[] data, int offset, int length, ...

2019-10-18 16:48:30 374

原创 maven:SSL peer shut down incorrectly/Could not GET/Could not download

项目报错:SSL peer shut down incorrectlyorg.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://jcenter.bintray.com/xxxxxx.jar'.或Unable to resolve dependency for ':p...

2019-10-18 15:39:21 1551

原创 kotlin : 可变长参数数组:kotlin :(vararg a : T) / Java (T... arrays)

kotlin :@Testfun test1() { val temp = arrayOf("1", "2", "3") temp.forEach { println(it) }}//1//2//3//array前面加星号,变为可变长数组@Testfun test2() { val temp = arrayOf("1", "2"...

2019-10-18 11:18:04 7639

原创 kotlin : map / flatMap / flatten

//下面使用map跟flatMap达到同样的效果@Testfun test1() { val list = listOf(1, 2, 3, 4, 5) println("----------------------------") val list2 = list.map { it + 1 } list2.map { pr...

2019-10-18 11:17:13 909

原创 Kotlin 循环(for/foreach)与返回和跳跃(break/continue/return)

class ExampleUnitTest { @Test fun test1() { println("===========for in==============") for (i in 1..5) { println(i) } //1 //2 //3...

2019-10-17 18:39:16 3357

原创 rxjava : Completable # andThen 对比 Observable # flatMapCompletable

Completable # andThen ://返回一个新的Completable C,它首先运行此Completable A,然后再运行另一个Completable B。//A / B 没有数据关系,只有执行顺序关系和是否执行关系//A 先执行 , B 后执行//A onError报错不执行B , A onComplete 才执行Bpublic final Completable ...

2019-10-17 17:56:55 1046

原创 rxjava 与 kotlin filter/groupBy/(flatten) 对比

filterrxjava :@Testpublic void test3() { ArrayList<Integer> integers = new ArrayList<>(); for (int i = 0; i < 6; i++) { integers.add(i); } Observable.fromIte...

2019-10-17 17:52:43 437

原创 rxjava : concat、concatWith、concatArray/merge、mergeWith、mergeArray

串行有序concat 连接最多四个 ObservableSourceconcatWith 与 concatArray 是 concat 的升级版 , 支持连接多个ObservableSource,只是写法不同并行无序merge 连接最多四个 ObservableSourcemergeWith 与 mergeArray 是 merge 的升级版 , 支持连接多个ObservableS...

2019-10-16 19:42:03 1346

原创 rxjava : 检测重复,不去重

@Testpublic void checkDuplicate1() { List<String> list = getStringList(); String temp; for (int i = 0; i < list.size() - 1; i++) { temp = list.get(i); for (int j...

2019-10-15 16:19:05 268

原创 rxjava : flatMap、flatMapIterable、flatMapMaybe、flatMapCompletable、flatMapSingle

flatMap返回一个Observable,它向源ObservableSource和指定的集合ObservableSource发出的一对值发射指定函数的结果,同时限制对这些ObservableSources的并发预订的最大数量public final <R> Observable<R> flatMap( Function<? super T, ? ex...

2019-10-15 11:18:18 2106

原创 rxjava :StartWith

在应用到可观察到的序列之前,StartWith先取一个序列并将其串联起来。StartWith 是用 concat 和 just 处理我们序列的缩减名称。//在应用到可观察到的序列之前,StartWith先取一个序列并将其串联起来。@Testpublic void startWith1() { Observable<Integer> range = Observable....

2019-10-14 18:43:42 358

原创 rxjava: concat \ concatWith \ concatEager \ concatDelayError \ concatMap \ concatArray

concat :concatWith :concatEagerconcatDelayErrorconcatMapconcatMapEagerconcatMapDelayErrorconcatMapEagerDelayErrorconcatMapMaybeconcatMapMaybeDelayErrorconcatMapSingle...

2019-10-14 17:48:04 1054

原创 rxjava : Completable # andThen

Completable # andThen() 源码:先订阅Completable,再订阅 ObservableSource 、 Publisher 、 SingleSource 、 MaybeSource 、 CompletableSource ,并返回新的Observable、Flowable、Single、Maybe、Completable来自此Completable的【错误事...

2019-10-14 16:10:04 976

原创 rxjava : toList 、 toSortedList(排序) 、 toMap

toList : 转为listString[] strs = new String[]{"jack", "ann", "one", "two", "three", "four"};Observable.fromArray(strs) .toList() .subscribe(new SingleObserver<List<String>>...

2019-10-12 15:54:24 2033

原创 rxjava : forEach、subscribe

forEach :订阅{@link ObservableSource}并接收每个元素的通知。参数Consumer : 只关心数据结果subscribe :订阅ObservableSource并提供回调以处理其发出的项目。参数Consumer 、 Observer : 关心数据结果、 异常 、 结束等示例一:Disposable forEach1 = Observa...

2019-10-12 15:05:14 473

原创 rxjava : mergeArray 、 mergeArrayDelayError

参考:RxJava合并Observable——merge和mergeDelayError操作符示例:public void mergeArray() { Observable[] array = getObservables(); Observable.mergeArray(array) .subscribe(getObserver());}/...

2019-10-12 15:04:22 1754

原创 rxjava : publish 与 缓存加载

参考:RxJava2 实战知识梳理(8) - 使用 publish + merge 优化先加载缓存,再读取网络数据的请求过程Observable 、 Observer//模拟缓存数据源。private Observable<List<MyData>> getCacheArticle(final long simulateTime) { return Ob...

2019-10-11 17:35:09 282

原创 rxjava: combineLatest 与 表单验证

RxJava2 实战知识梳理(7) - 基于 combineLatest 实现的输入表单验证效果:两个输入框,分别对应用户名和密码,它们的长度要求分别为28和416,如果两者都正确,那么登录按钮的文案变为“登录”,否则显示“用户名或密码无效”。<Button android:layout_width="match_parent" android:layout_hei...

2019-10-11 16:55:43 209

原创 rxjava : publish / refCount / share / replay

参考:RxJava连接操作符RxJava操作符(09-算术/聚合操作&连接操作)总结:ConnectableObservable 和它的子类以及它们的操作符:ConnectableObservable.connect() — 指示一个可连接的Observable开始发射数据Observable.publish() — 将一个Observable转换为一个可连接的Observa......

2019-10-11 16:53:35 742

原创 rxjava : 不继承RxAppCompatActivity的情况下使用RxLifeCycle

示例:主要原理用到的是Android的LifeCycle。public class Activity2 extends AppCompatActivity { private static final String TAG = "RxLifecycleAndroid"; @Override protected void onCreate(Bundle savedIn...

2019-10-10 16:09:51 413

原创 rxjava : RxLifeCycle解析

参考:Android技能树 — Rxjava取消订阅小结(2):RxLifeCycleRxLifeCycle 官方demo://Note:Activity需要继承RxAppCompatActivity,fragment需要继承RxFragment// implementation 'com.trello.rxlifecycle3:rxlifecycle:3.1.0'// //...

2019-10-10 15:53:28 244

原创 rxjava : 依赖库和相关依赖库

基础库:https://github.com/ReactiveX/RxAndroidhttps://github.com/ReactiveX/RxJava/tree/2.xallprojects { repositories { mavenCentral() //仓库 }}implementation 'io.reactivex.rxjava2:rxa...

2019-10-09 16:08:29 2123

原创 rxjava : Flowable 和Backpressure背压

参考:给初学者的RxJava2.0教程(五)同步和异步的区别仅仅在于是否有水缸当上下游工作在同一个线程中时, 这时候是一个同步的订阅关系, 也就是说上游每发送一个事件必须等到下游接收处理完了以后才能接着发送下一个事件.当上下游工作在不同的线程中时, 这时候是一个异步的订阅关系, 这个时候上游发送数据不需要等待下游接收, 为什么呢, 因为两个线程并不能直接进行通信, 因此上游发送的事件...

2019-10-09 16:05:39 328

原创 rxjava : 常用的 compose 与 ObservableTransformer

RxJavaUtils 工具类public class RxJavaUtils { public static <T> ObservableTransformer<T, T> applySchedulers() { return new ObservableTransformer<T, T>() { @Over...

2019-10-08 17:57:21 3913

原创 rxjava : lambda 与 ObservableTransformer 、compose:

示例一 : 将Integer 转 String// private ObservableTransformer<Integer, String> transformer() {// return new ObservableTransformer<Integer, String>() {// @Override// ...

2019-10-08 17:40:31 332

原创 rxjava : compose 与 ObservableTransformer、lift 与 ObservableOperator

compose 与 ObservableTransformer ://操作被观察者(abstract class Observable<T> implements ObservableSource<T> )//将源ObservableSource整体转换//通过对它应用特定的Transformer函数来转换ObservableSource。 //此方法在Obs...

2019-10-08 17:37:17 2669

原创 报错:java.lang.NoSuchFieldError: No static field

java.lang.NoSuchFieldError: No static field recyclerview of type I in class Lcom/example/vidarecyclerviewstagger/R$id; or its superclasses (declaration of 'com.example.vidarecyclerviewstagger.R$id...

2019-10-07 20:59:19 3999

当前Activity1.4.1

当前Activity1.4.1

2023-01-06

CPU Monitor 8.0.2

CPU Monitor 8.0.2

2023-01-06

TranslationPlugin-3.1.1.zip

Android studio 翻译插件

2021-08-09

projector-plugin-agent-v1.5.1.zip

projector-plugin-agent-v1.5.1.zip

2021-08-09

GsonFormat.zip

GsonFormat.zip android studio4.1之后过期不可用修复包

2021-08-06

BCompare-zh-4.3.3.24545.exe

BCompare-zh-4.3.3.24545.exe,

2020-01-14

SourceTreeSetup-3.3.6.exe

SourceTreeSetup-3.3.6.exe,SourceTreeSetup-3.3.6.exe,

2020-01-14

gsonformat和butterknife的jar包

butterknife.jar , gsonformat.jar 。

2018-10-08

android studio (as)主题theme

ladies night2.jar ,cobalt.jar ,visual studio.jar, monokai sublime text3.jar

2018-10-08

jadx android反编译集成工具

jadx反编译apk,一键可以查看资源文件(apktool的作用)、java源码(dex2jar和jd-gui作用)

2018-06-05

android反编译工具

最新android反编译工具 apktool :这个工具拆解Apk文件,反编译其中的资源文件,将它们反编译为可阅读的AndroidManifest.xml文件和res文件。 dex2jar :这个工具用于将dex文件转换成jar文件 jd-gui :这个工具用于将jar文件转换成java代码

2018-06-04

等额本金、等额本息的计算

等额本金和等额本息的计算,以及折线图的对比,使用excel的公式

2018-05-28

httpClient4.5.3+Jsoup1.10.2

httpClient4.5.3+Jsoup1.10.2 commons-codec-1.9.jar commons-logging-1.2.jar httpclient-4.5.3.jar httpcore-4.4.6.jar jsoup-1.10.2.jar

2018-02-23

httpclient-4.5.3完整jar包

httpclient4.5.3完整jar包: commons-codec-1.9.jar commons-logging-1.2.jar httpclient-4.5.3.jar httpcore-4.4.6.jar httpmime-4.5.3.jar等等

2018-02-23

jq星星评分打分

jq星星评分打分

2017-04-28

联系人列表

listview联系人

2017-01-12

listview的各种二级分类列表

各种二级分类列表

2017-01-12

decp2 dbutils pool2 mysql

数据库相关所有jar包:commons-dbcp2-2.1.jar commons-dbutils-1.3.jar commons-pool2-2.4.2.jar mysql-connector-java-5.1.30.jar commons-logging-1.2.jar

2016-11-15

httpclient-4.3.3.jar和httpcore-4.3.2.jar

httpclient-4.3.3.jar和httpcore-4.3.2.jar两个

2016-11-15

Python for eclipse

使用eclipse开发Python需要的feature和plugin

2016-11-09

resign.jar

resign.jar 重签名工具

2016-10-26

zxing的jar包

zxing需要的核心jar包

2016-10-26

gson的jar包

gson.jar

2016-10-26

postman插件

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。常见用于get、post请求的测试

2016-10-26

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

TA关注的人

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