自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rex,nie的专栏

markdown

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

原创 《HeadFirst设计模式》读书笔记-第5章-单例模式

定义单例模式(singleton pattern)确保一个类只有一个实例,并提供一个全局访问点。代码实现以下代码是线程安全的,并且是延时实例化的。public class Singleton { // volatile:不优化和缓冲sInstance变量,每次某线程修改该值时,对其它的线程都是马上可见的 // static: 静态变量,该类的所有实例共享该变...

2017-03-18 23:42:33 287

原创 《HeadFirst设计模式》读书笔记-第4章-工厂模式

定义工厂方法模式(factory method pattern)定义了一个创建对象的接口,由子类决定要实例化的类是哪一个,让类的实例化推迟到子类。从类图可以看出,工厂方法模式封装了具体类型的实例化,抽象的Creator类提供了一个抽象方法用来创建产品,同时也实现了一些操作产品的方法(如anOperation),这些方法不需要涉及ConcreteProduct,而是通过Product接口...

2017-03-18 20:43:29 551

原创 读书的那些事

最近感觉读书变得越来越重要,觉得读书应该可以让自己变的更加睿智,聪明,稳重。 作为IT人员,读的大部分书是关于技术和编码设计的,但是人作为一个多重身份动物,其实还有其它的重要使命,比如,结婚,育子,养家糊口,照顾年迈的老人,作为公司职员,管理一个部门,种种角色要求的技能和能力都是不一样的。这里转载一份有关企业家,名人对读书的看法,作为自己读书的理由和方法。原文连接参考:俞敏洪日读一书,柳传志读书靠

2017-03-10 14:38:13 295

原创 面向对象的设计原则

本文罗列了面向对象(OO)程序设计的九个原则(principle)。我们在讲设计模式的时候,要先讲OO原则,千万不要轻视这些OO原则,因为每个设计模式背后都包含了几个OO原则的概念。很多时候,在设计时有两难的情况下,我们必须回归到OO原则,以方便取舍,可以这么说,OO原则是我们的目标,而设计模式则是我们的做法。原则1: 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码...

2017-03-07 02:23:27 1244

原创 《HeadFirst设计模式》读书笔记-第2章-观察者模式

定义观察者模式(observer pattern)定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会接收到通知并自动更新。类图代码实现下面以气象站为例子,说明观察者模式的实现。先给出类图如下。 定义主题接口,所有具体的主题都要实现这个接口。public interface Subject { // 注册/注销观察者 ...

2017-03-07 02:18:25 430

原创 《HeadFirst设计模式》读书笔记-第1章-策略模式

定义策略模式(strategy pattern)定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。类图代码实现定义飞行/呱呱叫行为的接口,因为飞行行为和呱呱叫行为的实现方式类似,所以本例只贴出飞行行为代码,呱呱叫行为类似。public interface FlyBehavior { public void fly();...

2017-03-05 10:54:01 446

原创 Android中Intents和Intent Filters的说明

Intent作为Android的消息对象,让组件间的通信更加方便,其中主要有3个使用情景,启动Activity,启动service,发送broadcast。这样的设计有两大好处:应用程序的开发完全面向组件编程,具体到代码层面,应用开发者只要在组件的生命周期相关的回调函数里实现应用程序的逻辑,然后设计好组件间的通信关系即可,这样的设计大大降低了应用开发的难度。代码可高度复用,比如你做一个社交的Ap

2017-02-27 15:04:18 263

原创 C语言常用宏的使用小结

1.防止一个头文件被重复包含#ifndef __HEAD_H_#define __HEAD_H_#include ......#endif2.得到指定地址上的一个字节或字#define MEM_BYTE(x) (*((char *)(x)))#define MEM_WORD(x) (*((short *)(x)))3. 得到一个field在结构体(struct)中的

2017-02-24 00:04:44 281

原创 UML用户指南第二版-读书笔记-第4章-类

如第二章UML介绍 中介绍的,类是UML中最常见最重要的事物了。本章的内容也简单,为了避免陷入翻译和简单码字的陷阱,本章的笔记只有一道作业题:对java 语言中java.lang.Thread类进行建模。 说明: 1.红色汉字为说明 2.此图使用starUML2绘制 3.原本想对属性和方法使用衍型进行分组管理的,好像此工具不支持,后续继续深入挖工具和UML吧 4.只要熟悉

2017-02-22 15:53:58 311

原创 UML用户指南第二版-读书笔记-第2章-UML介绍

UML概述UML是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化,规格化,构建和文档化。UML仅仅只是一种语言,是软件开发方法的一部分UML是独立于过程的,但是最好把它用于以用例为驱动,以体系结构为中心,迭代和增量的过程UML可以告诉你如何创建模型,但是它没有说明应该在什么时候创建什么样的模型,因为这是软件开发过程的工作。一个定义明确的过程将指导你决定生产什么制品

2017-02-22 11:47:27 722

原创 UML用户指南第二版-读书笔记-第1章-为什么要建模

模型是对现实的简化建模是为了更好地理解正在开发的系统通过建模,可以达到的4个目的模型帮助我们可视化系统模型指定系统的行为和结构模型作为模版指导我们构建系统模型文档化我们已经做过的决策建模的原理选择创建什么模型,对如何着手解决问题和问题的解决方案的形成有重要的影响对于软件系统而言,你选择的模型很大程度上影响了你的看法。如果你站在数据库开发者的角度来构建

2017-02-20 10:58:24 468

原创 字符编码初探

1. ASCII全称是美国信息交换标准代码(American Standard Code for Information Interchange),对应的国际标准是ISO/IEC 646。它是一个单字节编码字符集。编码空间是0x00-0x7F,最高位为0。 详细字符表如下图,编码表示了所有大写字母,小写字母,数字,标点符号,以及控制字符等2. ISO 8859标准系列ISO

2017-01-11 20:37:43 1509

转载 如何做到有扎实的Java基础

工作这么多年了,主要用的C语言,对Java语言只停留在看一些代码的层面,或者说是知道一些Java的语法。既然下定了决心学习Android App开发,而且也写了一些App代码, 但是发现对Java一些高级的特性还是比较陌生,比如范型编程,反射等,对Java中的类库也不熟悉,更别提对JVM的理解。于是决定重新开始认真地学习一遍Java基础,找出之前看过部分内容的《java核心技术卷1》,《JAV

2016-12-29 00:34:06 7463 3

转载 谈谈Linux内核驱动的coding style

最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过, 在不遵守规则的程序员队伍里,我并不是孤独的。如果去看drivers/staging下的代码,就会发现很多驱动程序都没有严格遵守内核的coding style,而

2016-03-18 16:44:52 678

原创 ubuntu/win7 双系统,重新装win7,系统卡在grub终端的问题修复

在一台机器上装windows/ubuntu可充分利用系统的硬件资源,比起在主系统里通过VirtualBox或Vmware安装虚拟机的做法, 更能充分利用CPU/memory的资源。Win 7/ ubuntu双系统,一般先安装Win7, 然后在win 7 中通过安装easyBCD软件来引导ubuntu。按照这样的顺序安装的话,一般问题不大。具体安装步骤,可参考这篇文章: 点击打开链接。之

2016-03-08 21:12:17 1557

原创 Android suspend-to-mem 流程分析

1. 实验平台cpu: omap4460 blaze tabletmemory: 1-GB DRAMOS: android 4.0.3, kernel 3.0.312.流程分析1). echo "mem" > /sys/power/state2). state_store() kernel/power/main.c  3). request_

2014-03-07 08:44:01 1621

转载 linux下real user id,effective user id,saved-set-user-id总结

from: http://blog.csdn.net/jiqiren007/article/details/6142502 linux中每个进程有六个或者更多的ID与其关联:      real user id一般是从passwd文件中获取的,一般是不会发生改变的,当然也可以改变。可以理解为启动该进程的用户,即哪个用户启动了该进程,那么该进程的real user

2014-03-02 22:34:45 2623

转载 Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法

from: http://selives.blogbus.com/logs/27714366.htmlArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList

2014-03-02 11:26:15 448

原创 C语言标准输入缓存区清理方法列表

1. scanf("%*[^\n]%*c");2. while((ch = getchar()) != '\n' && ch != EOF);3. setbuf(stdin, NULL);验证平台:CPU: AMD Athlon(tm) II X2 250 ProcessorOS: ubuntu 8.10compile: gcc 4.3.2关于scanf 的

2013-08-31 18:32:19 1126

原创 C 笔记

以下为 阅读 TI MSP430 CPU 相关的书籍做的记录。1. 位域在内存中的摆放顺序可通过编译器的选项来配置。默认情况下,编译器会从最低位开始放置位域成员。要从最高位开始摆放位域成员,可通过下列宏来实现:#program bitfields=reversedgcc 中对位域没有定义这个选项,只有以下的定义:-fsigned-bitfields-funsigned-bi

2013-08-30 21:36:38 555

转载 Something about software suspend (swsusp)

from: http://blog.chinaunix.net/uid-20585891-id-1919736.htmlSomething about software suspend (swsusp)What is swsusp(sofeware suspend)?swsusp (Software Suspend) is a suspend-to-disk implementatio

2013-06-20 14:14:51 1198

转载 计算机科学中最重要的32个算法

from: http://www.infoq.com/cn/news/2012/08/32-most-important-algorithms奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些

2013-06-20 09:15:20 499

原创 Notes about Porting suspend-to-disk function to android

porting suspend-to-diskemail: niedao516@126.com1. suspend-to-disk introduceIt is exciting to have the oppotunity  for me to port suspend-to-disk function to Android system. Suspend-to-disk, al

2013-06-09 22:24:20 4049 2

原创 java String,Jni jstring, utf-8/unicode interoperate sample code

继 前一篇 jni基本原理后,这里写了一个sample code,有关java String object 如何传到 jni jstring,native code 如何取得 java String object 的utf-8, unicode character,native 的utf-8, unicode character如何传到 java String等操作。software envi

2013-06-06 00:28:56 1657

转载 JNI基本原理

此文讲的是java jni相关的,还带有sample code。不过这里是介绍的静态的注册jni。其实android 中用到的都是动态的注册方法。静态的注册方法,是先有java 文件,然后利用javah 生成jni 函数的原型,在c/c++ 实现此原型即可。动态的方法,主要是利用 JNINativeMethod 结构,将java 中的函数与 jni 中 c/c++ 的函数建立一个关系,

2013-06-05 23:47:14 612

原创 ubuntu 12.04 kernel make menuconfig error

Q:      host os: ubuntu 12.04 x86_64 ,     make menuconfig error when config android kernel,error message as bellow:menubox.c:(.text+0xabe): undefined reference to `delwin'menubox.c:(.te

2013-05-13 17:11:03 1679

转载 将打印稿变成电子稿

from: http://www.360doc.com/content/10/0104/18/0_12672171.shtml

2013-04-24 14:30:17 690

转载 What's the difference between headsets and headphones?

from: http://www.ablecomm.com/whdibeandhe.htmlA lot of people seem to get headphones and headsets mixed up.►Headphones have miniature speakers (also known as drivers and transducers and rece

2013-04-07 10:30:40 1421

转载 Sensor Fusion简介

from: http://blog.csdn.net/johnny_9812/article/details/7743131摘要:本文简单介绍了一下Android Sensor Fusion代码,感兴趣的人可以了解下。笔者早就打算写篇日记介绍这个了,一直拖啊拖,直到拖到4.1都来了,再拖说不定Android代码全改了,趁今天上午不忙赶快写写。

2013-04-02 18:16:34 4038

转载 Android Building System 分析

from: http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/393想要了解一個系統,我常會從 makefile 或是 building system 下手, 以了解系統組成元素為何? 目錄結構為何? 對於 Android ,我也不例外。 透過了解 building system ,我們能知道如何新增、修改、刪除程式, 並

2013-03-26 15:20:23 539

转载 Android Makefile and build system 分析

from: http://www.eoeandroid.com/thread-20336-1-1.html前言:预计未来一致两年内移动互联网将会有很大的发展,必将孕育很多的机会,而Google 推出的Android 手机操作系统无疑将是移动互联网中的明星。由于其是开源系统,很有必要对此进行深入研究。         工欲善其事,必先利其器。Makefile无疑是打开系统架构的一扇窗户。

2013-03-26 15:18:59 569

转载 Ubuntu不能修改密码,长度太短或太简单?

from: http://my.oschina.net/zengsai/blog/5534在安装 Ubuntu 的时候建立的帐户 sai,想把密码改成两个字母aa,方便输入。运行终端sai@xmomx:~$ passwd sai更改 sai 的密码。 (当前)UNIX 密码: xx 输入新的 UNIX 密码: aa 重新输入新的 UNIX 密码:

2013-03-18 08:43:07 651

转载 微软老将Philip Su的离职信:回首12年职场生涯的心得和随笔

from http://www.36kr.com/p/201666.html编者注:Philip Su在1998年加入微软,开始时是一位软件工程师。12年后,Philip Su从微软辞职,当时是微软的主群经理(Principal Group Manager),又一次以一位普通软件工程师的身份加入Facebook。Philip Su现任Facebook 伦敦办公室的主管。Philip S

2013-03-05 13:33:05 607

转载 Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析

from http://blog.csdn.net/luoshengyang/article/details/6786239   Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题,本文将系统地分析Android系统智能指针(轻量级指针、强指针

2013-03-03 22:20:15 460

转载 android sp wp Flag总结

from: http://blog.chinaunix.net/uid-10275706-id-3254927.htmlAndroid系统当中一共用wp(Weak Pointer)  sp(Strong Pointer) lightRefBase(Light Pointer)这些智能指针来回收new出来的内存,所有的代码都在RefBase.cpp RefBase.h里面。这3种

2013-03-03 22:11:56 417

转载 Android sp wp的使用范例介绍

from: http://bianchengsky.com/article/gykiamo/8587591.htmlAndroid手机操作系统中的代码编写方式对于有基础的编程人员来说是比较容易的。因为它是基于Linux平台的操作系统。我们在这里为大家介绍的是Android垃圾回收这一机制,以加深大家对这一系统的了解。  个人觉得sp和wp实际上就是Android 为其c++实现

2013-03-03 15:16:19 680

转载 Android OTA 升级之一:编译升级包

from: http://blog.csdn.net/zjujoe/article/details/6206010Android OTA 升级之一:编译升级包作者: 宋立新Email:zjujoe@yahoo.com前言       OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了完全升级、增量升级模式,可以通过 SD 卡升级,也可以

2013-02-06 09:44:27 480

转载 android Recovery mode

from:http://bbs.chinaunix.net/thread-1937272-1-1.html      这篇文章最早的作者是 chinaunix 社区的一位大牛,排版也相当漂亮,但是不知道为什么后来无法找到了。这里我就将它重新整理了下,方便大家及自己以后查阅。作者分析recovery 是基于android 早期版本的,我做的是omap4460android 4.0.x,发现里面的

2013-02-06 09:20:26 1375

转载 深入理解android 系列

http://blog.csdn.net/innost

2013-02-03 23:29:47 371

转载 android 核心分析系列文章

from http://blog.csdn.net/maxleng/article/list/2 Android核心分析 之十一-------Android GWES之消息系统 Android GWES之Android消息系统Looper,Handler,View       我们要理解Android的消息系统,Looper,Handle,View等概念还是需要从消息系

2013-02-03 23:20:52 500

空空如也

空空如也

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

TA关注的人

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