自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (2)
  • 收藏
  • 关注

原创 浅谈DIP和IOC

追本溯源,不断的回顾基础对我而言是种不错的方式,每次重新回顾这些点往往收获很大.以前,受个人所限,觉得这些理论毫指导价值价值,过于相信实践的的力量,导致自己进步缓慢.其实有些时候,实践更需要站在理论巨人的肩膀,这会让我们少走很多的弯路.

2016-05-04 11:10:04 5153 2

原创 教你写响应式框架(四)

自己动手开发响应式框架ErJava

2016-03-17 19:42:33 2890 6

原创 教你写响应式框架(三)

在教你写响应式框架(二)中,我们对原始代码进行了初步的改造,如果没看过上篇的可以先看一下.那么在今天我们仍然是在原有项目的基础上进行改造.

2016-03-15 20:58:23 3739 5

原创 (时间篇)关于时间的思考

从去年开始关注时间管理相关的知识,陆陆续续研读了很多方面的书籍,略有收获.对于时间,谁也不敢说能够真正的了解时间,更何谈掌握时间这一说法,我更认同李笑来所说的”把时间当作做朋友”.

2016-03-14 22:07:39 2480 6

原创 教你写响应式框架(二)

还要做什么?在教你写响应式框架(一)中我们介绍了观察者模式,现在我们将基于上一篇中的代码进行改造。当然,我们是有目的的改造: 在响应式框架中,观察者是可能随时产生,种类多,生命周期却短暂. 我们希望操作是异步的,并且只有在观察者被注册到被观察者上时,被观察者才生效. 在开始改造之前,为了避免没看过上一篇的童鞋产生断裂感,我仍然先贴一下观察者的实现,为了从能够”望文生义”,其中有一

2016-03-13 23:57:49 5190 6

原创 教你写响应式框架(一)

在真正开始编写自己的响应式框架之前,我们先来从观察者模式说起。已经对观察者模式很熟悉的可以直接掠过。基本概念观察者模式属于对象行为模式之一,也可叫做发布——订阅模式。它定义了一种以对多的依赖关系,让多个观察者(订阅者)同时观察(监听)一个被观察者(主题),当被观察者的状态发生变化时,会通知所有的观察者对象。

2016-03-13 12:24:38 12953 4

原创 老生常谈——分治法与归并排序

首先来决一个基本的问题:如何合并两个有序序列?

2016-03-11 23:18:18 2762 1

原创 老生常谈——冒泡排序

基本冒泡排序冒泡排序是一种非常易于了解的排序,它和我们小学时候站队是一样的道理

2016-03-11 11:06:13 2365 1

原创 老生常谈——选择排序和插入排序

所谓的排序就是将一组对象按照某种逻辑顺序重新排列的过程.在研究排序算法时,我们需要考虑排序的成本: 需要计算比较和交换的次数.对于不交换元素的算法需要计算访问数组的次数.

2016-03-10 13:43:49 5355

转载 温故知新——五大常用算法总结

分治法 动态规划 贪心 回溯法 分支

2016-03-05 12:07:08 2227 1

原创 Android Studio上非常棒的插件

无需太多,这些已足够。以下都是我个人经常用的插件。

2016-03-01 12:22:03 2977

原创 (计划篇)你的计划为什么总失败

近一年来更多的时间用在学习和总结一些思维及认知方面的东西,受益匪浅!学点心理学还是非常有必要的.

2016-02-20 15:46:12 1417

原创 深入分析LayoutInflater

LayoutInflater被用于加载xml布局文件,在开发中我们经常用它来动态加载xml布局文件。今天我们用一种的简单的方式来理解该过程.

2016-02-13 03:45:28 1017

原创 最简单的Lambda入门教程

Lambda简介Lambda作为函数式编程中的基础部分,在其他编程语言(例如:Scala)中早就广为使用,但在JAVA领域中发展较慢,直到java8,才开始支持Lambda。抛开数学定义不看,直接来认识Lambda。Lambda表达式本质上是匿名方法,其底层还是通过invokedynamic指令来生成匿名类来实现。

2016-01-28 21:50:31 18243 11

原创 认识函数式接口

Java8中还提出了一个新名词——函数式接口(Functional Interface),用来特指某类型的接口。这类接口中定义了唯一的抽象方法,在早期这类接口被叫做SAM类型接口(single abstract interface)

2016-01-15 02:21:18 5866 2

原创 增强的接口

jdk8中对接口进行了增强:支持default关键字定义的默认方法,为接口添加静态方法和静态常量

2016-01-14 03:17:22 1127

转载 何必言精通——十年杂感 兼谈其它

30虚岁了。这一、两年,有事没事之中口中经常念着李商隐那首《锦瑟》:锦瑟无端五十弦,一弦一柱思华年。庄生晓梦迷蝴蝶;望帝春心托杜鹃。沧海月明珠有泪;蓝田日暖玉生烟。此情可待成追忆,只是当时已惘然。此情可待成追忆,只是当时已惘然。

2015-12-22 19:21:05 1219

原创 通俗编程——白话NIO之Channel

Channel简介在标准的IO当中,都是基于字节流/字符流进行操作的,而在NIO中则是是基于Channel和Buffer进行操作,其中的Channel的虽然模拟了流的概念,实则大不相同。

2015-12-16 14:42:37 7351 3

原创 通俗编程——白话NIO之Buffer

Buffer简介Buffer意为缓冲区,其本质上就是是一块可写入数据,然后可以从中读取数据的内存区域,通过该种方式有助于减少系统开销和提高外设效率。

2015-12-15 18:12:58 3175 1

原创 通俗编程——白话NIO之Selector

Selector简介选择器提供选择执行已经就绪的任务的能力.从底层来看,Selector提供了询问通道是否已经准备好执行每个I/O操作的能力。Selector 允许单线程处理多个Channel。

2015-12-14 19:51:52 15901 9

原创 如何快速从Eclipse转向IDEA

从Eclipse转Idea开发过程一些常用的快捷键。

2015-11-29 20:01:16 15056 1

原创 深入JVM垃圾回收算法

回收JVM堆中常用的算法:1. 标记——清除算法2. 标记——复制算法3. 标记——整理算法4. 分代收集算法5. 增量收集算法

2015-11-28 15:31:40 20543 10

原创 深入JVM对象引用

在jdk 1.2以前,创建的对象只有处在可触及(reachaable)状态下,才能被程序所以使用,垃圾回收器一旦发现无用对象,便会对其进行回收。但是,在某些情况下,我们希望有些对象不需要立刻回收或者说从全局的角度来说并没有立刻回收的必要性。

2015-11-17 12:19:31 14057 2

原创 深入JVM类加载机制

类加载的流程以及双亲委派模型

2015-11-13 14:13:19 22567 10

原创 深入JVM内存区域

JVM内存区域的划分和C/C++开发不同,在从事JAVA的开发过程中,我们对内存区域的关注相对较轻,但是了解和掌握JAVA的内存结构会帮助我们做出合理的优化决策。

2015-11-12 12:22:56 2053

原创 深入JVM字节码执行引擎

我们都知道,在当前的Java中(1.0)之后,编译器讲源代码转成字节码,那么字节码如何被执行的呢?这就涉及到了JVM的字节码执行引擎,执行引擎负责具体的代码调用及执行过程。

2015-10-30 18:57:11 14099 7

原创 编译器常用优化方法

常量传播 、常量折叠 、内联、公共子表达式

2015-10-29 18:38:58 7349

原创 深入JVM关闭与关闭钩子

通常而言,对于JVM的关闭我们很少去关注,但是了解JVM的关闭能帮我们在JVM关闭时做一些合理的事情。

2015-10-15 17:13:16 12920 1

原创 XMPP协议简介

简介: 可扩展消息和展示协议,以一种以xml为基础的开放式实时通信协议,也是目前主流的四种IM协议之一。它将需要实时通信的消息嵌入到xml结构体中,不仅具有很好的可扩展性,还拥有较强的可读性。简单的说,就是一个拥有良好扩展性的发送接收处理消息的协议。在XMPP协议中定义了三种角色:客户端、服务端、网关,通信能够在这三者之间的任意两者之间双向完成。服务器端同时承担了客户端信息记录,连接管理和路由功能

2015-10-13 16:41:50 1444 1

原创 深入理解IntentService

和Service不同的是,IntentService内部已经实现绑定好一个工作线程,因此,在IntentService中可以直接执行耗时操作,这样就省下了我们要在Service中人为创建线程来处理耗时操作的时间,减轻了工作量。

2015-09-20 21:40:44 925

原创 Android自动填充短信验证码

现在使用短信验证码的app太多了,因此拦截短信并将其中的验证码直接取出设置在EditText是一种需求。通常而言,有以下两种方案:1、使用自定义拦截器拦截短信内容。这种方式就不用说了。2、监控短信数据库的变化。在实际应用中,第一种不确定因素太多,采用第二种方案更为可靠。代码如下:/** * @ClassName: SmsObserver * @Description: 短信

2015-06-26 21:19:21 1362

转载 无意中看到,有一些感受。。。

此情可待成追忆,只是当时已惘然。回首过去的十年,堪称快意,十年里,领略了很多领域:新材料、写作、技术管理、企业分析、软件开发等等,都留下了不深不浅的脚印:材料学是我本来的专业,很顺利的拿到硕士学位;其它成绩也不平凡,小说发表过,书籍出版过,项目主持过,公司成立过,可算丰硕。而今回想,却只有一个词:浮躁。以开发而言,起始于1997年mud程序开发,起步于网络浪潮阶段,asp呵呵。后来自然就过

2015-06-26 12:36:10 1010

转载 同步,异步,阻塞,非阻塞 -IO

原文转自:http://blog.csdn.net/historyasamirror/article/details/5778378言归正传。同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asyn

2015-06-24 11:31:05 779

转载 一位软件工程师的7年总结

无意中看到的文章,很有感触。1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!2、一定要确定自己的发展方向,并为此目的制定可行的计划。不要说什么,“我刚毕业

2015-04-21 18:38:21 1112 1

原创 老生常谈——哈希表

哈希表也叫做散列表,是一种根据关键码值(key value)来进行直接访问的数据结构。

2015-02-27 02:22:07 2250 1

转载 实时计算之storm

(转自:http://blog.csdn.net/it_man/article/details/11826263)场景伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要

2015-01-31 09:10:58 1855

转载 简洁易用的日志模块——log4j

开发中最常见的事情就是输出程序的各种运行信息,在公司里看到同事各种syso,syse等,随意输出,写的多了,最后就显得杂乱无章了,比如说调试的时候只需要显示提示信息,发布之后就需要只显示严重错误信息。因此从笔记中翻出曾经的一点关日志记录的文章——Log4j。当然现在也有Log4j2了,至于区别下次有时间再写。log4j详解 简介.........................

2015-01-28 09:42:43 2040

转载 推荐!国外程序员整理的Java资源大全

尊重原文作者!原文链接: github akullpp 翻译: ImportNew.com - 唐尤华译文链接: http://www.importnew.com/14429.html构建这里搜集了用来构建应用程序的工具。Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache

2015-01-10 12:41:40 1474

原创 通俗编程——白话JAVA异常机制

任何程序都追求正确有效的运行,除了保证我们代码尽可能的少出错之外,我们还要考虑如何有效的处理异常,一个良好的异常框架对于系统来说是至关重要的。最近在给公司写采集框架的时候系统的了解一边,收获颇多,特此记录相关的理论。异常是指由于各种不期而至的情况,导致程序中断运行的一种指令流,如:文件找不到、非法参数、网络超时等。为了保证正序正常运行,在设计程序时必须考虑到各种异常情况,并正确的对异常进行处理。

2015-01-07 22:13:11 11347 4

原创 Mongodb基础入门(3)——排序和索引

今天继续Mongodb,简单的记录下其排序和索引的使用。在Mongodb中使用sort()方法对数据进行排序。命令格式:db.collectionName.find().sort({key:参数})参数说明:             -1:表示降序             1:表示升序(默认)doc集合中数据如下:> db.doc.find({},{_id:0,

2015-01-03 16:23:00 8011

twitter数据采集实例-最初

用来展示twitter数据采集,当初的事例.

2016-03-03

自定义开关按钮

Android开发中自定义控件示例。简单易懂。

2014-12-04

空空如也

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

TA关注的人

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