自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (5)
  • 收藏
  • 关注

转载 OKHttp源码详解

首先大概看一下整个流程图:接下来讲解的思路将根据这个流程来。一、创建一个OkHttpClient对象:    OkHttpClient client = new OkHttpClient();二、怎么不见Builder呢?看下OkHttpClient的构造函数,其中new Builder(),这里采用了默认配置。OkHttpClient.Builder成员有很多

2017-11-30 15:39:15 387

原创 JVM详解

JVM整体结构:第一个模块:通过JVM  IDE将.java文件生成.class文件。具体的编译流程:核心就是对源文件的词法和语法进行一个分析。第二个模块:类加载器的子系统,将class文件的字节码加载到jvm对应的虚拟机内存中。类加载器的核心是classLoader,classLoader又是动态跟新的核心。JVM提供了所有classLoader,既以下四种:Bo

2017-11-14 20:06:51 1733

原创 dex文件与class文件如何生成

一、dex文件与class文件如何生成Class文件:可以被JVM所识别的文件。记录一个类文件的所有信息。文件结构:a)一种8位字节的二进制流文件。  b)各个数据按顺序紧密的排列,无间隙。  c)每个类或接口都单独占据一个class文件。Dex文件:可以被DVM所识别的文件。记录整个工程所有类的信息。文件结构:a)一种8位字节的二进制流文件。  b)各个数据按顺序紧密

2017-11-14 20:04:26 1411

转载 彻底弄懂HTTP缓存机制及原理

http://www.cnblogs.com/chenqf/p/6386163.html第一次请求数据时,时序图:  关于返回的缓存规则:HTTP缓存有多种规则,根据是否需要重新向服务器发起请求来分类,我将其分为两大类(强制缓存,对比缓存) 1、强制缓存 2、对比缓存  区别:强制缓存如果生效,不需要再和服务器发生交互,而对比缓存不管是否生效,都需要

2017-10-22 20:42:26 402

原创 ImageLoader原理分析

ImageLoader的实现:· 图片压缩· 内存缓存· 磁盘缓存· 网络拉取图片· 图片的同步加载· 图片的异步处理一、图片压缩功能的实现:通过采用BitmapFactory.Options来压缩图片,主要是用到了它的inSampleSize参数,当inSampleSize为1时,采样后的图片大小为原始图片大小;当inSampleSize大于1时,比如为2,那么采

2017-10-20 21:39:37 1015

原创 459. 重复的子字符串-字符串系列

可由子串 "abc" 重复四次构成。(或子串 "abcabc" 重复两次构成。,检查是否可以通过由它的一个子串重复多次构成。可由子串 "ab" 重复两次构成。给定一个非空的字符串。

2024-08-03 15:57:14 252 1

原创 28. 找出字符串中第一个匹配项的下标-字符串系列

"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。

2024-08-03 15:56:18 182

原创 55. 右旋字符串-字符串系列

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。输入共包含两行,第一行为一个正整数 k,代表右旋转的位数。第二行为字符串 s,代表需要旋转的字符串。例如,对于输入字符串 "abcdefg" 和整数 2,函数应该将其转换为 "fgabcde"。输出共一行,为进行了右旋转操作后的字符串。

2024-08-03 15:55:16 158

原创 151. 反转字符串中的单词-字符串系列

中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。如果字符串在你使用的编程语言中是一种可变数据类型,请尝试使用。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。

2024-08-03 15:53:59 166

原创 54. 替换数字-字符串系列

给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。打印一个新的字符串,其中每个数字字符都被替换为了number。输入一个字符串 s,s 仅包含小写字母和数字字符。

2024-08-03 15:52:05 150

原创 541. 反转字符串 II-字符串系列

从字符串开头算起,每计数至。

2024-08-03 15:50:10 199

原创 344. 反转字符串-字符串系列

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。

2024-08-03 15:48:34 215

原创 Android 编译插桩操纵字节码

自定义 Gradle 插件、Transform API 的使用、ASM 的使用

2023-09-27 20:57:36 604

原创 Leetcode算法-滑动窗口最大值

的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口每次只向右移动一位。

2023-08-13 19:07:57 251

原创 Leetcode算法-最小覆盖子串

所有字符的子串,则返回空字符串。所有字符的最小子串。

2023-08-12 20:19:53 296

原创 Leetcode算法-无重复字符的最长子串

请你找出其中不含有重复字符的。

2023-08-12 20:09:34 212

原创 Leetcode算法-求根节点到叶节点数字之和

树中每个节点都存放有一个。计算从根节点到叶节点生成的。给你一个二叉树的根节点。是指没有子节点的节点。

2023-08-12 18:05:59 188

原创 Leetcode算法-二叉树的完全性检验

中,除了最后一个关卡外,所有关卡都是完全被填满的,并且最后一个关卡中的所有节点都是尽可能靠左的。

2023-08-12 18:01:09 350

原创 Leetcode算法-岛屿的最大面积

(代表土地) 构成的组合,这里的「相邻」要求两个。如果没有岛屿,则返回面积为。岛屿的面积是岛上值为。

2023-08-06 20:10:33 164

原创 Leetcode算法-岛屿的周长

岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100。计算这个岛屿的周长。方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。

2023-08-06 19:37:53 157

原创 Leetcode算法--岛屿数量

岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。视频讲解:https://b23.tv/z9xkMal。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。

2023-08-06 19:33:29 326

原创 Leetcode算法--合并区间

一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。

2023-08-06 19:04:33 294

原创 Leetcode算法--最大数

重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。输出结果可能非常大,所以你需要返回一个字符串而不是整数。

2023-08-06 18:59:50 261

原创 Leetcode算法--归并排序

归并排序思路和实现代码

2023-08-06 10:45:21 906

原创 Leetcode算法--堆排序

堆排序思路和代码实现

2023-08-06 10:40:53 1130

原创 Leetcode算法--快速排序

快速排序思路和代码实现

2023-08-06 10:37:42 905

原创 Android APP Bundle

使用 Play 核心库,您的应用日后可以请求将这些模块下载为动态功能 APK。通过 Dynamic Delivery,Google Play 只会将该模块的代码和资源提供给设备。App bundle 与 APK 的不同之处在于,您无法将其部署到设备。相反,它是一种上传格式,可将您应用的所有经过编译的代码和资源都包含在一个编译工件中。因此,在您上传已签名的 app bundle 后,Google...

2020-03-18 17:02:11 329

原创 Android插件化 免安装加载Activity

接上篇https://blog.youkuaiyun.com/j18874964028sss/article/details/104860086Plugin端需要被启动的PluginActivitypublic class PluginActivity extends AppCompatActivity { @Override protected void onCreate(Bundl...

2020-03-15 21:11:58 258

原创 Android插件化 类加载器DexClassLoader

方式一:从已安装的apk中读取,必须要有一个activity,且需要配置ACTION。利用这种方式获取插件信息,然后来构建classLoader加载类。插件APP代码:AndroidManifest.xml<intent-filter> <action android:name="com.jiangshuai.pluginone"/></in...

2020-03-14 14:37:20 448

原创 Android gradle命令集

查看所有的projectthis.getProjects()def getProjects() { println '-----------------------' println 'projects' println '-----------------------' this.getAllprojects().eachWithIndex { Projec...

2020-01-20 15:37:13 326

原创 自定义Gradle Plugin插件

new 'Android Library'model : 我取名为pluginone 修改pluginone model的build.gradle文件apply plugin: 'groovy'apply plugin: 'maven'dependencies{ // gradle sdk implementation gradleApi() // groov...

2020-01-15 17:45:31 335

原创 插件热修复技术

资料:https://zhuanlan.zhihu.com/p/33017826

2020-01-15 15:15:18 126

原创 Android Flutter Native笔记

在native中add flutter fragment方法1:// Get a reference to the Activity's FragmentManager to add a new // FlutterFragment, or find an existing one. FragmentManager fragmentManager = getSupport...

2020-01-12 16:20:45 2882

转载 Android Flutter Dialog笔记

void main() => runApp(MyApp());class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: Theme...

2020-01-12 00:32:20 398

转载 RXJava记录

1、单例参考写法:public static RxBus getRxBus() { if (rxBus == null) { synchronized (RxBus.class) { if(rxBus == null) { rxBus = new RxBus(); } }...

2020-01-10 14:58:16 180

原创 Handler机制详细解

本文主要从Handle、Looper、Message、MessageQueue这四个方面进行讲述。一、首先看一下Message源码1、Message的成员变量有: public int what; public int arg1; public int arg2; public Object obj; public Messenge...

2019-01-12 18:43:36 384 1

转载 webview

Cache-Control与 Last-Modified 一起使用;Expires与 Etag一起使用;没有更新回包304,有更新回包200参考:https://blog.youkuaiyun.com/carson_ho/article/details/71402764https://juejin.im/entry/58ba3302570c350062124f68https://blog.csdn....

2019-01-07 21:04:01 242

转载 webview截取全屏

/storage/emulated/0/  这个路径表达的就是sd卡路径。可以用 adb shell去查看手机某路径下文件情况 cd /storage/emulated/0/Android/data/com.example.jiangshuai.scropimage/cachels全屏截取webview,并将图片保存到本地package com.example.jiangshua...

2018-12-22 19:43:49 435

原创 Android view

package com.example.jiangshuai.testview;import android.app.Activity;import android.content.res.Resources;import android.graphics.Rect;import android.os.Bundle;import android.support.v7.app.AppC...

2018-11-04 19:09:17 206

原创 设计模式:代理模式

定义:为一个对象提供一个替身或占位符以控制对这个对象的访问。下面我们来详细的看一下类图:首先是ISubject,它为RealSubject和Proxy提供了接口。通过实现同一接口,Proxy在RealSubject出现的地方取代它。RealSubject是真正做事的对象,它是被Proxy代理控制访问的对象。Proxy持有RealSubject的应用。客户和RealSubject的交互必须通过Pro...

2018-07-07 22:06:04 287

PDF转Word工具

将PDF转成Word文档。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-01-14

ZigBee CC2530视频教程

ZigBee CC2530视频教程 最近在倒腾Zigbee,准备参加物联网全国大赛,学校有给我们发Zigbee开发板,但是对于喜欢折腾的我来说,用开发板还是不过瘾,起码也得知道怎么去画一块板子。于是乎,在百度一番后就有了下面这篇文章。 作为片上系统Soc,CC2530的集成度是非常高的,这也方便了我们开发者。搭建它的最小系统比较简单。

2018-01-07

计算机网络精讲视频教程

共105个课时,讲计算机网络基础,对你绝对非常有帮助!! 1、课程介绍 2、局域网 3、Internet和广域网 4、规划ip地址和MAC地址。。。。。 55、TCP和UDP的应用场景。。。。60、UDP首部。。。79、HTTPT协议和网址。。。。105、创建临时无线网络

2018-01-07

ZigBee无线网络和收发器

ZigBee是为低数据速率、短距离无线网络通信定义的一系列通信协议标准。基于ZigBee的无线设备工作在868MHZ, 915MHZ和2.4Z频带。其最大数据速率是250Kbps. ZigBee技术主要针对以电池为电源的应用,这些应用对低数据速率、低成本、更长时间的电池寿命有较高的需求。在一些ZigBee应用中,无线设备持续处于活动状态的时间是有限的,大部分时间无线设备是处于省电模式(也称休眠模式)的。因此,ZigBee设备在电池需要更换以前能够工作数年以上。

2018-01-07

OkHttp源码详解

详细讲解OKHttp的实现。。。。。。在网络请求的小节中,我们已经看到了Interceptor的布局,在负责和服务器建立连接的ConnectInterceptor之前,就是CacheInterceptor。他们执行过程就是:在建立连接之前,我们检查响应是否已经被缓存、缓存是否可用,如果可用则直接返回缓存的数据,否则就进行后面的流程,并在返回之前把网络的数据写入缓存。

2017-11-30

空空如也

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

TA关注的人

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