![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
搬仓鼠
每一天的一小步,终将变成人生的一大步!
展开
-
Linux sslocal 命令
第一步安装Pythonsudo apt-get in**重点内容**stall python3.5第二步安装 pip(pip是python的包管理工具)sudo apt-get install python3-pip第一步和第二部如果之前已经安装过可以省略第三步安装shadowsockssudo pip3 install shadowsocks第四部,执行sslocal命令sslocal -s原创 2017-10-11 10:21:09 · 26140 阅读 · 4 评论 -
仿微信朋友圈图片上传
先贴上地址项目地址介绍仿微信朋友圈的图片上传,图片上传缓存,断网后重新连接网络或者APP重启,自动上传未上传的图片Config的阿里云配置需要自己添加public class Config { public static final String OSS_ENDPOINT = "***********"; public static final String B...原创 2019-08-14 10:56:56 · 941 阅读 · 0 评论 -
Android组件化开发方案
Android组件化开发方案Demo Github地址Demo基础框架图背景: 为什么要组件化开发?1. 随着功能的增加代码越来越臃肿,到底项目调试越来越困难2. 修改某个模块的代码,导致整个APP都会受到影响3. 代码量大,编译速度也越来越慢问题:进行组件化开发,需要解决哪些问题?1. 每个模块既可以单独运行又可以作为库项目被引入到主模块中2. 模块和模块之间代码和资...原创 2019-07-09 19:31:23 · 587 阅读 · 1 评论 -
手动写一个Rxjava和源码理解(二)数据类型的转换 Map操作符
接上一篇手动写一个Rxjava和源码理解(一)事件的发送和订阅第一篇文章分析了数据的发送和订阅,这一篇我们来分析一下RxJava2是怎么实现数据转换的第一步,数据转换接口public interface Function<T,R> { R apply(T r);}第二步,需要实现一个数据转换被观察者public class ObservableMap<T,...原创 2019-07-03 09:42:40 · 148 阅读 · 0 评论 -
Kotlin 匿名内部类对象引用当前Activity的this用法
Kotlin中匿名内部类,引用Activity的this用法为 this@MainActivity (对应自己的Activity)class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ...原创 2019-07-02 17:00:19 · 1188 阅读 · 0 评论 -
手动写一个Rxjava和源码理解(一)事件的发送和订阅
背景:很早之前其实就有这个想法,因为觉得RxJava真的很神奇,特别它的链式调用和线程切换,真的是一个很神奇的框架我的Rxjava的简单理解RxJava是一个观察者和被观察者,Observable是观察者,所有的事件创建,逻辑处理,事件发送,其实都是Observable中发送,只是RxJava采取了一个巧妙的方式,Observale只负责接收事件源,事件的发送交给了一个叫 Emitter的类,...原创 2019-06-11 16:11:10 · 199 阅读 · 0 评论 -
Android中全局异常捕获以及动态logcat打印。方便上线项目分析
很多时候我们会出现出现了一个问题,但是我们自己并没有日志的情况。这个时候怎么办呢。其实在我们的软件中集成一些日志上报的功能有时候是有需要的。那么问题来了:我们该在自己代码中动态捕获自己应用的日志,以及错误信息呢。其实android 给出了两种:1.运行时异常捕获:这个很容易明白,就是在程序正常运行中,如果程序出现了全局的异常,那么我们就捕获异常,并且把异常信息给收集处理。比如我们可以通过指定的...转载 2018-10-09 13:24:26 · 919 阅读 · 0 评论 -
Android获取应用的安装包路径
获取当前应用的安装包路径context.getPackageResourcePath();获取其他应用的安装包路径getPackageManager().getApplicationInfo(packageName, 0).sourceDir;原创 2018-10-09 13:10:08 · 9071 阅读 · 0 评论 -
线程死锁的理解
假设在一个卫生间有两个小房间,每个房间就是一个线程,卫生间理解成线程池房间A代表线程A 房间B代表线程B在房间A上厕所的人有打开房间B的钥匙,但是没有自己房间的钥匙 在房间B上厕所的人有打开房间A的钥匙,但是没有自己房间的钥匙房间A里面的人想出来就必须要等待房间B里面的人出来后,打开房间A 房间B里面的人想出来就必须要等待房间A里面的人出来后,打开房间B但是由于2个人都没有打开自己房间的钥匙,原创 2017-11-15 00:10:53 · 272 阅读 · 0 评论 -
TCP 3次握手的通俗理解
看了很多篇讲TCP握手的文章,不知道是不是我理解的问题,感觉当时明白了,但是后面又忘了,始终不能在脑袋里面形成一个深刻的印象,所以决定自己利用平时生活的例子来加深对TCP握手的记忆,我把它称为外卖原理(嘿嘿,自创)。第一次握手: 外卖小哥打电话告诉顾客订单将会在30分钟送达,问顾客能接收吗?第二次握手: 顾客回复外卖小哥有时间取外卖。第三次握手: 外卖小哥打电话告诉顾客已到达指定地点,请顾客来原创 2017-11-14 21:46:42 · 495 阅读 · 0 评论 -
Glide加载Https地址图片
最近在做项目中,发现图片加载不出来了,开始以为是布局出问题了,经过一顿操作后,无果,郁闷,之前都能加载,没办法,只好从URL地址下手了,图片是七牛云地址,从浏览器中打开是正常的,郁闷,我再次检查了一下代码,没有发现异常,正在苦思冥想中,发现图片地址是https,怀疑Glide是不是无法加载https的图片呢,于是我先把地址从json数据中取出来,然后,把地址修改成Http的,运行后,图片加载成功...原创 2019-08-16 14:44:04 · 837 阅读 · 4 评论