自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 见过的智力题及我的解题思路

小的时候答这些智力题非常头疼,经常想不出答案。开始准备面试的时候发现面试也会问这些题,我感到非常惶恐。幸好看面试经验说面试官只是看解题思路,并不一定要求解答出正确答案。然后我开始试着一步步想我能从题目中得到什么新的条件,结果发现这样经常能得到最终答案。^_^可能是以前太心急了,只想直接得到答案吧。也或许是这几年学习计算机,逻辑思维大大提高了。有的题的思路真是打开了我新世界的大门,而且对未来解题也有

2016-08-17 18:20:40 2909

原创 18种排序算法总结

冒泡排序、直接选择排序、直接插入排序、快速排序、堆排序、希尔排序、归并排序、基数排序、二叉树排序、计数排序、鸽巢排序、桶排序、鸡尾酒排序、折半插入排序

2016-08-07 16:31:44 743

原创 NestedScrolling

NestedScrolling作用解决嵌套滑动比ViewGroup事件分发处理的优越性事件分发:子View首先得到事件处理权,处理过程中,父View可以对其拦截,但是拦截了以后就无法再还给子View(本次手势内)。NestedScrolling:内部View在滚动的时候,首先将dx,dy交给NestedScrollingParent,NestedScrollingParent可对其...

2019-04-08 11:47:42 295

原创 复数字符串资源中文总是获得quantity为other的字符串

One unicorn %d unicorns String s = getResources().getQuantityString(R.plurals.unicornCount, 1, 1); Log.d(this.getClass().getName(), s); s = getResources().getQuantityString(R.plurals.unicorn

2016-11-10 16:07:10 711

转载 setResult在onDestroy中不工作

在Activtiy中的onDestory方法中调用setResultIntent data = new Intent();  setResult(RESULT_OK, data)     但是在onActivityResult中resultCode是0(RESULT_CANCELED)onActivityResult(int requestCode,

2016-11-09 15:47:54 2381

原创 Homebrew简介和基本使用

http://blog.csdn.net/andanlan/article/details/51589800

2016-11-03 20:15:53 376

原创 github使用

https://www.zhihu.com/question/20070065 http://www.jianshu.com/p/180bfa90838e

2016-11-03 14:14:09 406

原创 CSS学习笔记

CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。使用CSS样式的一个好处是通过定义某个样式,可以让不同网页位置的文字有着统一的字体、字号或者颜色等。CSS样式由选择符和声明组成,而声明又由属性和值组成。选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有

2016-09-28 21:23:18 400

原创 HTML学习笔记

学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。1. HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。2. CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。3. JavaScript是用来实现网页上的特效效果。如:鼠

2016-09-27 18:03:55 311

转载 Android4.4后短信机制的变化

原文:http://www.zhihu.com/question/22111420/answer/463886624.4 之前:新接收短信广播 SMS_RECEIVED_ACTION 为有序广播。任意应用可接到该广播并中止其继续传播。中止后优先级低的短信应用和系统短信服务将不知道新短信到达,从而不写进数据库。这样就做到了拦截(其实很多恶意应用也这么干)。任意应用都可以操

2016-08-21 20:58:03 840

原创 Android动画

一、简单介绍Android动画主要有4种:Tween Animation 变换动画Frame Animation 帧动画Layout Animation 布局动画Property Animation 属性动画二、变换动画配置文件更简单。Java代码实现更灵活。设置动画透明度从10%~100%四种基础动画实现

2016-08-21 18:02:06 485

转载 一个经典例子让你彻彻底底理解java回调机制

原文:http://blog.csdn.net/xiaanming/article/details/8703708/以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的,其实

2016-08-21 14:41:23 440

转载 Strand Sort

原文:http://www.cnblogs.com/kkun/archive/2011/11/24/2261548.htmlStrand sort是思路是这样的,它首先需要一个空的数组用来存放最终的输出结果,给它取个名字叫"有序数组"然后每次遍历待排数组,得到一个"子有序数组",然后将"子有序数组"与"有序数组"合并排序重复上述操作直到待排数组为空结束 

2016-08-20 13:43:14 359

转载 地精排序

原文:http://www.cnblogs.com/kkun/archive/2011/11/23/2260296.html号称最简单的排序算法,只有一层循环,默认情况下前进冒泡,一旦遇到冒泡的情况发生就往回冒,直到把这个数字放好为止直接看它排序的过程,待排数组[6 2 4 1 5 9]先设计一个标识i=0然后从头开始判断,什么时候(i ,所以,如何控制i的值是这个

2016-08-20 13:39:53 359

转载 珠排序

原文:http://www.cnblogs.com/kkun/archive/2011/11/23/2260301.html一个数字9用9个1来表示,珠排序中的珠指的是每一个1,它把每一个1想像成一个珠子,这些珠子被串在一起,想像下算盘和糖葫芦图1上图1中的三个珠就表示数字3,两个珠表示数字2,这个OK了继续,这里的3和2都叫bead图2图2

2016-08-20 13:34:34 588

转载 BM算法

1. BM算法简介:暴力算法(BP算法)和KMP算法都是基于前缀比较的算法。BM算法则是基于后缀比较,而且BM算法其实上包含两个并行的算法:坏字符算法和好后缀算法。BM算法适合搜索词比较长的情况。据说BM比KMP快3~5倍,还有文本处理软件中的查找(CTRL+F)和替换(CTRL+H)命令用的就是BM算法。2. BM算法分析:(1) 假定字符串为"HERE IS A SIM

2016-08-20 13:09:24 1872

原创 查找算法

一、顺序查找从表中第一个或最后一个记录开始,逐个和给定的值比较,如相等则查找成功;如直到最后一个值仍不等时,则表中没有所查的记录,查找不成功。代码简单易懂,但当数据量大的时候,查找效率极为低下,所以该算法适合小量数据。查找成功最好的情况是在第一个位置就找到了,算法时间复杂度为O(1)最坏的情况是在最后一个位置就找到了,时间复杂度为O(n)关键字在任何一个位置的概率是相同的,所以

2016-08-19 19:17:12 673

转载 TCP为什么要三次握手,不是两次四次

第三次握手——革命斗争中的通信故事在革命战争影片中,经常会看到英勇的解放军战士背着步话机在喊“长江长江,我是黄河,听到请回答。”很明显,这是呼号为黄河的一方想找呼号为长江的另一方说事,为了保证影片的节奏,导演往往把后面的联络过程省略了,其实后面还有两步,长江听到黄河的呼叫后要回答“黄河黄河,我是长江,我听到了你,请回答。”这叫做第二次握手。黄河听到长江的呼叫后还要回答“长江长江,我是黄河,我听

2016-08-19 17:31:58 398

转载 有return的情况下try catch finally的执行顺序(最有说服力的总结)

结论:1、不管有木有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;4、final

2016-08-19 00:49:58 296

转载 子网划分的两个例子

原文:http://yuanbin.blog.51cto.com/363003/112029例1:本例通过子网数来划分子网,未考虑主机数。一家集团公司有12家子公司,每家子公司又有4个部门。上级给出一个172.16.0.0/16的网段,让给每家子公司以及子公司的部门分配网段。思路:既然有12家子公司,那么就要划分12个子网段,但是每家子公司又有4个部门,因此又要在每家子

2016-08-18 18:41:35 433

转载 判断一个单链表是否有环及环的链接点

给定一个单链表,只给出头指针h:1、如何判断是否存在环?使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、如何知道环的长度?记录下问题1的碰撞点p,从该点开始,再次碰撞所走过的操作数就是环的长度s。3、如何找出环的连接点在哪里?碰撞点p到连接点的距离=头指针到连接点的

2016-08-12 16:41:17 275

原创 关于计数排序的思考

计数排序思考

2016-08-08 13:10:17 1848

原创 超键、候选键、主键、外键

超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键候选键(candidate key):不含有多余属性的超键称为候选键主键(primary key):关系模式中用户正在使用的候选键称主键,主键是人为规定的外键(foreign key):如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。外键主要是用来描述两个

2016-08-06 16:20:37 598

原创 数据库范式

1NF:强调的是列的原子性,即列不能够再分成其他几列。Info(姓名,性别,电话)如果在实际场景中,一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF。修正:Info(姓名,性别,家庭电话,公司电话)2NF:满足1NF。表必须有一个主键;没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 Table(学号, 姓名, 年

2016-08-06 16:12:21 214

原创 Android中的设计模式

单例模式  Application观察者模式 各种listener适配器模式 ListView GridView组合模式 ViewMVC模式:模型(model)-视图(view)-控制器(controller)的缩写1) 视图层(View):处理界面显示结果,XML布局可以视为V。2) 控制层(Controller):Android的控制层的重任通常落在了众

2016-08-06 15:26:17 235

原创 JDK中的设计模式

单例模式:Runtime类原型模式:Object.clone装饰模式:IO迭代器模式:Iterator、Enumeration观察者模式:swing中的Listener建造者模式:StringBuilder和StringBuffer命令模式:Runnablehttp://blog.csdn.net/gtuu0123/article/details/6114197

2016-08-06 15:05:29 193

原创 设计模式原则和分类总结

设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式6大原则:单一职责原则:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。里氏替换原则:子类必须能够替换掉它们的父类。通俗的说,即子类可以扩展父类的功能,但不能改变父类原有的功能。依赖倒转原则:高层模块不应该

2016-08-06 14:29:30 225

转载 设计模式六大原则

原文:http://www.cnblogs.com/lhws/archive/2012/03/10/2389189.html单一职责原则(Single Responsibility Principle)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原

2016-08-06 14:07:09 375

原创 单例模式(懒汉式、双重锁、饿汉式、登记式)

单例模式确保某一个类只有一个实例1.懒汉式是延时加载,在需要的时候才创建对象,避免内存浪费。但面临着多线程访问的安全性问题,需要做双重锁定才能保证安全。双重锁模式将同步内容下放到if内部,提高了执行的效率,不必每次获取对象时都进行同步,只有第一次才同步,创建了以后就没必要了。2.饿汉式线程安全,类一加载就实例化对象,所以要提前占用系统资源。3.登记式内部类只有在外部类被

2016-08-06 13:02:08 1708

原创 数据库事务ACID原则

数据库事务正确执行的四个原则:A原子性、C一致性、I独立性、D持久性(1)原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没发生过一样。例如:A账户中有1000元,B账户中有1000元。A要给B转账500元。A扣款和B加款这两条要么同时执行,要么同时不执行。如果在A扣款后B加款之前,

2016-08-06 12:32:23 6614

转载 二叉树前序、中序、后序遍历相互求法

原文:http://www.cr173.com/html/18891_1.html今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。首先,我们看看前序、中序、后序遍历的特性: 前序遍历:     1.访问根节点     2.前序遍历左子树 

2016-08-05 18:01:02 237

转载 String、StringBuffer与StringBuilder之间区别

原文:http://www.cnblogs.com/A_ming/archive/2010/04/13/1711395.html1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String 2.String 的原因    String:字符串常量    StringBuffer:字符串变量    String

2016-08-05 17:52:50 167

原创 KMP算法

一、KMP算法简介KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。给定主串S(Source,长度为n),模式串P(Pattern, 长度为m),要求查找出P在S中出现的位置,一般即为第一次出现的位置,如果S中没有P子串,返回相应的结果。如下图查找成功,则查找结果返回2简单匹配算法的时间复杂度为O(m*n);KMP匹配算法可以证明

2016-08-05 15:32:08 456

转载 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别

原文:http://www.cnblogs.com/zhangchenliang/p/3700820.html结合简单示例和UML图,讲解工厂模式简单原理。 一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开

2016-08-05 12:35:15 397

原创 重写与重载的区别

重写Override  重载Overload1)重写必须继承,重载不用。2)重写参数列表必须完全与被重写的方法的相同;重载的参数列表必须不同,可以是参数的个数不同、类型不同或顺序不同(形式不同)3)重写的访问修饰符一定要大于被重写方法的访问修饰符,被重写的方法权限不能是private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。返回值必须和被重写的方法的返回一致。重写的方法

2016-07-29 20:08:39 191

原创 接口和抽象类的区别

1)接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,猫、狗是两个类,它们的抽象类是动物。飞机可以飞,鸟也可以飞,可以把飞定义成接口,然后让这些类去实现它。所以当关注一个事物的本质时,用抽象类;当关注一个操作的时候,用接口。2)接口中所有的方法默认用public abstract来修饰,变量默认使用public static f

2016-07-29 19:40:38 166

原创 throws和throw的比较

1、throws出现在方法函数头;而throw出现在函数体。2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象。3、throws可以单独使用;throw要么和try-catch-finally语句配套使用,要么与throws配套使用4、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或

2016-07-29 19:37:33 223

原创 常见的运行时异常

1.算术异常类:ArithmeticException2.空指针异常类:NullPointerException 3.类转换异常:ClassCastException 4.数组负下标异常:NegativeArrayException 5.数组下标越界异常:ArrayIndexOutOfBoundsException 6.文件未找到异常:FileNotFoundException 7.字符串转换为数字异常:NumberFormatException 8.操作数据库异常:SQL

2016-07-29 19:20:01 384

原创 sleep和wait的区别

(1)sleep来自Thread类,wait来自Object类(2)sleep方法没有释放锁,而 wait 方法释放了锁,使得其他线程可以使用同步控制块或者方法。(3)wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(4)sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常

2016-07-29 17:40:15 174

原创 Object类中定义实现的方法

Object是所有类的父类,任何类都默认继承Object。

2016-07-29 16:35:34 1359

空空如也

空空如也

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

TA关注的人

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