- 博客(58)
- 收藏
- 关注
原创 我的编程知识体系
里面的很多概念来源于:我的阅读大纲、网络搜索、维基百科 这既是我的学习大纲,也是我的博客写作大纲,以后,争取:好好学习,多多更新! 希望和大家一起成长,也希望大家都能过上自己想要的生活!阅读、思考、记录、整理、分享、实践、更新!
2016-05-09 00:42:11 1518 2
原创 极简信息管理工具-WorkFlowy,告别工具选择困难症,一站式搞定GTD+PKM
或者,我们要整理百度网盘的资料之前,可以先在 WorkFlowy 里面规划一下网盘的文件夹体系,不要一边思考文件夹体系,一边移动文件夹,因为百度网盘移动文件夹还挺慢的,有的时候还没想好文件夹体系就去拖来拖去,会增加很多等待文件拖动完成的时间,有点浪费时间。随时将【时间日志】节点下的记录,拆分细化,整理完成的小笔记,拖动到【卡片笔记】的目录下,有必要的可以加个标签。记录自己每天的各种活动,将自己的活动作为一个【社会实验】的观察样本,记录它的执行过程和输入-输出,方便以后不断优化策略。勾选完成的的感觉真爽。
2023-10-08 17:01:43 530
原创 RecyclerView.Adapter的封装之路
封装后的用法:原始的Adapter单布局的Adapter多布局-单实体的Adapter多布局-多实体的Adapter多布局-多实体-多列的Adapter具体的封装过程:1-SingleAdapter:将Adapter从具体到泛型 思路: 1. 构造时传入layoutId 2. 数据类型泛化 3. 提取出万能的SuperViewHolder 4. bindData的方法抽象
2016-07-19 15:50:09 4547 3
原创 自定义RxJava之旅
序幕什么是RxJavaRxJava的特性RxJava有什么用自定义RxJava之旅同步方式异步回调方式异步任务方式-原始异步任务方式-事件变换异步任务方式-操作符控制事件变换异步任务方式-Lambda简写事件变换异步任务方式-事件链式变换RxJava方式-原始RxJava方式-Lambda链式序幕1.什么是RxJava?RxJava是一个针对于Java语言的一个异步的响应式
2016-07-07 02:03:06 2808 3
原创 常用工具类-Log打印
效果图 提供的信息: 1. 线程的信息 2. 类的信息 3. 方法的信息 4. 可跳转到源码处用例: private void testLog() { LogUtil.print(""); LogUtil.print("你好"); LogUtil.print("net", "baidu.com"); LogU
2016-07-06 16:55:19 949
原创 自定义消息传递机制
Handler结构: 对应关系: 1. 每个Thread对应一个Looper 2. 每个Looper对应一个MessageQueue 3. 每个MessageQueue对应N个Message 4. 每个Message对应一个Handler测试类 目标:先在主线程执行一些操作,然后发起一个异步任务,再在主线程继续做其它操作,当异步任务完成后,再回调通知主线程做一些操作
2016-07-05 00:16:24 2083 2
原创 设计模式-5种创建型
单例模式代码输出原型模式代码输出建造者模式代码输出静态工厂模式代码输出工厂方法模式代码输出抽象工厂模式代码输出1.单例模式 单例模式的实现,一共有5种方式: 1. 饿汉式 2. 懒汉式 3. 双重锁定式 4. 枚举式 5. 静态内部类式 此处仅以最常见的双重锁定式为例! 适用于内存中只有唯一实例,避免频繁创建销毁。
2016-06-17 16:29:44 1110 2
原创 自定义视图-贝塞尔曲线
APK下载地址1.贝塞尔曲线 以下公式中: B(t)为t时间下 点的坐标; P0为起点,Pn为终点,Pi为控制点一阶贝塞尔曲线(线段): 意义:由 P0 至 P1 的连续点, 描述的一条线段二阶贝塞尔曲线(抛物线):原理:由 P0 至 P1 的连续点 Q0,描述一条线段。 由 P1 至 P2 的连续点 Q1,描述一条线段。 由 Q0 至 Q1
2016-06-15 16:26:18 5137 2
原创 Java-内存结构
内存泄露是什么?内存泄露的定义: 当某些对象不再被应用程序所使用,但是由于仍然被引用而导致垃圾收集器不能释放(Remove,移除)他们. 用白话来说就是: 该回收的内存没被回收,最后因为内存不够用而导致程序报错。要理解这个定义,我们需要理解内存中的对象状态. 下图展示了什么是不使用的部分,以及未被引用的部分: 从图中可以看出,内存中存在着 有引用的对象,和无引用的对象. 无引用的对象
2016-06-02 11:10:23 475
原创 公共基础-CodeReview
什么是代码Review?代码review是指在软件开发过程中,通过对源代码进行系统性检查来确认代码实现的质量保证机制为什么不做代码Review?业务需求大,工作时间紧张 项目小,协作的人少,没必要为什么要做代码Review?提高代码质量,提升自身水平 及早发现潜在缺陷与BUG,降低事故成本 促进团队内部知识共享,提高团队整体水平 保证项目组人员的良好沟通 避免开发人员犯一些很常见,很普通
2016-06-02 10:39:51 442
原创 自定义视图-马赛克视图
这里我是直接继承的ImageView,主要是为了能兼容之前的项目,因为之前是直接用的ImageView。思路根据原图片生成一个全马赛克的图片监听手势,得到应该显示的马赛克方块的集合根据方块的集合,刷新视图,这里用到了Paint的Xfermode(图片混合模式) 手势图和全马赛克图混合,在相交处绘制马赛克图将上一步的图和原图混合,在相交处绘制上一步的图,在不相交处绘制原图,搞定收工!效果
2016-05-30 19:08:22 1102
原创 Java-排序算法
插入排序1动图展示2算法描述3示例代码选择排序1动图展示2算法描述3示例代码冒泡排序1动图展示2算法描述3示例代码快速排序1动图展示2算法描述3示例代码合并排序1动图展示2算法描述3示例代码希尔排序1动图展示2算法描述3示例代码堆排序1动图展示2算法描述3示例代码这里抽象出了一个排序基类:public abstract class BaseSor
2016-05-26 15:28:26 3810
原创 Java-常见错误集锦
1.在一个循环中从一个列表里删除一个元素测试代码: /** * 在一个循环中从一个列表里删除一个元素 */ private static void testListRemove() { List<String> list = new ArrayList(Arrays.asList("a", "b", "c", "d")); //错误姿
2016-05-26 14:39:58 475
原创 Java-线程池
new Thread的弊端Java 自带线程池1newCachedThreadPool2newFixedThreadPool3newScheduledThreadPool4newSingleThreadExecutor自定义线程池1 四种自带线程池的实际构造方法2ThreadPoolExecutor构造方法3简单的自定义线程池1.new Thread的弊端执行一个异步任务你还只是
2016-05-26 10:39:12 809
原创 Java-克隆
假克隆1测试代码2输出结果3结果分析浅克隆1测试代码2输出结果3结果分析深克隆测试代码输出结果结果分析总结1.假克隆1.1测试代码 /** * 假克隆 * <p> * 只复制了对象,没有复制对象的引用 */ private static void testFakeClone() { //源对象 B
2016-05-25 16:11:00 824
原创 Java-类的初始化顺序
基本顺序:(静态变量、静态初始化块)>(变量、初始化块)>构造器。测试代码:package com.che.carcheck.support.test.other;/** * 测试类的初始化顺序 * * 作者:余天然 on 16/5/25 上午11:49 */public class TestInitOrder { public static void main(String[] a
2016-05-25 13:26:16 394
原创 Java-泛型
泛型类示例代码泛型接口示例代码泛型方法示例代码类型擦除代码片段1代码片段2代码片段3代码片段4代码片段5擦除的补偿代码片段6代码片段7泛型类不用泛型的容器类:public class Container { private String key; private String value; public Container(String k, Str
2016-05-24 17:06:54 392
原创 Java-集合
集合和数组数组集合2个公用接口CollectionIterator3种常用集合SetListMap集合工具类集合和数组数组 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)集合 JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数
2016-05-24 15:51:26 476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人