自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (4)
  • 收藏
  • 关注

原创 day 25-26 算法:并查集、岛屿的个数、朋友圈问题

两个题解法其实是一致的,当多练一遍1. 题目给定一个由’1’(陆地)和’0’(水)组成的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或者垂直方向相邻的陆地连接而成。你可以假设网格的四个边均被水包围。https://leetcode-cn.com/problems/number-of-islands/班上有N名学生,其中有些人是朋友,有些则不是。他们的友谊具有传递性。如...

2019-08-31 18:12:07 726 1

原创 day 23-24 算法:零钱兑换、编辑距离

1. 题目给定不同的面额的硬币coins和一个总金额amount。编写一个函数来计算可以凑成总金额所需最少的硬币个数。https://leetcode-cn.com/problems/coin-change/给定两个单词word1和word2,计算出将word1转换成word2所使用的最少操作数。https://leetcode-cn.com/problems/edit-distance/...

2019-08-31 18:06:31 217

原创 day 23-24 面试题:synchronized和volatile的区别;final,finally,finalize区别

面试题:1. synchronized和volatile的区别2. final,finally,finalize区别1. synchronized和volatile的区别1.1 JVM内存模型JVM将内存组织分为主内存和工作内存两部分。主内存主内存包括方法区和堆。所有变量都存在主内存中,对于所有线程都是共享的。工作内存每一个线程有一个工作内存,它包含两部分,该线程的私有...

2019-08-22 00:28:57 1148

原创 day 21-22 面试题:ButterKnife面试题,git面试题

1. 为什么要用ButterKnife2. ButterKnife原理1. 为什么要用ButterKnife使用注解代替findViewById和事件绑定,简化代码,节省开发时间能够方便的处理Adapter中的ViewHolder绑定的问题使用过程中不会影响app的运行效率和性能(编译时注解)代码更清晰,可读性更强2. ButterKnife原理实现原理ButterKnif...

2019-08-22 00:26:15 1006

原创 day 20 面试题:Glide面试题

1. Glide的优点2. 生命周期绑定原理3. 缓存原理1. Glide的优点使用简单,链式调用比较方便 Glide.with(context) .load(uri) .into(imageView);占用内存较小默认使用RGB_565格式,是Picasso的内存占用的一半(Picasso使用RGB_8888)无代码侵入相对P...

2019-08-22 00:09:56 7302 2

原创 day 19-20 算法:动态规划,爬楼梯,三角形最小路径和,乘积最大子序列,最长上升子序列

1. 题目爬楼梯:假设需要n阶能够爬到顶楼,每一次只能爬1阶或者2阶,求问,有多少种不同的方法爬上楼顶? https://leetcode-cn.com/problems/climbing-stairs/description/三角形最小路径和:https://leetcode-cn.com/problems/triangle/description/乘积最大子序列:https://le...

2019-08-22 00:08:24 359

原创 day 18-19 面试题:Android计算机网络基础

1. 计算机网络体系结构2. http3. HTTP的缓存机制4. Https5. TCP1. 计算机网络体系结构计算机网络体系是指计算机网络的各个层级+协议的组合,定义了计算机网络所能完成的功能。主要分为三种:OSI体系结构TCP/IP体系结构五层体系结构其中五层体系结构融合了TCP/IP和OST体系,更好理解。下面说的就是五层体系结构。1.1 分层五层体系从上往...

2019-08-22 00:05:15 210

原创 day 17-18 算法:位运算,统计位1的个数,2的幂次方;比特位计数

1. 题目编写一个函数,输入无符号整数,返回二进制表达式中的数字位数为’1’的个数,也称为汉明重量:https://leetcode-cn.com/problems/number-of-1-bits/给定一个整数,编写一个函数栏判断它是否是2的幂次方:https://leetcode-cn.com/problems/power-of-two/比特位计数:给定一个非负整数num,对于0&lt...

2019-08-22 00:03:41 365

原创 day 17 面试题:Handler相关

面试题:Handler相关1. 谈谈Handler消息机制,有什么作用,有哪些要素,流程是怎样的?2. 为什么系统不建议在子线程访问UI?3. 一个Thread可以有几个Looper?几个Handler?4. 如何将一个Thread线程变成Looper线程?Looper线程有哪些特点?5. 可以在子线程直接new一个Handler吗?怎么做?6. Message可以如何创建,哪种效果...

2019-08-22 00:00:36 516

原创 day 15-16 面试题:Android屏幕适配

面试题:1. Android屏幕适配 1. 说说安卓的一些屏幕单位 2. 谈谈你项目中的一些屏幕适配的经验 3. 今日头条轻量级适配方案了解吗?给我说说原理 1. Android屏幕适配1.1 说说安卓的一些屏幕单位px:像素,屏幕上的一个像素点dpi:一英寸的像素的点数,安卓中取 160像素/英寸 为标准dpidensity:像素密度: 屏幕dpi/标准dpidip(...

2019-08-21 23:59:13 434

原创 day 16 算法:回溯法单词搜索

本题有点复杂,需要结合leetCode来看,只当其中一个答案来看即可,不然会云里雾里。1. 题目单词搜索二:给定一个二维网格board和一个字典中的单词列表words,找出所有同时在二位网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中相邻单元格式那些水平相邻或者垂直相邻的单元格,同一个单元格中的字母不允许在同一个单词内多次出现。https://leetc...

2019-08-21 23:56:01 260

原创 day 14-15 算法:二分查找、字典树;实现一个求解平方根的函数,实现一个字典树

N皇后和数独问题比较难,暂时不去练习。1. 题目实现一个求解平方根的函数:实现 int sqrt(int x)函数,计算并返回x的平方根,其中x是非负整数。实现一个字典树,包含insert, search,startsWith这三个操作。2. 基本知识2.1 二分查找2.1.1 前提条件:sorted(单调递增或者递减)存在上下界能够通过索引来访问2.1.2 适用场...

2019-07-31 01:02:06 260

原创 day 14-15 面试题:Binder机制、动画机制

面试题:1. 什么是Binder,用来干什么?讲讲Binder的机制? 2. 动画机制 1.Android中的动画分为哪些种类 & 特点 & 缺点。 2.知道SVG & 矢量动画吗? 3.给我说说转场动画。 4.给我谈谈插值器 & 估值器 的作用。 5.说说Android动画框架实现的原理。 1. Binder的机制1.1 什么是Bind...

2019-07-31 01:00:52 549

原创 day 12-13 面试题:apk瘦身、System.exit(),onDestory,Activity.finish()的区别

面试题:1. 谈谈你对apk瘦身的经验 2. System.exit(),onDestory,Activity.finish()的区别1. 谈谈你对apk瘦身的经验安装包体积对转化率、安装时间、运行内存、ROM空间几个方面影响都比较大。业务梳理,开发模式升级很多需要使用较大的so库的业务,尝试着使用h5或者小程序等其他方式替代。比如pdf文件加载,可以在使用H5插...

2019-07-29 18:59:13 253

原创 day 12-13 算法:二叉树最大最小深度,生成有效括号组合

1. 题目二叉树的最大深度:给定一个二叉树,找出其最大深度(离根节点最远的路径节点个数)二叉树的最小深度:给定一个二叉树,找出其最小深度(离根节点最近的路径节点个数)生成有效的括号组合:给定数字n,写出一个函数,把所有闭合的括号组合输出,n代表生成括号的对数。2. 算法题解题2.1 二叉树的最大深度:给定一个二叉树,找出其最大深度(离根节点最远的路径节点个数)解法1:深度优先DFS...

2019-07-29 18:58:03 233

原创 day 10-11 算法:贪心算法,广度、深度优先、股票买卖最佳时机;二叉树层次遍历

1. 题目给定一个数组,它的第i个元素是这支股价的第i天的价格,只能持有一股,买卖次数不限,无交易中介费。二叉树的层次遍历:给定一个二叉树,返回其按层次遍历的节点值2. 基本知识2.1 贪心算法2.1.1 定义又叫贪婪算法,在对问题求解时,总是做出在当前看来最好的选择。2.1.2 适用场景问题能够分为子问题来解决,子问题的最优解能递推到最终问题的最优解。贪心与动态规划的...

2019-07-19 17:14:33 691

原创 day 10-11 面试题:Android6.0-Android 7.0适配

面试题:1. Android 6.0适配 2. Android 7.0适配1. Android 6.0适配1.1 HttpClient不支持问题在Android 6.0以上,HttpClient被google从系统库中移除,有两种方式可以处理module下的gradle文件中的添加声明useLibrary ‘org.apache.http.legacy’添加H...

2019-07-19 17:13:20 378

原创 day 8-9 算法:二叉树遍历、递归与分治

1. 题目实现pow(x,n),即计算x的n次幂函数求众数,给定一个大小为n的数组,找到其中的众数。众数是指出现次数大于 n/2 的元素。2. 基本知识2.1 二叉树遍历前序遍历:根-左-右中序遍历:左-根-右后序遍历:左-右-根前序顺序:A-B-D-E-C-F-G中序遍历:D-B-E-A-F-C-G后序遍历:D-E-B-F-G-C-A2.2 递归递归,就是在运...

2019-07-19 17:12:14 275

原创 day 8-9 面试题:泛型、Android8.0适配

面试题:1. 泛型: 1. 什么是泛型,能解决什么问题 2. 说说java中的泛型的工作机制 3. 在泛型中extends和super关键字的区别 2. Android 8.0适配?1. 面试题解题1.1 泛型1.1.1 什么是泛型泛型是Java SE1.5引入的,泛型本质是参数化类型,将所操作的数据类型指定为一个参数,该参数类型可以用在类、接口、方法中。...

2019-07-19 17:10:29 211

原创 day 6-7 面试题:什么是反射、volaitle关键字

面试题:1. 懒汉单例模式为什么要加volaitle2. 什么是反射?怎么获取一个类的成员变量、成员方法,注解信息?在项目中反射多吗?主要用来做什么?1. 面试题解题1.1 懒汉单例模式为什么要加volaitle我以前写的一篇单例模式的文章:https://blog.csdn.net/xwh_1230/article/details/781989241.1.1 懒汉单例模式使用...

2019-07-14 22:16:31 251

原创 day6-7算法:树、二叉树、二叉搜索树

1. 题目给定一个二叉树,判断其是否是一个有效的二叉搜索树:https://leetcode-cn.com/problems/validate-binary-search-tree/给定一个二叉树, 找到该树中两个指定节点的最近公共祖先:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/2. ...

2019-07-14 19:03:33 163

原创 每日一道算法题+面试题day 5-6

文章只是总结,便于面试和手写算法。细节和详细解释,请看:https://leetcode-cn.com/1. 题目算法题:1. 有效的字母异位词:给定两个字符串,判断是否是字母异位词(字母打乱)2. 两数之和:给定一个数组,和一个target值,返回两数和为target的角标3. 三数之和:给定一个数组,判断是否存在a+b+c=0的元素面试题:1. View的事件分发机制2. ...

2019-07-13 23:17:43 325

原创 每日一道算法题+面试题day3-4

文章只是总结,便于面试和手写算法。细节和详细解释,请看:https://leetcode-cn.com/1. 题目算法题:1. 有效的括号:https://leetcode-cn.com/problems/valid-parentheses/2. 用栈实现队列:https://leetcode-cn.com/problems/implement-queue-using-stacks/...

2019-07-07 01:21:56 215

原创 每日一道算法题+面试题day1-2

文章只是总结,便于面试和手写算法。细节和详细解释,请看:https://leetcode-cn.com/1. 题目算法题:1. 反转链表:https://leetcode-cn.com/problems/reverse-linked-list/2. 两两交换链表中的节点:https://leetcode-cn.com/problems/swap-nodes-in-pairs/3. 判...

2019-07-05 01:40:55 291

原创 小记Eclipse环境下JNI编译DLL库(图文笔记)

此文比较简单,主要记录主要步骤而已。 起因:公司需要将原先客户端的JNI逻辑搬到java上,给测试同事搞自动化测试环境。原来在Android上直接使用.so文件,现在需要生成.dll文件,由于没搞过C/C++,所以,又进坑了!一、配置环境第一步,下载Eclipse,安装;下载JDK,安装(不是重点,略过)第二步,安装cdt插件(在Eclipse开发C/C++,生成dll文...

2018-06-26 13:40:11 891

原创 码农买房记_中间几个月精力都花这儿了

码农买房记懒、宅、不爱交友、爱玩游戏、不会打扮,可能是大部分程序员的通病,我也不例外。交朋友少,不知道大家都怎么赚8小时以外的钱。更没考虑过买房的事情,更细致的说,应该是没考虑过具体在哪儿买房,买多少钱的房子,什么时候买?去年年底也就是17年末,快过年了,眼看着各个大中城市,房价上涨的飞快,早已买不起房。细数手里有的钱,也就10来万,貌似在县城首付还不够。由于在大城市混过,所以,打心里不想...

2018-05-04 16:16:28 901

原创 Android面向面试复习----Fragment复习

Fragment复习1. Fragment为什么被称为第五大组件Fragment为什么被称为第五大组件 使用频率高,有自己的生命周期,同时可以灵活的加载到Activity中去。它是依赖于Activity的,不能单独存在。Fragment的加载静态加载 在xml布局中使用fragment标签加载进来,name指定对应的Fragment即可。 动态加载/...

2018-02-11 19:22:07 328

原创 Android面向面试复习----Activity复习

Activity复习 Activity是我们学习Android的时候的第一个组件,它提供界面用户可以进行滑动、点击等交互。使用上很简单,但是有一些相关的知识也许需要很好的掌握才能用好。1. Activity生命周期Activity的四种状态running: 活动状态,可以交互paused: 失去焦点,或者被盖住的情况下,无法进行交互stopped: Activity被完...

2018-02-11 17:48:13 342

原创 Android面向面试复习----Handler详解

Handler详解 这篇文章缘起于一道面试题: Android面试题 请解释下单线程模型中Message、Handler、MessageQueue、Looper之间的关系 虽然能够大致说明白,但是自己对答案也不太满意,翻一翻源码,从源码角度剖析一番。1. 概述Handler相关对象模型关系首先看一下Handler、Looper、MessageQueue、Mess

2018-02-04 13:43:10 512 1

原创 Android面向面试复习----IntentService详解

IntentService详解(附个推IntentService示例)1. 什么是IntentService?IntentService继承Service,内部创建了HandlerThread和异步线程的Handler来进行耗时操作启动方式和Service一样在开启IntentService时,会回调执行onHandleIntent方法(异步线程中执行,非UI线程)执行完成后会自动

2018-02-03 16:16:38 428

原创 Android面向面试复习----AsyncTask详解

AsyncTask详解1. 什么是AsyncTask? 封装了线程池和Handler,这个框架主要是用来执行异步任务的,内部集成了Handler,所以它可以很灵活的在UI线程和异步线程之间进行切换。2. AsyncTask介绍三个参数 AsyncTask3. AsyncTask实例创建AsyncTask的子类,实现各方法,分别处理相应的逻辑。pub

2018-02-03 14:46:37 398

原创 Android面向面试复习----HandlerThread的妙用

HandlerThread的妙用 很多博客讲了HandlerThread的用法,但是没有具体的应用场景,可能也是了解并未真正使用!1. HandlerThread是什么? handlerThread是内部有一个looper轮询器的Thread线程。HandlerThread产生的背景 google为了避免以下几种情况,给android开发者提供了这样一个异

2018-02-03 12:38:36 547 1

原创 Android面向面试复习----Proguard混淆技术详解

Proguard混淆技术详解1. Proguard是什么? Proguard是一个压缩、优化和混淆java字节码的免费工具。它有以下几个作用: 压缩(Shrink):检测并移除代码中无用的类、字段、方法和属性。优化(Optimize):对字节码进行优化,移除无用的指令。混淆(Obfuscate):使用a,b,c这样简短无意义的名称,对类、字段和方法进行重命名预检(

2018-01-29 22:04:08 501

原创 Android面向复习----通俗理解Android中的Gradle

Android面向复习—-通俗理解Android中的Gradle1. Gradle是什么? Gradle是一种构建工具,它可以帮你管理项目中的差异、依赖、编译、打包、部署等。它并不是一种语言,不能实现软件中的任何实际功能。2. Android工程中Gradle相关文件及功能 在一个安卓项目中,主要包括以下几个部分Gradle相关的文件(夹)Top-leve

2018-01-28 00:47:11 326

原创 Android面向面试复习---Android构建流程

Android构建流程 如果公司项目比较大,那么持续集成就显得很有必要。需要搭建持续集成的环境的话,Android项目的构建流程就有必要了解清楚了。1. 首先,拿一张Android构建的详细流程图出来,然后我们再根据图进行梳理。 可能很多人都知道,Android项目的构建包括:资源合并、源码编译、dex生成及打包签名等步骤,但是个中细节都了解吗?2. 简单而不复

2018-01-24 20:23:31 455

原创 Android面向面试复习---git版本控制

Android面向面试复习—git版本控制1. 几个概念说明工作区 项目存放的文件夹就是工作区。因为我们的所有的git操作都是在该区域进行的。版本库 工作区中的.git文件夹,里面存放的是git仓库相关的信息,它不属于工作区,是Git的版本库。暂存区(stage) Git的版本库中包括通过git add添加到暂存区的代码,存放临时代码的地方叫暂存区。通过一个图来看一下他们之间的关系。2

2018-01-24 00:11:47 432

原创 Android面向面试复习----冷启动优化

冷启动优化1. 什么是冷启动1. 冷启动的定义 冷启动就是在启动应用前,系统中没有该应用的任何进程信息。这时候启动应用就叫冷启动。2. 冷启动/热启动的区别 热启动:用户使用返回键(Home键)退出应用,然后马上又重新启动应用(进程在后台)。启动特点:1. 冷启动会创建Application和MainActivity,进行测量,绘制显示2. 热启动

2018-01-17 22:42:33 432

原创 Android面向面试复习----内存管理

内存管理1. 内存管理机制概述1. 分配机制 操作系统会为每个进程分配合理的内存大小,保证每一个进程能够合理的运行,而不至于内存不够用或者某个进程占用太多的内存。2. 回收机制 系统内存不足时,会有一个合理的回收再分配内存的机制,保证新的进程能够正常运行。2. Android内存管理机制1. 分配机制 弹性内存分配:开始分配一个小的内

2018-01-17 22:04:32 1677

原创 Android面向面试复习----内存泄漏

内存泄漏1. java内存泄漏基础知识1.1 java内存的分配策略静态存储区(方法区-静态数据、全局变量)栈区(局部变量,方法执行结束后,自动释放)–容量有限 方法中定义的基本变量和对象的引用变量都是在栈区中分配的堆区(new)–GC回收 new出来的对象,数组1.2 java是如何管理内存的通过关键字new申请内存空间对象的释放:

2018-01-12 21:59:14 874

原创 Android“应用克隆”漏洞分析

一、这个漏洞的特征二、这个漏洞的攻击流程三、这个漏洞的攻击原理该漏洞主要利用了Android系统WebView控件的同源策略漏洞来进行攻击,Android应用内部分可导出的Activity组件中,WebView允许通过file url对http域进行访问,并且并未对file域的路径进行严格校验所导致的。该漏洞会打破Android应用的沙箱隔离机制,即A应用可以通过B

2018-01-12 16:09:38 9983 4

AspectJDemo

本资源是我的博客中的示例:http://blog.csdn.net/xwh_1230/article/details/78225258

2017-10-13

QR扫描(二维码扫描)

可以直接使用的手机二维码扫描功能,需要直接下载使用,我的博客:http://blog.csdn.net/xwh_1230/article/details/43733931

2015-02-11

仿passbook卡片设计

仿passbook的卡片设置,看详情看我的博客~ http://blog.csdn.net/xwh_1230/article/details/43731639

2015-02-11

ListView点击展开与隐藏

ListView点击展开,再次点击收起这样一个效果,同时,任何一个时刻都只允许一个ListView展开,展开后,里面的button等能够获得焦点并能响应其他事件的处理。

2015-01-12

空空如也

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

TA关注的人

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