自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陶程的博客

Keep the beginner's mind.

  • 博客(14)
  • 收藏
  • 关注

原创 [算法]微信红包

春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。 给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。测试样例: [1,2,3,2,2],5 返回:2package 微信红包;import java.util.Arrays;public c

2016-03-31 16:03:23 1884

转载 [Android基础]Android总结篇

Android公共技术:公共技术点之 Android 动画基础公共技术点之 Java 动态代理公共技术点之依赖注入公共技术点之 View 事件传递公共技术点之 View 绘制流程1.Android的Framework和Android apk的打包过程底层的Binder驱动,IPC的核心,SGL 2D绘图,OpenGL 3D绘图2.多线程AsyncTask:AsyncTask的缺陷和问题关于线程池:a

2016-03-29 11:08:25 25207 4

原创 [Android开发]知乎日报

最近在利用知乎日报的接口写知乎日报,接下来将遇到的坑都记录下来。Android studio中“import org.apache.http.Header;”不能导入,原因是Android M 起默认移除了Apache HTTP。 module的build.gradle中:dependencies { compile 'org.apache.httpcomponents:httpcor

2016-03-26 01:30:04 1503

转载 [Java基础]Java总结篇

本文来自于清华大神(潇涧)的Java总结,已得到其本人允许转载1.JVMJVM内存模型:PC(程序计数器),虚拟机栈,本地方法栈,Java堆,方法区PC:字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。虚拟机栈:每个方法被执行的时候都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作

2016-03-24 11:32:23 3842 4

原创 [Java虚拟机]Java内存模型与线程

深入理解Java虚拟机读书笔记第12章主内存和工作内存java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。为了获得较好的执行效能,Java内存模型咩有并没有限制执行引擎使用处理器的特定寄存器或缓存来和主内存进行交互,也没有限制即时编译器调整代码执行顺序这类权利。Java内存模型规定了所有的变量都存储在主内存中(Main Memory

2016-03-21 11:38:49 1547 1

转载 [Android进阶]Android消息机制

此篇文章学习自侯亮的博客,博客链接如下:聊一聊Android的消息机制摘要从技术实现上来说,消息机制还是比较简单的。从大的方面讲,不光是Android平台,各种平台的消息机制的原理基本上都是相近的。 本文将基于Android 4.4代码,为大家剖析一下Android的消息机制。1概述在Android平台上,主要用到两种通信机制,即Binder机制和消息机制,前者用于跨进程通信,后者用于进程内部通信。

2016-03-19 15:06:11 3251 1

原创 [剑指Offer]面试题35:第一个只出现一次的字符

题目给定一个字符串,求第一个不重复的字符 abbcad -> c解题思路:今天中午面试的时候第二题我的思路是从头开始扫描字符串中的每个字符。当访问到某字符时拿这个字符和后面的每个字符相比较。如果在后面没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符,每个字符可能与后面的O(n)个字符串相比较,因此这种思路的时间复杂度为O(n^2)。这不是最好的做法,更好的做法时间复杂度应

2016-03-19 10:23:46 2225

转载 [Android进阶]Binder学习(初始篇)

Android中Binder学习(初始篇)本篇博客学习自侯亮的博客,地址为:红茶一杯话Binder1 什么是Binder?简单地说,Binder是Android平台上的一种跨进程交互技术。该技术最早并不是由Google公司提出的,它的前身是Be Inc公司开发的OpenBinder,而且在Palm中也有应用。后来OpenBinder的作者Dianne Hackborn加入了Google公司,并负责A

2016-03-19 09:32:35 2491

原创 [面经]阿里二面

直接登录系统写算法。是的,就写了两个算法,一个小时!先说思路然后完整的写!1.标号1-n的n个人首尾相接,1到3报数,报到3的退出,求最后一个人的标号写完他没说什么,就说下一题。2.给定一个字符串,求第一个不重复的字符 abbcad -> c第二个要求时间复杂度为O(n)。我写了两次都是O(n^2),面试官让我下去写发邮件给他,希望能面到最后!

2016-03-17 12:21:27 2509 3

原创 [面试]阿里一面

阿里一面。说一下你怎么学习安卓的?项目中遇到哪些问题,如何解决的?Android事件分发机制?问的好深。没有详细真正理解是不行的。三级缓存底层实现?HashMap底层实现,hashCode如何对应bucket,问得好深。Java的垃圾回收机制,引用计数法两个对象互相引用如何解决?Acticity的生命周期,Activity异常退出该如何处理?tcp和udp的区别,tcp如何保证可靠的

2016-03-15 12:42:41 1273 1

原创 [Android开发]Mac下NDK开发(JNI)

Mac下Android调用C/C++程序的实现(JNI)IDE用的是Androidstudio。首先,我们需要配置Mac下的NDK环境,比较简单,参考博客:Mac下Android studio 之NDK配置教程(一) Mac下Android studio 之NDK配置教程(二)好,接下来我们就开始写我们在Mac下的第一个NDK程序。第一步:首先,新建一个项目,项目截图如下:在NavHelper中定

2016-03-12 12:42:47 2605

原创 [面经]腾讯一面

昨天晚上在图书馆自习,突然接到了来自广东深圳的电话,想到了是腾讯打来的,内心很忐忑,接上了。面试官一听就是广东人,人很好。就问我能不能进行大概二十分钟的面试,我说可以。然后就开始了。首先让我自我介绍,我就简单介绍了一下自己,说到了自己的技术经历。然后他问我说看到简历上有写创业经历,好像面试官对于这段经历非常感兴趣,大概聊了几分钟。具体就不说了。然后就说能帮我推荐到虚拟现实部门,我说不用,想先做好移动

2016-03-10 11:35:47 2061 1

原创 [读书笔记]《Android开发艺术探索》第十五章笔记

Android性能优化Android不可能无限制的使用内存和CPU资源,过多的使用内存会导致内存溢出,即OOM。而过多的使用CPU资源,一般是指做大量的耗时任务,会导致手机变的卡顿甚至出现程序无法响应的情况,即ANR。15.1.1布局优化1、如何进行布局优化?首先删除布局中无用的控件和层级其次有选择的使用性能较低的ViewGroup。布局优化的另一种手段是采用标签、标签、ViewStub。标签

2016-03-06 11:02:50 1072 1

原创 [读书笔记]《APP研发录》第一章

《APP研发录》读书笔记第一章1.1重新规划Android项目结构重新规划Android项目的目录结构,分两步走:建立AndroidLab类库,将与业务无关的逻辑转移到AndroidLab,AndroidLab至少包括五大部分:包名+ acticity,cache,net,ui,utils 。activity包里面存放的是与业务无关的Activity基类。net包里存放的是网络底层封装。cac

2016-03-02 22:43:31 1177 2

空空如也

空空如也

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

TA关注的人

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