自定义博客皮肤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)
  • 资源 (12)
  • 收藏
  • 关注

原创 Java实现折半查找(二分查找)的递归和非递归算法

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wintys.blog.51cto.com/425414/94051    *名称:BinarySearch*功能:实现了折半查找(二分查找)的递归和非递归算法.*说明:* 1、要求所查找的数组已有序,并且其中元素已实现Comparable接口,如Inte

2013-04-27 23:26:23 1278

原创 一个好的学习算法的网站

一个朋友的博客,很多算法题http://blog.csdn.net/niushuai666/article/details/6637263http://www.cnblogs.com/zhangchaoyang/category/256478.html 有几篇关于算法的文章,待以后慢慢一个个的突破。http://dongxicheng.org/category/structur

2013-04-27 22:53:57 2589

原创 二分查找算法、折半搜索、二分搜索

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以

2013-04-27 22:39:31 11545

原创 Java实现序列化

面试的时候被问到序列化的问题,有几种方式?都怎么用?为什么那么用?有什么作用?回答的不好,补一补。 http://zhupan.iteye.com/blog/26447http://www.blogjava.net/sxyx2008/archive/2009/11/09/301663.htmlhttp://dev.yesky.com/76/7562076.shtmlhttp:/

2013-04-27 17:45:24 899

原创 实现二叉树的层序遍历,说说Java中的队列结构(实现一个Java的队列)

几次面试都被问到二叉树的层序遍历,需要用到队列这个数据结构,我一直想使用一个队列来实现,但是java里没有一种好的队列的数据结构,我又一次面试用ArrayList去当队列用,但是被面试官说到,是不对的,然后就一直想着使用一种队列的数据结构,回来就查了下java中的队列结构。 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.C

2013-04-27 16:41:24 1931

原创 Service和IntentService的区别

最近几次面试有被问到过这个问题:Service和IntentService的问题。 http://blog.csdn.net/matrix_xu/article/details/7974393http://blog.163.com/shitb_mail/blog/static/20563404120123261117649/http://blog.csdn.net/myshapoz

2013-04-27 15:17:41 1059

原创 面试题之:生产者和消费者问题

小米面试问到生产者和消费者问题,当时没答上,所以今天必须补上。。。要理解生产消费者问题,首先应弄清PV操作的含义:PV操作是由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下:P(S):①将信号量S的值减1,即S=S-1;②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。V(S):①将信号量S的值加1,即S=

2013-04-27 15:10:30 2506

原创 用JAVA 实现“生产者-消费者”问题

生产者和消费者问题是从操作系统中的许多实际同步问题中抽象出来的具有代表性的问题。它反映了操作系统中典型的同步例子。   生产者进程(进程由多个线程组成)生产信息,例如它可以是计算进程。消费者进程使用信息,它可以是输出打印进程。由于生产者和消费者彼此独立,且运行速度不确定,所以很可能出现生产者已产生了信息而消费者却没有来得及接受信息这种情况。为此,需要引入由一个或者若干个存储单元组成的临时存储区

2013-04-27 14:47:26 1336

转载 架构设计:生产者/消费者模式[4]:双缓冲区

“双缓冲区”是一个应用很广的手法。该手法用得最多的地方想必是屏幕绘制相关的领域(主要是为了减少屏幕闪烁)。另外,在设备驱动和工控方面,双缓冲也经常被使用。不过今天要聊的,并不是针对上述的某个具体领域,而是侧重于并发方面的同步/互斥开销。  ★为啥要双缓冲区  记得前几天在介绍队列缓冲区时,提及了普通队列缓冲区的两个性能问题:“内存分配的开销”和“同步/互斥的开销”(健忘的同学,先回去看

2013-04-27 14:21:00 879

转载 架构设计:生产者/消费者模式[3]:环形缓冲区

前一个帖子提及了队列缓冲区可能存在的性能问题及解决方法:环形缓冲区。今天就专门来描述一下这个话题。  为了防止有人给咱扣上“过度设计”的大帽子,事先声明一下:只有当存储空间的分配/释放非常频繁并且确实产生了明显的影响,你才应该考虑环形缓冲区的使用。否则的话,还是老老实实用最基本、最简单的队列缓冲区吧。还有一点需要说明一下:本文所提及的“存储空间”,不仅包括内存,还可能包括诸如硬盘之类的存储介质

2013-04-27 14:20:15 985

转载 架构设计:生产者/消费者模式[2]:队列缓冲区

经过前面两个帖子的铺垫,今天终于开始聊一些具体的编程技术了。由于不同的缓冲区类型、不同的并发场景对于具体的技术实现有较大的影响。为了深入浅出、便于大伙儿理解,咱们先来介绍最传统、最常见的方式。也就是单个生产者对应单个消费者,当中用队列(FIFO)作缓冲。  关于并发的场景,在之前的帖子“进程还线程?是一个问题!”中,已经专门论述了进程和线程各自的优缺点,两者皆不可偏废。所以,后面对各种缓冲区类

2013-04-27 14:19:01 956

转载 构设计:生产者/消费者模式[1]:如何确定数据单元?

既然前一个帖子已经搞过扫盲了,那接下来应该开始聊一些具体的编程技术问题了。不过在进入具体的技术细节之前,咱们先要搞明白一个问题:如何确定数据单元?只有把数据单元分析清楚,后面的技术设计才好搞。  ★啥是数据单元  何谓数据单元捏?简单地说,每次生产者放到缓冲区的,就是一个数据单元;每次消费者从缓冲区取出的,也是一个数据单元。对于前一个帖子中寄信的例子,我们可以把每一封单独的信件看成是一

2013-04-27 14:18:02 793

转载 架构设计:生产者/消费者模式[0]:概述

本帖墙内镜像:http://blog.csdn.net/program_think/archive/2009/03/25/4022087.aspx今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。鉴于该模式很重要且相关内容比较丰富,俺打算分几个帖子逐一介绍。今天先来扫盲一把。如果你对这个模式已经比较了解,请跳过本帖子,直接看下一个帖子(关于如何确定数据单元)

2013-04-27 14:09:55 980

原创 关于读书 - 如何读书

关于读书的感受,正是我最近几个月来的真实感受。读完 这篇文章后,深有感触,对我自己而言,都经历过这种思想的变化。http://photo.weibo.com/1403624234/talbum/detail/photo_id/3570361944032683

2013-04-26 12:18:22 964

原创 泛型学习

Java的基础知识是你以后成长为某一个级别很重要的东西,基础知识扎实,数据结构和算法也扎实,那么你成长的高度将绝对不一样。因此,我建议所有刚工作不就的同学,把基础弄扎实,无论是为了应付面试和为了自己的提高,都应该努力学好。如果你是一个组的架构师,负责整个项目的架构,那么泛型这个东西,无疑是必须学好的,注解、反射这些都是很重要的,也很常用的。我在项目开发中基本没用过泛型,所以今天补习一下

2013-04-23 14:30:02 977

原创 Android系统中Bitmap是否有调用recycle方法的必要性

一个图片加载到内存里,其实是有两部分数据组成,一部分是图片的相关描述信息,另一部分就是最重要的像素信息(这部分是有byte数组组成的),android系统为了提高对图片的处理效率,对于图片的处理都是调用了底层的功能(由C语言实现的),也就是说一个图片加载到内存里后是使用两部分的内存区域,简单的说:一部分是java可用的内存区,一部分是c可用的内存区,这两个内存区域是不能相互直接使用的,这个bitm

2013-04-23 10:05:36 1904

原创 Android构建工具:Buck: An Android build tool

http://facebook.github.io/buck/Android构建工具,Eclipse上用过ant,Intellij上常用Maven,但是没用过。这里有一个新的Buck,但是没在项目中使用过。感兴趣的朋友可是试试。详细介绍请看下面的链接。http://www.csdn.net/article/2013-04-22/2814994-Buck-twice-as-fast-

2013-04-22 18:01:52 1723

转载 Linux内核源码学习网页版

深入分析Linux内核源码http://www.kerneltravel.net/kernel-book/%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90Linux%E5%86%85%E6%A0%B8%E6%BA%90%E7%A0%81.html好东西。。。

2013-04-22 16:19:01 1657

原创 豆瓣小组新版使用心得及技术分析

今天浏览微博的时候,看到豆瓣小组更新了,使用全新的4.0风格设计的应用,就下载安装使用了一下,感觉上还不错,风格依然是豆瓣的小清新风格。使用后发现,从技术角度讲,感觉它用了很多开源库,我用着感觉很像我知道的那几种开源库,然后我反编译了一下,果然用的是开源库。下面总结一下。1.下拉刷新使用的pulltorefresh,可能使用的是第一个:https://github.com/joha

2013-04-22 15:03:40 1600

原创 面试题之Android为什么是单线程的?

今天一个同事的面试题1.Android为什么是单线程的?TextVeiw为什么只能在UI线程绘制?答案:偏向原理性的东西可以看看这个链接,帮助理解。http://developer.51cto.com/art/201001/181378.htm刚才又问了下同事,说一下理解吧。如果是一个web应用,就不能做成单线程的,因为在某一个时刻会有很多请求,比如12306订票网站,

2013-04-19 18:04:43 2046

原创 实现Strlen(char* str) 或者 ( strcpy )

如题,这2个不知难倒了多少英雄汉吧,我也不会,所以今天必须学习,干掉它们。其实倒不是不会,只是本能的抵触C还有C++程序。不知为啥。。。那也得学习啊。1.实现Strlen(char * str)传说常见的一个笔试题:不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数。函数接口声明如下:int strlen (const char *p

2013-04-19 15:25:34 1614

转载 百度,360,淘宝,腾讯,高通中国,htc上海 Android 面试题

备注:这些是我为准备面试在网上看到的,觉得还可以,挺有代表性的题目,暂且放这吧。。。 这些题我都认真的看过一遍,有个别的不会,基本还算简单,下面标绿颜色的是我目前不是特别会的,今天务必查一下答案。   汇总笔者经历了一些来自百度,360,淘宝,腾讯,高通中国,htc上海的电话面试及现场面试,还有笔试相关题目百度:百度在北京中关村上地七街奎科科技大厦,不大但是很安静的

2013-04-19 15:17:52 3048

原创 搜狗面试注意事项

前一阵总结的,暂且放到这里吧。。。算法网络编程: http协议和tcp协议也得看啊。。。多线程比较重视对倒排索引的理解, 大数据量如何建立倒排索引还有个就是对地图中的特征点如何获取数据结构类(有填空题,选择题,一共10题)1.给一种自定义的二叉树,求有2011个节点的二叉树的最小,最大高度2.A-Z表示1-26,AA,AB分别表示

2013-04-19 15:14:46 1557

转载 使用internal(com.android.internal)和hidden(@hide)APIs

这是一个系列,讲解如何使用hide 的 API,这个虽然工作中确实没用过,理由是既然是hide,自然有它的道理,所以尽量寻找其它解决方案。当然保留这个链接,是为了以后能用的上准备的,但是我没有深入学习。暂且保留而已。http://www.cnblogs.com/xirihanlin/archive/2011/06.html

2013-04-19 15:08:26 860

原创 外部排序、归并排序、败者树等等。。。

排序算法太多了,以至于我都记混了,索性就不全记住,目前只打算记住几种:冒泡排序、直接选择排序、堆排序、快速排序,其它的就了解就可以了。真是太多了,记不过来啊,真不怪我,用的时候再查资料就是。 今天说说外部排序,这个之前了解的并不多,首先了解几个概念:归并排序、二路归并排序、多路归并排序、败者树、 归并排序http://zhouyunan2010.iteye.com/blog/1

2013-04-19 15:05:51 1124

原创 2013-4-19百度Android面试记

今天去百度奎科大厦面试了,和面试官聊的挺好的,总体而言对自己不是很满意,有几个问题答的不是很满意,其实也会,只不过当时那种情况下,有点紧张,然后就给忘了。面试官倒是很nice,亲和力很强,挺喜欢这样的面试官。切记:面试前把手机关机或者静音。今天我就忘了,我本来是想给面试官演示我们的程序的,谁想到今天上午来了2个电话,平时一个月也不来一个电话的,今天赶到一块了。大家千万注意啊。在这里想对面试

2013-04-19 13:37:22 1536 1

原创 Sleep和wait的区别

这个几乎是面试必问,所以必须深入了解。1.这两个方法主要来源是,sleep用于线程控制,而wait用于线程间的通信,与wait配套的方法还有notify和notifyAll.2.sleep是Thread类的方法,是线程用来 控制自身流程的;wait是Object类的方法,用来线程间的通信,这个方法会使当前拥有该对象锁的进程等待知道其他线程调用notify方法时再醒来 3.最主要

2013-04-18 23:20:09 943

原创 Invalidate 与 postInvaliate区别

Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 invalidate() 是用来刷新View的,必须是在UI线程中进行工作。比如在修改某个view的显示时,调用invalidate()才能看到重新绘制的界面。 invalidat

2013-04-18 21:37:06 1614

原创 Broadcast的生命周期

Broadcast的生命周期只有一个回调方法:void onReceive(Context curContext,Intent broadcastMsg)。当broadcast消息到达接收者时,Android会调用他的onReceive()方法,并且传递包含这个信息的intent对象。broadcast接收者在执行这个方法时,被认为是活动的。当onReceive()方法返回时,它停止的活动状态。

2013-04-18 21:33:43 1160

原创 Activity生命周期

请描述一下Activity生命周期。        onCreate() //在activity生命周期开始时被调用。            onRestoreInstanceState() //onCreate完成后被调用,用来恢复UI状态。            onRestart() //当activity从停止状态重新启动时调用。            onStart()

2013-04-18 21:26:17 743

原创 java的多态

听同事聊到最近的面试,都提到了多态这个,这个我是知道的,不过还是百度了下,加深下印象吧。 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。多态有两种表现形式:重载和覆盖首先说重载(overload),是发生在同一类中。与什么父类子类、继承毫无关系。

2013-04-18 21:24:11 864

原创 二叉树创建及其遍历:前序、中序、后序、层序遍历等

面试中,二叉树也是经常被问题的一个问题,今天复习之。1.前序遍历:根,左,右2.中序遍历:左,根,右3.后序遍历:左,右,根4.层序遍历:从左到右注意一点就是这个顺序是以根节点为基准的 package com.suanfa.tree;import java.util.ArrayList;/** * 节点类 还可以定义成泛型:Node */class Nod

2013-04-18 15:25:38 2178

原创 链表反转:有两种方式 - 普通、递归

2013-4-11,周四,搜狗笔试题:单链表反转。这个题是经常出现的一个笔试和面试题。题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点分析:这是一道广为流传的微软面试题。由于这道题能够很好的反应出程序员思维是否严密,在微软之后已经有很多公司在面试时采用了这道题。为了正确地反转一个链表,需要调整指针的指向。与指针操作相关代码总是容易出错的,因此最好在动手写程序之前作全面的

2013-04-18 13:10:30 1456

原创 为明天上午的百度面试做准备

明天上午将去百度面试,所以提前做一些准备,在网上只搜到了一份完整的面试题,如下,我要自己认真看一遍,是否能全部很好的回答。 上周末,参加了百度Android的面试.分笔试和面试,其中面试分一面、二面和三面,这个流程走下来,差不多一天多了. 关于笔试以下题目不一定按笔试时顺序,是麦洛凭借回忆,尽量将笔试的题目还原(笔试共有10道题目)1.java 基础题,输出结果是什么?

2013-04-18 10:21:55 1998

原创 Android消息机制

2013-4-11号,周四,搜狗笔试、面试都遇到的一个问题,就是Android的消息机制。 Android的消息机制是面试必问,也是平时开发中经常使用的,所以对这个机制熟悉就显得非常必要。 参考链接:http://mobile.51cto.com/android-265887.htmhttp://www.cnblogs.com/qingblog/archive/2012/06/

2013-04-18 09:55:32 765

原创 android:launchMode="singleTask"

android:launchMode="singleTask"为什么单独把这个模式写一篇博客呢,因为我觉得这个模式在实际开发中真是太重要了,我无法不去总结一下它的用法。Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法http://www.cnblogs.com/error40

2013-04-18 09:25:00 3252

原创 搜狗笔试题之实现一个栈结构

2013-5-4号补充:实现一个队列数据结构以及Java中队列的理解http://blog.csdn.net/song_shi_chao/article/details/8859803 一个面试题:关于堆栈和队列的实现http://article.yeeyan.org/view/9225/174245=====================

2013-04-17 18:50:38 1016

原创 冒泡排序

包括冒泡排序的三种改进算法:http://tech.it168.com/KnowledgeBase/Articles/0/4/2/04254ac1f802da1313f28428436ca078.htmhttp://wenku.baidu.com/view/b7b78b164431b90d6c85c7b1.html2种改进算法:http://www.cnblogs.com/fuho

2013-04-17 17:24:10 1132

原创 直接选择排序

这个是2013年4月11号周四下午搜狗笔试的一道题,因为很久没看排序算法了,所以当时确实想不起来了,今天突然想起来这道题,所以赶紧复习下,这样印象会比较深。 直接选择排序和简单选择排序是一个意思。 在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是:选择排序。每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元

2013-04-17 16:48:57 978

原创 堆排序

堆排序1.基本思想:堆排序是一种树形选择排序,是对直接选择排序的有效改进。2.稳定性:不稳定3.复杂度:平均时间复杂度 nlog(n),最坏情况O( nlog(n) )。没有最坏情况(即与平均情况一样),空间占用又小,综合效率比快速排序还好。空间复杂度 O(1)4.建堆费时O(k),并调整堆(费时O(logk)) package com.suanfa.pai

2013-04-17 16:00:49 777

FragmentTabHostTest

FragmentTabHost测试的2个工程项目

2014-04-09

bsdiff-bspatch

里面是bsdiff, bspatch2个工具,注意我是在ubuntu linux64位系统下编译出来的。

2014-03-13

淘宝开放平台android客户端实例代码

淘宝开放平台android客户端实例代码,我自己写的,网上还没有,大家可以参考,去做一些有创意的应用。

2012-01-01

传至播客 android 开发笔记.pdf

传至播客 android 开发笔记.pdf

2012-01-01

lucene全文检索课件

传至播客唐阳光老师lucene全文检索课件

2011-05-03

android开发课件

传至播客黎活明老师的android开发课件 传至播客黎活明老师的android开发课件

2011-05-03

导航菜单源码适合新手

这是导航菜单源码,有很多例子。适合新手学习。这是导航菜单源码,有很多例子。适合新手学习。

2010-12-14

韩顺平山寨QQ源代码

这个是韩顺平老师的山寨QQ的源代码,我自己一点一点写的,希望帮到大家。

2010-06-22

c#基础视频教程(来自硅谷动力网络学院)

这是入门级别的视频教程,如果你想学习c#,如果你还没有找到合适的学习资料,来这看看。非常棒的教程,我就是看这个入门的。拿出来和大家分享。

2009-12-02

c#基础视频教程(来自硅谷动力网络学院)

这是入门级别的视频教程,如果你想学习c#,如果你还没有找到合适的学习资料,来这看看。非常棒的教程,我就是看这个入门的。拿出来和大家分享。

2009-12-02

c#基础视频教程(来自硅谷动力网络学院)

这是入门级别的视频教程,如果你想学习c#,如果你还没有找到合适的学习资料,来这看看。非常棒的教程,我就是看这个入门的。拿出来和大家分享。

2009-12-02

c#基础视频教程(来自硅谷动力网络学院)

这是入门级别的视频教程,如果你想学习c#,如果你还没有找到合适的学习资料,来这看看。非常棒的教程,我就是看这个入门的。拿出来和大家分享。

2009-12-02

空空如也

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

TA关注的人

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