- 博客(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
原创 344. 反转字符串-字符串系列
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。
2024-08-03 15:48:34
215
原创 Leetcode算法-求根节点到叶节点数字之和
树中每个节点都存放有一个。计算从根节点到叶节点生成的。给你一个二叉树的根节点。是指没有子节点的节点。
2023-08-12 18:05:59
188
原创 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
原创 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
原创 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
ZigBee CC2530视频教程
2018-01-07
计算机网络精讲视频教程
2018-01-07
ZigBee无线网络和收发器
2018-01-07
OkHttp源码详解
2017-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人