自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(27)
  • 资源 (4)
  • 收藏
  • 关注

原创 选项(Option)设计模式

设计模式的出现,是为了解决编程中遇到的一些问题,现在有一个场景:我们需要初始化一个服务的配置文件,比如是这样:type Config struct { id int name string ip string port string // other params ...}常见的初始化,有以下几种:方式一:func initConfig(id int, name, ip, port string) { conf.id = id conf.name = name

2021-04-07 18:21:26 869

原创 排序算法:端点排序 & 系统排序算法分析

排序算法有很多,像冒泡、选择、插入、希尔、堆排序等等。这里我新给出一种算法,暂时叫端点排序吧,灵感来源于选择排序。中心思想如下图:如图,假设数组中有7个元素,我们进行一次循环,其实是可以确定出最大值和最小值两个位置的,将这两个值,swap到数组的两端。紧接着,两端的值就可以抛弃了,如下图:下一次的循环,会缩减逐二缩减,至1停止。上图所示,要注意的一点是,假设先发生了swap1,那min的位置将发生更改,需要把min更新到max的位置。示例代码如下:func endpoi

2021-04-01 19:05:17 281

原创 Go源码分析系列:sql驱动加载

go语言中提供了一个sql框架(database/sql),但是只提供了一个架子,没有具体实现,可以通过插件的方式注册自己想要使用的数据库,比如MySQL。下面看一段代码:package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")var db *sql.DB // 连接池对象func initDB() (err error) { dsn := "user:pwd@tcp(ip.

2021-03-16 16:48:49 298

转载 Android动态界面开发框架Tangram使用完整教程(转载)

原文链接:https://blog.csdn.net/u013541140/article/details/89517186Github地址:https://github.com/jimmysuncpt/TangramDemo

2019-07-20 22:43:17 717

转载 抱歉,Xposed真的可以为所欲为——6.你的表白撤不回了(转载)

一句话概括本文一步步Hook微信,实现微信消息防撤回。引言上周六下班,与往常一样,和公司同事去吃个饭,然后打个球,在支付的时候突然却意外发现我的微信号 被封了,出现了一个这样的页面(别人的截图,当时慌了没截图,只想着解封):卧槽,想想在深圳从不带钱包出门的我,要是没同事在,而我只用微信支付这个工具的话...细思极恐,解封的话需要发短信...

2019-07-16 21:53:08 443

转载 抱歉,Xposed真的可以为所欲为——5.我自己刷的Xposed凭什么不给我用(转载)

一句话概括本文分析定位排查下厨房APP检测手机是否安装了Xposed框架的方法,然后一步步 Hook掉对应代码,以此去掉恶心的重复弹出警告对话框。引言因为有带饭的习惯,每周上班前的一天都会想好这周要做的菜式,然后京东 到家采购一波食材。昨天下午当我习惯性地打开下厨房,然后:每打开一个新的页面就弹一次对话框,哇,是真的烦!我TM你说我H...

2019-07-16 21:40:03 611

转载 抱歉,Xposed真的可以为所欲为——4.猜拳投骰子你能赢算我输(转载)

一句话概括本文人品大法利用Xposed Hook掉微信猜拳和投骰子,让你无需再担忧拿外卖和搞卫生。引言关于这节,我是看代码看到头皮发麻,逆向APP并没有想想中的简单, 特别是微信这种,要投入的学习成本好高...而且最近事比较多,怕是 要断更一会儿了,后续闲下来再去研究吧,折腾本节这个简单的东西, 我花了差不多两天,反编译apk,看smail代码,ddms轨迹跟踪方...

2019-07-16 21:32:12 521

转载 抱歉,Xposed真的可以为所欲为——3.微信运动占领封面出售广告位(转载)

一句话概括本文简单的二十行代码,利用Xposed Hook掉计步传感器,以此达到刷步数的目的。引言现在的年轻都喜欢用各种各样的计步APP来记录每天的步数,微信自带的 微信运动因为用户群体基数大,很多人都在用,还有钉钉也整个钉钉 运动...看到别人天天走2W步就是为了占领封面,多走路本来是个好东西, 却变成了一种攀比的行为,走路这种东西不是越多越好的,我......

2019-07-16 21:09:49 1364

转载 抱歉,Xposed真的可以为所欲为——2.改为OV机型流畅玩耍高帧率王者农药(转载)

一句话概括本文:只需20行代码,利用Xposed Hook掉王者农药王者获取手机系统机型的方法, 改成OV系的系统,以此达到流畅玩耍高帧率的目的。引言:王者农药的新赛季又到了,本来这篇是昨晚应该撸出来的,后来因为改机型 后玩得太嗨,都没怎么写,惭愧:其实关于该机型优化已经不是什么新鲜事了,不过前几天在知乎上看到过话题: 如何看待 360 ...

2019-07-16 20:53:54 1156

转载 抱歉,Xposed真的可以为所欲为——1.基础知识储备(转载)

一句话概括本文:本节简单介绍了什么是Xposed,基本原理,如何创建一个Xposed项目以及Xposed常用的类与方法。引言:前面用Python利用itchat库撸了篇:小猪的Python学习之旅 —— 19.Python微信自动好友验证,自动回复,发送群聊链接接着小号貌似因为发送信息太频繁和太快,被封了,限制了不能网页端登录; 又开始折腾AccessibilityService...

2019-07-16 18:11:39 546

原创 Android Studio 编译报错 : toolchains found in the NDK toolchains folder for ABI with prefix: XXX 解决方案

升级AndroidStudio后遇到的问题。如下图: No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-androidThis version of the NDK may be incompatible with the Android Gradle plugin v...

2019-06-24 11:49:40 490

原创 Flutter 首次运行停留在 Initializing gradle... 解决方案(AndroidStudio相关Sync类库失败同样)

一,首先声明以下本文为总结性文章,非作者原创,方案来源于以下参考文章:1,flutter入门安装教程(来源Flutter中文网):https://flutterchina.club/setup-macos/2,解决方案参考(感谢作者):2.1,https://www.jianshu.com/p/407d3ca7037e2.2,https://blog.csdn.net/qq_160...

2019-06-23 12:56:35 1169

转载 关于RecyclerView你知道的不知道的都在这了(下)(转载)

目录由于本篇篇幅特长,特意做了个目录,让大伙对本篇内容先有个大概的了解。另外,由于有些平台可能不支持 [TOC] 解析,所以建议大伙可借助本篇目录,或平台的目录索引进行快速查阅。 LayoutManager 1.1 LinearLayoutManager 基本效果介绍 findFirstCompletelyVisibleItemPosition() findFirs...

2019-06-22 23:39:40 387

转载 关于RecyclerView你知道的不知道的都在这了(上)(转载)

最近打算花点精力来研究 RecyclerView 这个控件架构和原理,对我来说,难度很大,我不清楚最后能不能彻底搞清楚,这个系列的博客会不会被太监,但我会尽我最大努力,并将这整个过程分享出来。第一篇打算从使用方面入手,力求将 RecyclerView 开放给开发人员的所有接口都体验一番。前言虽然在日常开发中,大伙或多或少都会接触到 RecyclerView,但通常,也就是写写 adap...

2019-06-22 02:46:17 321

转载 给初学者的RxJava2.0教程(十)(转载)

前言在很久以前的一篇文章中,提到过如何利用Retrofit中的GsonConverter来处理API请求错误的方法,地址在这儿,今天给大家介绍另外一种优雅的方法,利用RxJava内部的RxJavaPlugins来做这么一个骚操作。正题说到RxJavaPlugins可能有很多朋友还很陌生,毕竟我们日常开放也不会怎么接触这个东西,但是从它的名字上来看就应该觉得它不一般,毕竟人家名字里带了一...

2019-06-19 17:05:55 139

转载 给初学者的RxJava2.0教程(九) (转载)

前言好久不见朋友们,最近一段时间在忙工作上的事情,没来得及写文章,这两天正好有点时间,赶紧写下了这篇教程,免得大家说我太监了。正题先来回顾一下上上节,我们讲Flowable的时候,说它采用了响应式拉的方式,我们还举了个叶问打小日本的例子,再来回顾一下吧,我们说把上游看成小日本, 把下游当作叶问, 当调用Subscription.request(1)时, 叶问就说我要打一个! 然后小日本...

2019-06-18 14:39:57 155

转载 给初学者的RxJava2.0教程(八)(转载)

前言在上一节中, 我们学习了FLowable的一些基本知识, 同时也挖了许多坑, 这一节就让我们来填坑吧.正题在上一节中最后我们有个例子, 当上游一次性发送128个事件的时候是没有任何问题的, 一旦超过128就会抛出MissingBackpressureException异常, 提示你上游发太多事件了, 下游处理不过来, 那么怎么去解决呢?我们先来思考一下, 发送128个事件没有问...

2019-06-18 14:29:02 167

转载 给初学者的RxJava2.0教程(七)(转载)

前言上一节里我们学习了只使用Observable如何去解决上下游流速不均衡的问题, 之所以学习这个是因为Observable还是有很多它使用的场景, 有些朋友自从听说了Flowable之后就觉得Flowable能解决任何问题, 甚至有抛弃Observable这种想法, 这是万万不可的, 它们都有各自的优势和不足.在这一节里我们先来学习如何使用Flowable, 它东西比较多, 也比较繁琐,...

2019-06-18 14:18:20 120

转载 给初学者的RxJava2.0教程(六)(转载)

前言在上一节中, 我们找到了上下游流速不均衡的源头 , 在这一节里我们将学习如何去治理它 . 可能很多看过其他人写的文章的朋友都会觉得只有Flowable才能解决 , 所以大家对这个Flowable都抱有很大的期许 , 其实呐 , 你们毕竟图样图森破 , 今天我们先抛开Flowable, 仅仅依靠我们自己的双手和智慧 , 来看看我们如何去治理 , 通过本节的学习之后我们再来看Flowable,...

2019-06-18 14:11:12 101

转载 给初学者的RxJava2.0教程(五) (转载)

前言大家喜闻乐见的Backpressure来啦.这一节中我们将来学习Backpressure. 我看好多吃瓜群众早已坐不住了, 别急, 我们先来回顾一下上一节讲的Zip.正题上一节中我们说到Zip可以将多个上游发送的事件组合起来发送给下游, 那大家有没有想过一个问题, 如果其中一个水管A发送事件特别快, 而另一个水管B 发送事件特别慢, 那就可能出现这种情况, 发得快的水管A 已经...

2019-06-18 14:01:36 119

转载 给初学者的RxJava2.0教程(四)(转载)

前言在上一节中, 我们提到了Flowable 和Backpressure背压, 本来这一节的确是想讲这两个东西的,可是写到一半感觉还是差点火候,感觉时机未到, 因此,这里先来做个准备工作, 先带大家学习zip这个操作符, 这个操作符也是比较牛逼的东西了, 涉及到的东西也比较多, 主要是一些细节上的东西太多, 通过学习这个操作符,可以为我们下一节的Backpressure 做个铺垫.正题...

2019-06-18 13:59:33 112

转载 给初学者的RxJava2.0教程(三)(转载)

前言上一节讲解了线程调度, 并且举了两个实际中的例子, 其中有一个登录的例子, 不知大家有没有想过这么一个问题, 如果是一个新用户, 必须先注册, 等注册成功之后再自动登录该怎么做呢.很明显, 这是一个嵌套的网络请求, 首先需要去请求注册, 待注册成功回调了再去请求登录的接口.我们当然可以想当然的写成这样: private void login() { ap...

2019-06-18 11:57:52 121

转载 给初学者的RxJava2.0教程(二)(转载)

前言上一节教程讲解了最基本的RxJava2的使用, 在本节中, 我们将学习RxJava强大的线程控制.正题还是以之前的例子, 两根水管:RxJava正常情况下, 上游和下游是工作在同一个线程中的, 也就是说上游在哪个线程发事件, 下游就在哪个线程接收事件.怎么去理解呢, 以Android为例, 一个Activity的所有动作默认都是在主线程中运行的, 比如我们在onCr...

2019-06-18 11:56:13 106

转载 给初学者的RxJava2.0教程(一) (转载)

前言上个月RxJava2正式版发布了,但目前国内的资料还比较少,以前使用过RxJava1只需要看看更新文档就知道怎么使用了,但还有一些以前没用过RxJava的朋友可能就不知道怎么办了,不知道该看RxJava1还是直接跳到RxJava2。所以写下这个教程, 帮助那些没有用过RxJava的朋友入门。注:如果你觉得写得不好,请直接批评指出。我先回答这个问题:学习RxJava2需要先学习R...

2019-06-18 11:32:24 94

转载 给 Android 开发者的 RxJava1.0 详解 (转载)

作者:扔物线HenCoder 给高级 Android 工程师的进阶指南:前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava...

2019-06-18 10:58:19 290

原创 使用 AS 将 Git项目 发布到 Bintray Maven 仓库

整个过程简单分为这么几步:在AS项目中新建测试库,提交到Git上(Git地址仅用作说明,也可不提交到Git) 在Bintray上创建Maven仓库 发布、测试。开始:1.1. 在GitHub上新建个organization(如果之前有也可直接用) 1.2. 在organization 下新建个 repository 1.3. 新建项目...

2019-05-10 10:43:36 258

原创 AES Crypto 在 Android P(Android 9.0) 被删除 解决方案

开发工具:Android Studio 项目中若使用 SecureRandom.getInstance("SHA1PRNG", "Crypto") ,会给出以下警告:The Crypto provider has been deleted in Android P (and was deprecated in Android N), so the code will crash. le...

2018-11-06 12:54:07 4028

jdk-8u251-macosx-x64.dmg.zip

JDK官方备份版本,不用再等待龟速下载,欢迎享用。 The JDK is a development environment for building applications, applets, and components using the Java programming language. The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the Java platform.

2020-06-09

commons-logging-1.1.1

commons-logging提供分级日志功能,相当于把System.out.println()方法加强了,原来 是一定输出到控制台,现在commons-logging有6级日志,但是apache建议使用4级,即 ERROR、WARN、INFO、DEBUG。什么情况下输出日志由程序中写日志的方法决定,输出什 么级别以上的日志和输出到哪里由配置文件决定。

2014-05-21

commons-beanutils-1.9.1

Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。

2014-05-21

commons-collections-3.2.jar - Java包下载页

这是commons-collections-3.2.jar的下载,它是commons中各集合类和工具类的封装包。因为commons-collections有很多版本,每个版本的环境又有些不同,所以版本对应是最好的,有需要3.2版本的可下载

2014-05-21

空空如也

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

TA关注的人

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