自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

转载 Core Java 52 问(含答案)

上篇文章4.9k Star 安卓面试知识点,请收下!翻译了Mindorks的一份超强面试题,今天带来的是其中Core Java部分 52 道题目的答案。题目的质量还是比较高的,基本涵盖了 Java 基础知识点,面向对象、集合、基本数据类型、并发、Java 内存模型、GC、异常等等都有涉及。整理答案的过程中才发现自己也有一些知识点记不太清了,一边回忆学习,一边整理答案。52 道题,可以代...

2019-04-09 18:46:33 656

原创 程序员必须掌握的递归算法

1 引言程序调用自身的编程技巧称为递归( recursion)。递归作为一种算法在程序设计语言中广泛应用。一个方法或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如求和问题:若要求解S100= 1 +...

2019-04-27 15:40:43 619

原创 详解9种Java单例模式

单例模式的特点一个类只允许产生一个实例化对象。 单例类构造方法私有化,不允许外部创建对象。 单例类向外提供静态方法,调用方法返回内部创建的实例化对象。 懒汉式(线程不安全)其主要表现在单例类在外部需要创建实例化对象时再进行实例化,进而达到Lazy Loading 的效果。通过静态方法 getSingleton() 和private 权限构造方...

2019-04-27 15:26:34 326

原创 30 秒内讲明白 TCP 三次握手

前言某四年经验的同事,去一家包括老板在内总人数只有 13 人的创业团队,面试一份移动端技术经理的职位。开始聊得还挺好的,涉及的不外乎何时何地项目上解决了哪些用户痛点、开发过程中遇到过哪些问题、怎么看待和诊断遇到过的问题、有没有业余的开源项目等等。毕竟四年老手,面试前也有些准备,轻松地就答复了前面这些疑问,只是没想到,面试官最后抛出这样一个问题,把同事给难住了:如何用 30 秒给新手...

2019-04-26 11:09:43 209

原创 Android高级进阶知识(目录索引)

这篇文章是对接下来要写的文章的一个目录说明,这个系列主要是针对安卓的进阶知识的系统阐述或者描述,其中或者引用或者举例说明或者分析源码,总之目标是:掌握知识并且能应用知识,同时希望如果有想要了解的知识可以在文章底下提出一起交流一.View的绘制1)setContentView()的源码分析2)SnackBar的源码分析3)利用decorView机制实现底部弹出框4)换肤框架(一)...

2019-04-25 20:38:49 159

转载 Android进程保活方案的几种方案

自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,决定去总结一下,网上搜索一下进程常驻的方案好多好多,但是很多的方案都是不靠谱的或者不是最好的,结合很多资料,今天总结一下Android进程保活的一些方案,都附有完整的实现源码,有些可能你已经知道,但是有些你可能是第一次听说,(1像素Activity,前台服务,账号同步,Job...

2019-04-25 20:18:02 5314 5

原创 为什么要重写hashcode、 equals 最简单的解析说明

我在面试 Java初级开发的时候,经常会问:你有没有重写过hashcode方法?不少候选人直接说没写过。我就想,或许真的没写过,于是就再通过一个问题确认:你在用HashMap的时候,键(Key)部分,有没有放过自定义对象?而这个时候,候选人说放过,于是两个问题的回答就自相矛盾了。最近问下来,这个问题普遍回答不大好,于是在本文里,就干脆从hash表讲起,讲述HashMap的存数据规则,由此...

2019-04-20 15:06:51 122

原创 正则表达式入门解析!

正则基础知识点 1.元字符 2. 重复限定符 3. 分组 4. 转义 5. 条件或 6. 区间 正则进阶知识点 1. 零宽断言 2. 捕获和非捕获 3. 反向引用 4. 贪婪和非贪婪 5. 反义正则表达式在几乎所有语言中都可以使用,无论是前端的JavaScript、还是后端的Java、c#。他们都提供相应的接口/函数支持正则表达式。但很神奇的是:无论你大学...

2019-04-20 14:47:31 731

原创 HashMap碰撞问题解析

HashMap是最常用的集合类框架之一,它实现了Map接口,所以存储的元素也是键值对映射的结构,并允许使用null值和null键,其内元素是无序的,如果要保证有序,可以使用LinkedHashMap。HashMap是线程不安全的,下篇文章会讨论。HashMap的类关系如下:    java.util    Class HashMap<K,V>      java.lang...

2019-04-18 15:40:22 2918 3

翻译 Android技术栈--HashMap和ArrayMap源码解析

1 总览WARNING!!:本文字数较多,内容较为完整并且部分内容难度较大,阅读本文需要较长时间,建议读者分段并耐心阅读.本文会对 Android 中常用的数据结构进行源码解析,包括 HashMap(有红黑树) + ArrayMap本文ArrayMap的源码来自 Android FrameworkAPI 28和 AndroidX//AndroidXimplementat...

2019-04-18 15:22:26 220

原创 Android Rxjava:图解

1.前言 Rxjava, 具有链式调用、使用简单&事件与结果松耦合的特点。 Rxjava, 之所以深受欢迎它包含非常多操作符,能通过 【链式形】 优雅整洁的代码几乎能实现所有的功能需求。 本文特点:图多字少、逻辑简单。 之前面试中被问了很多Rxjava的知识,今天献一份不一样诠释,希望大家喜欢。 2.目录3.简介4.原理浅析Rx...

2019-04-18 11:50:30 155

原创 手把手教你 GitLab 的安装及使用

前言新入职公司,发现公司还在使用落后生产工具 svn,由于重度使用过 svn 和 git ,知道这两个工具之间的差异,已经在使用 git 的路上越走越远。于是,跟上级强烈建议让我在公司推行 git 和他的私有仓库 gitlab,多次安利“磨刀不误砍柴工”的理念,终于被我说服。以下是我边安装和边记录的详细笔记,务求安装好之后分享给同事直接就能看懂,降低团队的学习成本。git的优点...

2019-04-18 11:36:46 536

原创 RxJava系列:理解rxjava中的compose操作符

理解rxjava中的compose一.compose基本概念及使用引入:Obsrvable.just().map.map.map.filter.subscribeOn.observeOn.subscribe()如果我们相对多个流重复利用一系列操作符该怎么办?一种方式是,提取一个工具方法,把复用的地方抽取成一个方法applySchedulers。applySch...

2019-04-18 10:53:49 2103

原创 OkHttp3 流程分析,简介执行源码Dispatcher RealCall

一 为什么推荐使用Okhttp3?首先,我并不觉得OkHttp是一个网络框架。okhttp对标的,应该是HttpClient或者HttpURLConnection,okhttp应该是一种新的网络请求方法,而网络框架,应该是基于上面几个网络访问方式进行封装的。像volley(基于httpClient和httpURLConnection)或者retrofit2(基于OkHttp3)。好吧,...

2019-04-17 17:31:03 159

原创 RxJava2.0-Flowable类

简介RxJava2.0提供了5中操作符的基类,分别为Observable,Flowable,Single,Completable,Maybe;前面几篇文章都是以Observable介绍相关的操作符,Observable是非背压,可选的多值基类,提供工厂方法,操作符和处理同步或者异步数据流的能力;Observable的操作符默认提供缓存空间大小128,但是大多数操作符实现类允许显示的设置缓...

2019-04-16 18:24:00 272

翻译 Android集成支付----微信支付总结与封装

前言之前做过一次微信支付的集成,但是没有总结。最近一个App又要集成微信支付,又要重新下载demo,重新看开发文档,重新写代码。相信所有的程序员遇到这种事情都会抓狂。观察了一下微信支付并不设计业务逻辑,完全可以封装成一个工具。这里我们分三大步走:一、导入微信SDK二、写支付逻辑三、封装下面开始详解:一、集成微信支付SDK在集成第三方的时候,首先是要在自己的项目...

2019-04-12 19:27:16 740

原创 支付宝支付 ClassNotFoundException: Didn't find class "com.alipay.sdk.app.PayTask"

在集成支付宝支付过程中,按照支付宝api文档集成,在测试demo 中运行正常,在自己项目就是找不到PayTask,这问题卡了好久没有解决 ,最后发现和项目里用到了冲突了... 故写此篇博客记录一下,希望有次困扰的同学也能看到。在需要申请权限得函数上添加注解如定位权限:@Permission(Manifest.permission.ACCESS_FINE_LOCATION)/...

2019-04-12 18:48:56 4518 1

原创 RxJava2.0——从放弃到入门

前言终于到了讲RxJava这一期,RxJava是笔者个人非常喜欢的一个开源库,它很好的将链式编程风格和异步结合在一起。RxJava其实已经推出很久了,可以说是已经很火了,但是目前仍然还有相当一部分Android开发者没有使用过,甚至说是想用,却不知道怎么用,或者不知道自己的项目哪里可以用到,本着让广大开发者理解并且上手项目,从放弃到入门,故推出这边文章。注:本文简洁易懂 入门读者看...

2019-04-10 15:32:16 118

原创 Android Intent 传递数据大小限制

在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。Intent传递数据时,如果数据太大,可能会出现异常。比如App闪退,或是Intent发送不成功,logcat报错等等。这就牵涉到一个问题:Inte...

2019-04-09 19:34:05 2866

原创 诠释Java常见数据结构

数据结构:数据元素相互之间的关系称为结构。逻辑结构:集合结构:除了同属于一种类型外,没有其他关系 线性结构:元素之间存在一对一关系常见类型有:数组,链表,队列,栈,它们之间在操作上有所区别。 树形结构:元素之间存在一对多关系,常见类型有:树(有许多特例:二叉树、平衡二叉树、查找树等)。 图形结构:元素之间存在多对多关系,图形结构中每个结点的前驱结点数和后续结点多个数可以任意。...

2019-04-09 18:31:31 111

原创 Android中需要了解的数据结构(一)

前言:java基础,不深不浅Java容器类Java容器类是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java容器主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)通过上图,可以把握两个基本主体,即Co...

2019-04-09 18:21:07 132

原创 Android 自定义 View:包含多种状态的下载用圆形进度条

前言最近做项目碰到一个这样的一个需求:需要一个环形的进度条表示一个下载请求的进度加载。 同时要以各种不同的图标展现其下载过程中的各个状态:等待、下载中、暂停、错误、完成。具体状态对应图标见下图:以上图标来自www.iconfont.cn/。考虑到其状态多达 5 种之多。用已有的控件组合显示,然后判断状态来控制各图标的显示不太合适。 借此机会,简单的撸一个这样的...

2019-04-02 17:23:49 292

翻译 Android 使用Gradle实现同时安装debug版本与release版本

我相信大家在开发中,肯定遇到过这种情形:就是在开发工程中,使用的是debug环境,有时候会想看一下生产环境的数据,这时候还得删除当前的debug版本,再安装正式的包。为了解决这个问题,为了方便内测,就要实现一个手机可以同时安装一个debug包,一个release包。这个时候不得不感叹Android studio+Gradle强大,一下是实现步骤:1.在app的build....

2019-04-02 17:20:03 940

jdk-8u191-macosx-x641111.dmg.zip

mac book jdk安装包 官网现在下载需要登录 mac book jdk安装包 官网现在下载需要登录mac book jdk安装包 官网现在下载需要登录

2020-10-17

空空如也

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

TA关注的人

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