![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
文章平均质量分 60
培金
目前从事android软件开发工作。承接android应用开发。合作请邮件:lingbjecit@163.com
展开
-
总结项目中 retrofit 的架构
前言项目中用到了retrofit框架,retrofit在项目中框架的作用非常重要,所以想总结一下,方便以后自己搭框架时,能有更好的使用。类结构其中Api类是对外提供统一访问接口,其亦是单例类public class Api { private String baseUrl = "https://api.littleox.com/";//替换自己项目服务器端的地址 ...原创 2019-10-21 12:17:44 · 250 阅读 · 0 评论 -
Leetcode 1012. 十进制整数的反码
题目每个非负整数 N 都有其二进制表示。例如, 5 可以被表示为二进制 “101”,11 可以用二进制 “1011” 表示,依此类推。注意,除 N = 0 外,任何二进制表示中都不含前导零。二进制的反码表示是将每个 1 改为 0 且每个 0 变为 1。例如,二进制数 “101” 的二进制反码为 “010”。给定十进制数 N,返回其二进制表示的反码所对应的十进制整数。示例 1:输入:5输...原创 2019-03-23 13:27:25 · 385 阅读 · 0 评论 -
炒鸡全面 android 总结
进程通信默认情况下,同一个应用所有组件在相同的进程线程中运行,即如果应用已经启动,则后续组件启动也在已有进程中进程默认情况下所有组件在相同的进程中运行。但是可以在清单文件中进行配置,即添加属性android:process=""(不同于android:sharedUserId ="",此是应用进程)android系统根据需要会在内存较低的情况下销毁进程进程生命周期进程的5个重要等级...原创 2019-03-29 09:12:54 · 147 阅读 · 0 评论 -
Android Handler post( runnable r) 后发生了什么?
Handler 调用MessageQueue将Runnable对象封装到Message中。 public final boolean post(Runnable r) { return sendMessageDelayed(getPostMessage(r), 0); }将延迟时间统一到未来时间点 public final boolea...原创 2019-04-15 17:15:45 · 141 阅读 · 0 评论 -
二叉查找平衡树---再平衡旋转
public class AvlTree { public AvlTree() { } public static class AvlNode { int val; AvlNode left; AvlNode right; int height; AvlNode(int e) { val = e; } AvlNode(int e, AvlNode ...原创 2019-04-03 15:45:38 · 168 阅读 · 0 评论 -
Handler 知识总结
官方介绍A Handler allows you to send and process Message and Runnable objects associated with a thread’s MessageQueue. Each Handler instance is associated with a single thread and that thread’s message ...原创 2019-04-12 18:08:48 · 163 阅读 · 0 评论 -
多线程并发demo代码
import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.WeakHashMap;import java.util.concurrent.atomic.AtomicInteger;public class MultiThread { //使用原子整数,对数的自增是线程安...原创 2019-04-09 16:44:23 · 299 阅读 · 0 评论 -
Leetcode 617. 合并二叉树
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1...原创 2019-04-09 17:46:31 · 98 阅读 · 0 评论 -
Leetcode 107. 二叉树的层次遍历 II
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]解法代码/** * Definition...原创 2019-04-24 20:07:27 · 112 阅读 · 0 评论 -
短信列表滑动慢、卡顿---性能优化总结
前提以前面试中,面试官问到我优化了那些点。我当时紧张,只回答了说一个日期格式化的优化。所以从这个经历来说,我个人对自己做过的优化没有总结,优化的方法没有仔细地考虑原因,以及这个优化会有什么其他的副作用。今天特意来总结,因为最近学习了JVM内存布局、并发、锁等方面的知识,通过这些知识来更好的理解当初的优化方法。当初优化通过工具分析到卡顿点,找出了优化方法,而没有分析为什么这样优化会达到效果。短信...原创 2019-06-06 16:46:42 · 580 阅读 · 3 评论 -
RXJava介绍--牛逼货必须掌握的要点
前言本文翻译《Introduction to RxJava》,英语水平有限,翻译错误,请大家包涵。1.概述本篇文章,我们将专注于Java 的RX(Reactive Extensions)使用来生成和消费数据流。大致来看,RX 的API非常类似 Java 8的流(streams),但实际上,RX 更灵活、流畅性,成为一个强有力的编程典范。如果你想更多的了解 RXJava,请点击传送门2.设...原创 2019-08-27 11:27:52 · 212 阅读 · 0 评论 -
Leetcode 118. 杨辉三角
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解题1.首先,们知道必须要一个numRows的循环。其次是内层循环。本题的时间复杂度O(n^2)。空间复杂度亦同。...原创 2019-03-18 18:16:00 · 213 阅读 · 0 评论 -
关于Android O系统短信拦截的流程
前言本文的源码采用anroid9的首先待拦截的号码需要进行存储,而且号码的个数肯定很多,用户使用的情况复杂,所以选择数据库进行存储。拦截层需要在系统中进行,所以上层APP需要访问数据,所以数据库不能是本地数据库,需要是以contentprovider形式提供服务。frameworks/base/core/java/android/provider/BlockedNumberContract....原创 2019-03-21 12:36:05 · 786 阅读 · 3 评论 -
反射机制会破坏单例模式嘛
现在已经标准的实现了单例模式(单检查锁,双检查锁,枚举),如果我们通过反射机制调用,是否会产生多个实例,即破坏了单例模式。原创 2018-06-29 12:23:19 · 1634 阅读 · 0 评论 -
关于CopyOnWriteArrayList的技术理解
前言项目源代码中使用了CopyOnWriteArrayList类,出于好奇就研究它,看它里面有那些优点,作者设计基于什么考虑,能带来那些好处。原注释如下/** * A thread-safe variant of {@link java.util.ArrayList} in which all mutative * operations ({@code add}, {@code...原创 2018-08-01 15:46:21 · 392 阅读 · 0 评论 -
vim 初级生存技巧---vim官方练习文档
================================================================================ W e l c o m e t o t h e V I M T u t o r - Version 1.7 =========================================...原创 2018-09-02 18:10:05 · 1455 阅读 · 0 评论 -
scrapy框架爬虫官方引导教程
Scrapy Tutorial转载 2018-09-26 17:31:59 · 138 阅读 · 0 评论 -
DAGGER2 学习总结
Dagger解决android中的依赖注入问题,即实现控制反转(IoC)技术,Ioc的主要目的是一个类应该重外部获取自身的依赖。Dagger1 含2个缺点:1,因为反射,使得自己变慢;2,使用运行时依赖解决方案,会导致异常崩溃。依赖注入的优点:提高类的重用性和能够独立于其他类来测试他们。注入模式:1.构造器注入:注入方法参数。2.字段注入:注入成员变量。3.方法注入:注入方法参数。依...原创 2018-10-12 14:42:53 · 247 阅读 · 0 评论 -
初学者必须知道的Java中 equals & hashCode方法的应用
方法的定义equalsJava中的每个类都直接或间接继承至Object类。如果子类没有重写此方法,那么就默认调用父类的方法: public boolean equals(Object obj) { return (this == obj);//直接比较2个对象是否相等,这里比较2对象的内存地址 } //直接调用内部方法 public ...原创 2018-11-23 19:54:33 · 185 阅读 · 0 评论 -
leetcode 83. 删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解法代码示例/** * Definition for singly-linked原创 2019-03-14 18:44:20 · 105 阅读 · 0 评论 -
Leetcode 38. 报数
题目报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。给定一个正整数 n(1 ≤ n ...原创 2019-03-15 17:53:50 · 120 阅读 · 0 评论 -
spring boot 第一天
今天试着接触spring boot这个开源框架,学习的教程是:Spring Boot 基础。1.下载了eclipes jee版本。接触maven,他是一个项目管理软件,结构化构建项目。与andriod studio的gradle很类似。了解了项目的一些基本配置方法,在pom.xml文件中进行配置。整个spring boot框架,没有发现很多的额外jar包,要我们开发人员自己配置。用起来还是很...原创 2019-03-11 20:50:48 · 128 阅读 · 0 评论 -
补码知识
在计算机二进制系统中,正数&负数的区别在最高位,最高位0表示正数,为1表示负数。计算机做加减乘除运算时,最终是转化为加法运算。比如 3-8 = 3+(-8);正数的补码是本身。负数的补码是将其对应的正数位按位取反再加1.-8:0001000->1110111->1111000->111110003-8:11111000+00000011->1111101...原创 2019-03-21 10:37:16 · 671 阅读 · 0 评论 -
仿微信翻译----本地短信翻译。
前言我们印度客户要实现翻译短信,具体功能就是做出微信翻译一样。 技术选择要将一种语言翻译成另外一种语言,需要平台支持,不可能我们自己写代码翻译。我们这边选择了google云翻译,google平台比较靠谱,翻译的结果非常准确。软件架构翻译模块UI显示DB存储数据 类图 实现效果图总结要调试googgle的翻译API必须能够链接外网,我们公...原创 2018-06-13 12:19:28 · 677 阅读 · 2 评论