自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嘻哈包袱铺 专栏

github开源项目 https://github.com/GeekGhost/Ghost

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 剑指Offer笔记—— 用两个栈实现队列 旋转数组的最小数字

面试题7:用两个栈实现队列题目大致为:    用两个栈实现队列的两个函数appendTail和deleteHead。思路:    栈的特性是:后进先出,而队列的特性是:先进先出。这里使用两个栈实现队列有点负负得正的意思。栈1负责添加,而栈2负责删除。Java代码:[java] view plain copy

2017-06-30 18:26:11 432

原创 剑指Offer笔记—— 从尾到头打印链表 重建二叉树

3、面试题5:从尾到头打印链表题目大致为:    输入一个链表的头结点,从未到头反过来打印每个结点的值。思路:    题目的要求是进行从尾到头输出,而链表的查找只能是顺序查找,栈的结构满足这样的条件:先进后出。同样,也可以使用递归的方式求解。Java代码:链表类:[java] view plain copy

2017-06-30 18:20:35 366

原创 剑指Offer笔记—— 二维数组中的查找 替换空格

1、面试题3:二维数组中的查找题目大致为:    一个二维数组,每一行按照从左到右递增,每一列按照从上到下递增,查找数组中是否存在某个数。如数组:1  2  8    92  4  9   124  7  10  136  8  11  15思路:    这道题有其特殊性,从右上角或者左下角开始查找的方向是确定的。这句话是说比如是查找

2017-06-30 14:57:21 376

原创 Java 线程 50个Java多线程面试题

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎。大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的 Java 面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程,

2017-06-30 11:25:55 367

原创 Java 基础 一文看懂Java垃圾回收机制

什么是Java堆内存垃圾回收机制是 Java 非常重要的特性之一,也是面试题的常客。它让开发者无需关注空间的创建和释放,而是以守护进程的形式在后台自动回收垃圾。这样做不仅提高了开发效率,更改善了内存的使用状况。今天本文来对垃圾回收机制进行讲解,主要涉及下面几个问题:什么是堆内存?什么是垃圾?

2017-06-29 14:37:41 400

原创 Android selector 最佳写法 用一张图片实现按钮按下和普通效果的样式

第一种方法(强烈推荐)方法:selector做遮罩,原图做background。我们做按钮的时候经常需要用两个图片来实现按钮点击和普通状态的样式,这就需要提供两种图片,而且每个分辨率下还有多套图片,大大增加了apk的大小。我们希望让这两张图片合二为一,而且还能实现两种或者多种状态,怎么做呢?我们首先建立一个圆形的selector,正常情况下是完全透明的,按下后透明度

2017-06-28 15:08:05 12444

原创 初学者如何从零学习人工智能?

此文是想要进入人工智能这个领域、但不知道从哪里开始的初学者最佳的学习资源列表。原文是 Ray Alez 编写的“Artificial Intelligence resources”,简单翻译后供大家参考。一、机器学习有关机器学习领域的最佳介绍,请观看Coursera的Andrew Ng机器学习课程。 它解释了基本概念,并让你很好地理解最重要的算法。有关ML算法的简要

2017-06-23 11:18:52 967

原创 Android高效加载大图、多图解决方案,有效避免程序OOM

高效加载大图片我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常

2017-06-22 16:49:48 238

原创 Android 源码分析 ButterKnife框架原理

大部分Android开发应该都知道 @JakeWharton 大神的 ButterKnife 注解库,使用这个库我们可以不用写很多无聊的 findViewById() 和 setOnClickListener() 等代码ButterKnife项目的主页在这里: http://jakewharton.github.io/butterknife/ 简单介绍一下使用方法:public cla

2017-06-21 14:20:38 305

原创 算法---猫扑素数的算法实现

最近看了一位前辈去美团面试的经验,关于手写算法题,猫扑素数,我一看就懵了,什么是猫扑素数?查了一下才知道形,如以 2 开头, 之后跟任意多个 3 的十进制整数而且是个素数, 则它是猫扑素数. 如 2, 23, 233, 2333, 23333 都是猫扑素数, 而 233333 则不是, 它可以分解为 353 x 661.然后就尝试实现了一下。/** * 用于判断一个数是否为猫扑数

2017-06-20 11:38:25 937

原创 Android 面试题 美团

第一面1 手写算法题。一共有3个,面试官随机选择一个。猫扑素数;1到n,求1的个数;单词反转。2 Activity的加载模式。standard,singleTop,singleTask,singleInstance。可以参考:https://developer.android.com/guide/components/tasks-and-back-stack.html2.1

2017-06-19 10:35:59 943

原创 LinkedHashMap的accessOrder的作用

LinkedHashMap的构造方法有一个是这样子的:1 public LinkedHashMap(int initialCapacity,2 float loadFactor,3 boolean accessOrder) {4 super(initialCapacity, loadFacto

2017-06-16 16:10:32 1881

转载 Android 消息机制之ThreadLocal的工作原理

提到消息机制大家应该都不陌生,在日常开发中不可避免地要涉及到这方面的内容。从开发的角度来说,Handler是Android消息机制的上层接口,这使得开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这说的的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景,

2017-06-16 16:02:27 323

原创 Android Tv 焦点总结 TvRecyclerView

在做TV 焦点使用RecyclerView的时候,其控件的上下左右有可能会丢失焦点,所以继承RecyclerView重写几个方法public class TvRecyclerView extends RecyclerView { private static final String TAG = "TvRecyclerView"; private int position;

2017-06-14 17:57:49 3724

原创 Android Tv 焦点总结

在给电视项目的时候,技术点和难点一般都是基于焦点的问题。所以在此打个TAG来记录总结下常用的焦点问题解决方式:1.查看焦点是否选中针对于单个控件如ImageView,会给其Src属性添加一个Selector,如下 2.启用控件获得焦点的能力 如果是xml的话设置其Focusable  android:focusable="@bo

2017-06-14 17:54:10 584

原创 Android 源码解析 Retrofit2 原理

开发Android App肯定会使用Http请求与服务器通信,上传或下载数据等。目前开源的Http请求工具也有很多,比如Google开发的Volley,loopj的Android Async Http,Square开源的OkHttp或者Retrofit等。我觉得Retrofit 无疑是这几个当中最好用的一个,设计这个库的思路很特别而且巧妙。Retrofit的代码很少,花点时间读它的源码肯定

2017-06-13 15:55:02 1595

转载 Dagger2 博客 入门教程

转载自: http://blog.csdn.net/lisdye2/article/details/51942511依赖注入就是将调用者需要的另一个对象实例不在调用者内部实现,而是通过一定的方式从外部传入实例,解决了各个类之间的耦合。那么这个外部,到底指的是哪里,如果指的是另一个类,那么,另一个类内部不就耦合了。能不能有一种方式,将这些构造的对象放到一个容器中,具体需要哪个实例时,

2017-06-07 11:09:20 409

原创 android组件化方案

目前项目中,各种业务交杂在一起,互相跳转、互相请求数据。分模块的过程必然是痛苦的,需要增加模块之间通的信协议。对于一个5,6人的团队来说,全都放在一个大模块中似乎也没啥不好,可以随心所欲地调用,节约思考框架合理性的时间。但最终让我解除疑惑是团队扩张的长远考虑,未来团队扩张到8~10人时,在同一个模块中开发不同的业务就会很乱。代码量2倍,掌握的难度就会超过4倍,按业务分模块一定是未来的方向。

2017-06-06 11:33:30 452

原创 Kotlin 博客 companion object 伴生对象,getter,setter,内部,局部,匿名类,可变参数

先来看一个名为message的类在这个类中有一段包含在companion object中的代码,需要说一下的是,Kotlin的class并不支持static变量,所以需要使用companion object来声明static变量,其实这个platformStatic变量也不是真正的static变量,而是一个伴生对象,这个伴生对象位于Message类中定义的一个叫做Compa

2017-06-06 10:56:23 11695 1

原创 ViewPager 修改默认滑动偏移量

之前使用ViewPager,从来没有遇到过什么大的问题,用的都挺好的。最近在公司的新一代产品(硬件产品,分辨率2560*1440),针对高分辨率以及横屏应用开发,大量使用到ViewPager控件,但是问题来了,翻页的过程中,需要滑动屏幕一半的分辨率以上(2560/2=1280)才能够翻页,这样非常影响用户体验。先简单介绍下应用场景:1.硬件:公司自主研发,触摸屏采用红外(因此触摸效果没有电

2017-06-02 14:30:45 2376

Fragment保持状态的框架

刚开始使用fragment的时候,看到网上有很多例子都是说只要replace来切换界面,但是这个会有一个缺点,比如A界面是个列表,好不容易通过流量下载来了,然后切换界面,再次返回,由于使用replace,fragment就又重新创建界面导致,用户又得加载。现在这个Demo,就完美的解决了这个问题。这个是使用了add方法,可以保持fragment的状态。很有用的UI框架

2014-01-24

空空如也

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

TA关注的人

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