自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(36)
  • 资源 (29)
  • 收藏
  • 关注

原创 动态生成CSS轮播动画

1. 实现轮播动效,每个展位显示3s,然后0.5s滚动到下一个展位,依次循环播放。2. 展位个数是服务端下发的任意数量。本文尝试一步一个脚印给你呈现如何干得漂亮。

2022-10-23 03:35:15 586 1

原创 Android事件分发机制抽象--钓钩模型

如果你对上图的问题没有把握,那这篇文章会告诉你答案。本文尝试从“问题驱动理解” 角度将错综复杂的事件分发机制一言以蔽之–钓钩模型,像钓鱼钩那样迎刃解决各种事件分发机制疑难杂症。内含大量有深度有趣味的图片,给枯燥的原理分析加点甜。用户体验小姐姐巧妙地利用有限的手机屏幕空间,完美地设计出简单实用的交互功能,如果多问一句 “怎么做到的” ?答案必须是从事件分发机制的高超运用说起。在我 Android 应用业务开发职业生涯中,接触到最多的也正是如何运用事件分发机制和自定义控件,堆砌出一幅幅可交互的精致业务功能画面

2020-12-19 21:54:01 239 2

原创 进击ReactNative-徐如林-React源码解析

目录定目标传道(攻坚方法论)授业(懂算法)解惑(考考你)组件生命周期数据结构Virtual DOMDiff算法原理追过程学习运行(Playground)源码迷航微光大海航术用户态(浅水区)组件API生命周期内核态(深水区)初始渲染时间线用户点击渲染时间线小结简约伪代码方法调用图拿结果QA高性能实践问题定位利器方法钩子长歌结语参考有的人可能会不理解,大前端平台化的战火为谁而燃,吾辈何以为战?专注于移动互联网大前端致富,一直是我们最崇高的理想,而ReactNative是横亘在中间的桥头堡。纵观行业风向,有作

2020-11-15 21:35:32 1372 2

原创 进击ReactNative-FlatList源码解析

FlatList的性能高在哪里?☞阅读原文考考你问:在数据项高度不确定情况下,js侧不具备直接计算组件大小的能力,是怎么知道首屏展示几个数据项?答:js侧首屏几个不是直接计算出来的,而是先通过设置的属性估算出几个数据项,同时设置数据项和列表的布局监听回调onLayout,回调中修正数据项个数(如果还有数据项并且屏幕还有空间,则继续添加数据项)。问:FlatList只展示屏幕中的个数,那怎...

2019-07-17 20:12:05 575

原创 进击ReactNative-疾如风

情境(Situation) 约法三章 三问 三看 向后看 向外看 向前看 三思 思危 思退 思变 三愿 冲突(Complication) 疑问(Question) 5W2H分析法 答案(Answer) 三原则 有理 有利 有节 庖丁解牛 磨刀霍霍 一刀两断 吞刀吐火 Ja...

2019-01-12 20:38:30 752 6

原创 Android事件分发-来龙去脉

关键词:Android、事件分发、源码剖析情境(Situation)1. 专注于移动互联网数年,作为高P的我【鼓掌】竟然对事件分发机制见招拆招,似懂非懂。不专业,没法忍。2. View树的递归嵌套逻辑让广大一线同行云里雾里,手足无措。冲突(Complication)1. 网上好多相关主题的博客,描述信息点非常多(但是ACTION_CANCEL描述很少),看完后不明觉厉。2. 事件分发主...

2019-01-12 12:12:09 296

原创 synchronized 类锁 对象锁

synchronized 类锁 对象锁

2015-09-08 10:55:38 630

原创 使用WebView中的Javascript和本地代码交互

使用WebView中的Javascript和本地代码交互

2014-04-30 17:06:40 1159

原创 后台进程弹Toast的几种方案

后台进程弹Toast

2014-04-25 19:57:52 4059

原创 如何设置浏览器启动默认网页

最近发现自己的浏览器启动后进入一个xxx网页,怀疑是中病毒了。找了好长时间也没有解决,设置主页也不行。后来上网查答案时无意右击浏览器图标查看属性,发现快捷方式后面的带了参数。只要把参数改为自己想要的url,就能做到打开浏览器启动该url。

2014-04-10 09:56:13 2218 1

原创 Android Logcat和Debug的使用

摘要:1.使用Logcat跟踪查看Activity的生命周期。2.使用Logcat跟踪查看Class的加载顺序。3.使用Debug调试,跟踪代码。内容:1.Activity的生命周期。详情参考http://developer.android.com/guide/components/activities.html2.创建一个Android工程,在MainAc

2014-03-30 13:20:46 2010

原创 原型模式(Prototype Pattern)案例解析

原型模式(Prototype Pattern)案例解析案例描述:返回对象的克隆。

2013-12-25 11:53:49 1011

原创 原型模式(Prototype Pattern)案例解析

原型模式(Prototype Pattern)定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类图:案例描述:克隆对象案例源码:{CSDN:CODE:126750}运行结果:Prototype1Prototype1false

2013-12-24 21:19:48 155

原创 单例模式(Singleton Pattern)案例解析

单例模式(Singleton Pattern)案例解析案例描述:公司里面的所有员工共用一台打印机打印文件。打印机是全局唯一资源,可以用单例描述。

2013-12-24 20:57:44 1017

原创 字符串逆转

逆序输出一段话,如输入"I want to change the world",则输出"world the change to want I"。将数组的后面若干位换到前面,如将0123456789变为6789012345。

2013-12-24 20:36:16 979

原创 栈溢出、內存溢出、Java內存泄露

Java栈溢出、Java內存溢出、Java內存泄露

2013-12-24 20:06:43 1239

原创 建造者模式(Builder Pattern)案例解析

建造者模式(Builder Pattern)案例描述:有一个作战平台,上面可以安装满足其规格的任意一种武器,但仅限于一种,所以作战平台可以根据需要替换不同武器。对于作战平台来说,当需要攻击一个目标时,他只需要向当前武器下达aim和fire两条命令即可将目标摧毁(对作战平台来说,不同的武器对他并没有区别),而真正完成aim和fire的操作由当前武器自己完成,这也是作战平台上安装的武器需要的规格,即可以自己在接受到aim和fire命令后完成摧毁目标的操作。

2013-12-24 18:57:17 1393

原创 观察者模式(Observer Pattern)案例解析

观察者模式(Observer Pattern)案例解析案例描述:有一个雷达负责扫描目标,一旦发现目标,就会通知攻击序列对目标进行摧毁,攻击序列中的所有武器会向目标发动攻击。现有的武器可以加入攻击序列,也可以退出攻击序列。雷达扮演Subject,大炮和导弹扮演Observer,大炮和导弹通过attach加入到雷达的攻击序列,一旦雷达发现目标,启动攻击序列摧毁目标。

2013-12-24 12:46:44 1062

原创 new String创建了多少个String对象

new String创建了多少个String对象

2013-12-23 20:02:12 1397

原创 插入、删除、修改指向下一节点和下下一节点链表

操作一个链表,链表中的节点有两个指针,一个指向下一个节点, 一个指向下下一个节点,如果下一个节点或者下下一个节点为空,则为null。操作为插入,删除,修改。

2013-12-21 14:09:18 1519

原创 寻找数组中的值

一个长度为100的数组,开始乱序存放了1到100共100个数, 将其中一个位置上面的数字赋值为-1,请问该位置赋值之前是多少?一个长度为100的数组,开始乱序存放了1到100共100个数, 将其中两个位置上面的数字赋值为-1,请问这两个位置赋值之前分别是多少?给出一个递增数组array和由array中两个数的和n,求出这两个数?求两个递增数组的最小距离,即在两个数组中各取一个数,使得这两个数的差最小?

2013-12-18 21:20:28 985

原创 栈和队列操作:栈实现、队列实现、双栈实现队列、双队列实现栈、栈实现O(n)求当前栈最大值

栈实现队列实现双栈实现队列双队列实现栈栈实现O(n)求当前栈最大值

2013-12-18 17:16:45 1399

原创 过滤连续空格

输入一句话,里面含有多个空格,一次遍历将多个连续空格变成一个空格。/* * shsheng */public class FilterSpaces { public static void main(String[] args) { test(); }/* * 输入一句话,里面含有多个空格,将多个连续空格变成一个空格。 */

2013-12-18 15:12:53 759

原创 卡特兰数(Catalan)应用:输出所有N对合法括号序列和输出所有已知进栈序列的合法出栈序列

Catalan应用输出所有N对合法括号序列输出所有已知进栈序列的合法出栈序列/* * shsheng */public class Catalan { // Catalan数可以用来描述以下问题,有2*n个人排队买票,票5元一张, // 2*n个人中n个人拿着5元钱买票,另外n个人拿着10元钱, // 售票员没有带钱,问2*n个人有几种排队方法,

2013-12-18 14:40:27 1403

原创 构成回文序列最少要增加多少字符

构成回文序列最少要增加多少字符方法一:为递归比较数组的头和尾:如果头尾对应相同,则回文序列求解递归求解去头尾的回文序列(X...X => ...);如果头尾对应不同,则有两种情况,一种是在尾部后面添加头(X...Y => X...YX => ...Y),一种是在头部前面添加尾(X...Y => YX...Y => X...),解法为递归求解两种情况,取情况小的那种。

2013-12-17 22:35:55 1111

原创 二叉树转换为双向链表

二叉树转换为双向链表通过随机创建二叉排序树测试二叉树转换为双向链表是否正确import java.util.Random;/* * shsheng */public class BinTreeToDoubleLinkedList { public static void main(String[] args) { try {

2013-12-17 21:33:32 999

原创 二叉树递归和非递归遍历以及层次构建节点数为n的二叉树

目录:二叉树深度二叉树前序遍历递归实现二种非递归实现二叉树中序遍历:递归实现非递归实现二叉树后序遍历:递归实现非递归实现二叉树层次遍历二叉树层次创建,创建方法遵循卡特兰数import java.util.Queue;import java.util.Stack; /* * ssuchange */pub

2013-12-17 17:56:29 1558

原创 蛇形矩阵求解

蛇形矩阵求解Java代码: public class SnakeMatrix {     /**     * @param args     */    public static void main(String[] args) {        snakeMatrix(2,4);

2013-12-16 10:09:53 916

原创 求解最大子序列、最长递增子序列、最长公共子串、最长公共子序列

求解最大子序列、最长递增子序列(Longest Increasing Subsequence)、最长公共子串LCS 、最长公共子序列最大子序列:找出由数组成的一维数组中和最大的连续子序列。最长递增子序列(Longest Increasing Subsequence):设L=是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=akm>,其中k1akm。求最大的m值。

2013-12-16 00:26:49 1838

原创 输出n的全排列

输出n的全排列,有两种方法:1. 采用递归插入的方法,如果知道n-1的全排列,n的全排列为将数值n插入的n-1的全排列之间的空隙和两头共n个位置。2. 采用递归标记填充的方法,查看标记数组,将未标记的数值依次填充当前位置,然后更新标记数组并递归下一位置。Java代码:public class Factorial {     /**     * @para

2013-12-13 20:27:48 1894

原创 青蛙上台阶,可以一下跳1步,也可以一下跳2步,n层台阶所有跳法?

青蛙上台阶,可以一下跳1步,也可以一下跳2步,n层台阶所有跳法?问题分析:1. 该问题为斐波那契数列问题,问题的求解方法是对子问题的递归求解。f(n)=f(n-1)+f(n-2)n>2,f(1)=1,f(2)=2.2. 求解出所有解法,则需要用栈记录递归中的解法。Java代码:public class JavaTest {    in

2013-12-12 22:49:36 1690

原创 快速排序

快速排序描述:通过若干次划分的方法完成待排序序列的排序。划分是通过一次遍历用基准数将待排序序列分成两个部分,在基准数左边的部分都小于等于该基准数,在基准数右边的都大于等于该基准数。经过一次划分后,待排序序列划分成两个独立的序列,然后分别将划分过后的两个独立序列当做待排序序列再进行划分。Java代码:    // 划分方法返回基准位置,    // 基准位置左边的所有

2013-12-12 22:15:45 618

原创 二分查找

二分查找普通二分查找描述:求解递增序列array的sta位置到end位置中间满足等于val值的位置。适用范围:有序序列。优势:如果数组长度为n,其算法复杂度为o(log(n)),每次查找能够将数组范围缩小到数组当前长度的一半。求解:1.  判断sta位置是否在end位置后面。l  stal  sta>end,找不到满足等于val值的位置,退出循环,返回-1,表示没有

2013-12-12 00:13:27 670

原创 简单工厂-工厂方法-抽象工厂对比,给出理解思路和Java参考案例源码

1.   简单工厂l        一个具体工厂通过条件语句创建多个产品,产品的创建逻辑集中与一个工厂类。l        客户端通过传不同的参数给工厂,实现创建不同产品的目的l        增加新产品时,需要修改工厂类、增加产品类,不符合OCP原则人去吃食物(酒,肉),店只有一家,需要指定要什么。由Factory根据出入的参数直接创建出ConcreteFood。

2013-10-24 17:12:45 886 1

原创 android 文件夹浏览器编码实现

思路:获取当前目录下的文件列表,然后显示到listview上面,当点击某个文件夹,则重新加载listview的内容为该文件夹下的文件列表,如果点击文件,则选择打开文件方式打开文件。步骤一:获取目录下的文件列表:// 获取路径path下的所有文件信息public ArrayList> getFilesList(File file) {if (file == null) {

2013-08-19 10:15:48 801

原创 Android文本翻页编码实现

Android文本翻页编码实现步骤一:读取文本并且把文本转换成图片。1.用MappedByteBuffer读取文本,MappedByteBuffer将文件直接映射到内存(这里的内存指的是虚拟内存,并不是物理内存,后面说证明这一点)。通常,可以映射整个文件,如果文件比较大的话可以分段进行映射,只要指定文件的那个部分就可以。具体可参照(http://blog.sina.com.cn/s/b

2013-08-06 08:07:42 1729 1

zip文件使用WebView中的Javascript和本地代码交互

zip文件使用WebView中的Javascript和本地代码交互

2014-05-04

使用WebView中的Javascript和本地代码交互

使用WebView中的Javascript和本地代码交互

2014-04-30

WeatherListWidget

WeatherListWidget源码

2014-03-31

StackViewWidget

StackViewWidget源码

2014-03-31

插入、删除、修改指向下一节点和下下一节点链表

操作一个链表,链表中的节点有两个指针,一个指向下一个节点, 一个指向下下一个节点,如果下一个节点或者下下一个节点为空,则为null。 操作为插入,删除,修改。 博客:http://blog.csdn.net/ssuchange/article/details/17465591

2013-12-21

寻找数组中的值

一个长度为100的数组,开始乱序存放了1到100共100个数, 将其中一个位置上面的数字赋值为-1,请问该位置赋值之前是多少? 一个长度为100的数组,开始乱序存放了1到100共100个数, 将其中两个位置上面的数字赋值为-1,请问这两个位置赋值之前分别是多少? 给出一个递增数组array和由array中两个数的和n,求出这两个数? 求两个递增数组的最小距离,即在两个数组中各取一个数,使得这两个数的差最小? http://blog.csdn.net/ssuchange/article/details/17402991

2013-12-18

栈和队列操作:栈实现、队列实现、双栈实现队列、双队列实现栈、栈实现O(n)求当前栈最大值

栈实现 队列实现 双栈实现队列 双队列实现栈 栈实现O(n)求当前栈最大值 http://blog.csdn.net/ssuchange/article/details/17398007

2013-12-18

过滤连续空格

输入一句话,里面含有多个空格,一次遍历将多个连续空格变成一个空格。

2013-12-18

卡特兰数(Catalan)应用:输出所有N对合法括号序列和输出所有已知进栈序列的合法出栈序列

Catalan应用 输出所有N对合法括号序列 输出所有已知进栈序列的合法出栈序列 http://blog.csdn.net/ssuchange/article/details/17394609

2013-12-18

构成回文序列最少要增加多少字符

构成回文序列最少要增加多少字符 方法一: 为递归比较数组的头和尾: 如果头尾对应相同,则回文序列求解递归求解去头尾的回文序列(X...X => ...); 如果头尾对应不同,则有两种情况, 一种是在尾部后面添加头(X...Y => X...YX => ...Y), 一种是在头部前面添加尾(X...Y => YX...Y => X...), 解法为递归求解两种情况,取情况小的那种。 方法二: 解法二为求出字符串与逆序字符串的最长公共子串, 需要增加数目为字符串总数减去最长公共子串长度。 http://blog.csdn.net/ssuchange/article/details/17385039

2013-12-17

二叉树转换为双向链表

二叉树转换为双向链表 通过随机创建二叉排序树测试二叉树转换为双向链表是否正确 http://blog.csdn.net/ssuchange/article/details/17383625

2013-12-17

二叉树递归和非递归遍历以及层次构建节点数为n的二叉树

二叉树深度 二叉树前序遍历 递归实现 二种非递归实现 二叉树中序遍历: 递归实现 非递归实现 二叉树后序遍历: 递归实现 非递归实现 二叉树层次遍历 二叉树层次创建,创建方法遵循卡特兰数 http://write.blog.csdn.net/postedit/17380455

2013-12-17

打印蛇形矩阵

// 例如 4 x 4 蛇形矩阵 // 1 3 - 4 10 // | / / / | // 2 5 9 11 // / / / // 6 8 12 15 // | / / / | // 7 13 - 14 16 http://blog.csdn.net/ssuchange/article/details/17347743

2013-12-16

求解最大子序列、最长递增子序列、最长公共子串、最长公共子序列

求解最大子序列、最长递增子序列、最长公共子串、最长公共子序列. http://blog.csdn.net/ssuchange/article/details/17341693

2013-12-16

n全排列输出

输出n的全排列,有两种方法: 1. 采用递归插入的方法,如果知道n-1的全排列,n的全排列为将数值n插入的n-1的全排列之间的空隙和两头共n个位置。 2. 采用递归标记填充的方法,查看标记数组,将未标记的数值依次填充当前位置,然后更新标记数组并递归下一位置。

2013-12-13

青蛙上台阶,可以一下跳1步,也可以一下跳2步,n层台阶所有跳法?

青蛙上台阶所有解 兔子繁殖问题 斐波那契数列

2013-12-12

快速排序标准代码

快速排序 快排标准代码 快速排序标准代码 快速排序分析

2013-12-12

二分查找扩展

二分查找扩展 二分查找变型1--查找第一个值等于val的位置 二分查找变型2--查找最后一个值等于val的位置 二分查找变型3--查找最接近val并且小于val的位置 二分查找变型4--查找最接近val并且大于val的位置

2013-12-12

android文件夹浏览器实现

思路: 获取当前目录下的文件列表,然后显示到listview上面,当点击某个文件夹,则重新加载listview的内容为该文件夹下的文件列表,如果点击文件,则选择打开文件方式打开文件。 实现和小米自带文件夹浏览器需求的文件夹浏览器实现

2013-08-19

Android文本翻页编码实现

Android文本翻页编码实现,实现滑动翻页和翻转翻页,滑动翻页原理为ViewPage和自己组合裁剪重绘,翻转翻页为组合裁剪,我结合网上大牛“何明桂的小窝”和自己整理的数学资料,进一步解释贝塞尔曲线等一下数学知识。

2013-08-06

C#屏幕保护程序源码

C# 屏保 飞雪 旋转图片 全屏显示 C#屏幕保护程序源码

2011-07-11

Authorware迷宫

Authorware 迷宫 maze 迷宫算法动态演示 深度搜索 广度搜索

2011-07-11

图书管理系统Library Management System

图书管理系统 图书管理系统 图书管理系统 图书管理系统Library Management System

2011-05-13

C#Windows计算器程序

C#Windows计算器程序 C#Windows计算器程序 C#Windows计算器程序 C#Windows计算器程序

2011-05-13

java网页俄罗斯方块

Java 俄罗斯方块 网页俄罗斯方块 Java 俄罗斯方块 网页俄罗斯方块 Java 俄罗斯方块 网页俄罗斯方块

2011-05-13

网络象棋对战C#源码

网络象棋对战C#源码 网络象棋对战 网络象棋对战C#源码 网络象棋对战C#源码

2010-10-13

C#俄罗斯方块程序 俄罗斯方块C#源码

C#编写俄罗斯方块程序 俄罗斯方块C#源码 俄罗斯方块C#源码 俄罗斯方块C#源码

2010-10-13

坦克大战C++编程坦克大战C++编程

坦克大战 C++编程 坦克大战 C++编程 坦克大战 C++编程 坦克大战 C++编程 这个程序是一高手所写,非我所有!仅以共享!

2010-04-22

C#迷宫深度搜索和广度搜索

迷宫深度搜索和广度搜索 是否可以走出迷宫和最短路径 1234567890

2009-11-04

空空如也

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

TA关注的人

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