自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wsh的专栏

android与设计模式

  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

转载 java中equals,hashcode和==的区别

1、==java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。2.引用类型(类、接口、数组) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结...

2019-03-03 13:53:52 150

原创 Hashset和hashmap的区别

如果时间紧可以如下理解:1、HashSet底层是采用HashMap实现的。HashSet 的实现比较简单,HashSet 的绝大部分方法都是通过调用 HashMap 的方法来实现的,因此 HashSet 和 HashMap 两个集合在实现本质上是相同的。2、HashMap的key就是放进HashSet中对象,value是Object类型的。3、当调用HashSet的add方法时,实际上是向...

2019-01-01 20:49:40 8153

转载 ReactiveCocoa 基本工作流程整理

前言ReactiveCocoa是一个(第一个?)将函数响应式编程范例带入Objective-C的开源库。ReactiveCocoa是由Josh Abernathy和Justin Spahr-Summers 两位大神在对GitHub for Mac的开发过程中编写的。Justin Spahr-Summers 大神在2011年11月13号下午12点35分进行的第一次提交,直到2013年2月13日上午

2017-11-13 19:53:09 303

转载 ReactiveCocoa 的RACMulticastConnection使用

在项目里,经常会使用这种方式创建一个signal 然后next RACSignal *four = [RACSignal createSignal:^RACDisposable *(id subscriber) { NSLog(@"oneSignal createSignal"); [subscriber sendNext:@"

2017-11-12 17:36:47 242

转载 iOS Reactivecocoa(RAC)原理分析

一、关于常见类1、RACSiganl 信号类的使用如下图:完成一个信号的生命周期分为四步:1、创建信号2、订阅信号3、发送信号4、取消订阅(图中未标明)下面每一步我们细细道来:1、创建信号由上面的 信号类使用图可知,创建信号类方法中传入了一个返回值是RACDisposable 类型,参数是遵守 RACSubscriber 协议的吧,名

2017-11-12 16:29:09 4938

转载 ReactiveCocoa入门教程

前言很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,小编看了很多篇都没看出怎么使用ReactiveCocoa,于是决定自己写一遍关于学习ReactiveCocoa的文章,本文主要针对如何从零开始学习ReactiveCocoa,这里非常感谢3个人(支点的雷纯锋,camera360

2017-11-11 07:20:39 269

转载 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景

本文涉及的内容有:多线程并发的性能问题,介绍了 AsyncTask,HandlerThread,IntentService 与 ThreadPool 分别适合的使用场景以及各自的使用注意事项,这是一篇了解 Android 多线程编程不可多得的基础文章,清楚的了解这些 Android 系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择。1. Threading

2017-10-24 11:36:00 589

转载 Handler 、 Looper 、Message之间的关系

很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循

2017-10-24 09:59:51 184

转载 Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系

很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Looper 、Message 这三者都与Android异步消息处理线程相关的概念。那么什么叫异步消息处理线程呢?异步消息处理线程启动后会进入一个无限的循环体之中,每循

2017-10-24 09:59:06 193

原创 CoreFoundation 源码

http://opensource.apple.com/source/CF/CF-855.14/

2017-08-12 21:22:16 976

转载 IOS RUNLOOP 深入分析

RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概念RunLoop 与线程的关系RunLoop 对

2017-08-12 21:12:28 241

转载 使用 Spring Data JPA 简化 JPA 开发

http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-jpa/

2015-08-19 10:25:43 351

原创 Android 开源画图空间

https://github.com/PhilJay/MPAndroidChart

2015-08-19 10:05:34 834

转载 iOS学习系列 - 扩展机制category与associative

category与associative作为objective-c的扩展机制的两个特性,category即类型,可以通过它来扩展方法;associative,可以通过它来扩展属性;在iOS开发中,可能category比较常见,相对的associative,就用的比较少,要用它必须使用的头文件,然后就可以自由使用objc_getAssociatedObject以及objc_setAssociated

2014-03-07 13:43:45 522

转载 Git 分支

Git 分支几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。有人把 Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来。Git 有何特别之处呢?Git 的分支可谓是

2014-01-13 11:24:56 675

转载 iOS中block的探究(转)

查看完整版本: [-- iOS中block的探究 --]CocoaChina 开发讨论区 -> iPhone开发 / iPad开发 一般讨论区 -> iOS中block的探究 [打印本页]登录 -> 注册 -> 回复主题 -> 发表主题casual04022012-07-17 2

2014-01-07 16:58:50 631

原创 iOS 模拟器运行目录

/Users/username/Library/Application Support/iPhone Simulator/7.0/Applications

2013-11-10 09:30:12 822

原创 生命周期对比 ios UIViewController VS android activity

一下是ios UIViewController生命周期,本人用安卓的角度点评下,方便记忆。当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc                                   创建对象,分配空间2、init (initWithNibName) 初始化对象,初始化数据3、loadView

2013-07-12 18:00:09 2191

转载 MAC下安装与配置MySQL

MAC下安装与配置MySQLMAC下安装与配置MySQL 一 下载MySQL    访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL Community Server”下方有一个“download”点击。进入MySQL的下载界面(http://www.mysql.com/downloads

2013-03-31 09:57:02 692

转载 在Mac系统上安装Tomcat

到 apache官方主页 下载 Mac 版本的完整 .gz文件包。解压拷贝到 /Library目录下。1。Mac中 Finder打开 Library的方法新建 Finder窗口   按下 shift +Command+G  输入  /Library  进入  该隐藏目录。ps:这个快捷键非常的有用,一定要记住!2。修改目录权限选中 文件夹   Com

2013-03-31 09:56:05 592

原创 android Binder驱动研究

Binder是android系统的核心所在,是android framework到基石,通过深入研究binder对整个android系统有一个崭新的认识。首先学习binder驱动之前要了解一些基本概念:1、android 在启动zygote进程之前启动了service manager 进程,service manager打开binder驱动,之后启动的所有service都先向service

2012-07-16 11:56:28 727

转载 内存映射

linux2.4.19下__ioremap和get_vm_area的粗略理解文章来源:http://gliethttp.cublog.cn对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB.进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间.用户空间地址分

2012-05-07 15:48:57 1108

转载 内存管理2get_vm_area

今天开始linux驱动27---内存管理2get_vm_area 2010-06-04 16:53:03|  分类:个人日记 |  标签:|字号大中小订阅     周三    struct vm_struct *get_vm_area(unsigned long size, unsigned long flags){return __get_vm_a

2012-05-06 08:18:42 2582

转载 内核数据结构:hlist_head

内核数据结构:hlist_head分类: Linux内核 2011-05-16 20:58 391人阅读 评论(1)收藏 举报内核中,使用list_head作为链表,该数据结构本身即使head又是node。如果将它作为hash list的头节点,那么每个头节点会占用8个字节。因此内核中对其优化,使用hlist_head作为hash表的头节点。内核中定义其数据结构

2012-05-05 12:38:54 720 2

原创 linux设备驱动程序 源码 2.6 内核编译错误总结

1、make[1]: Entering directory `/usr/src/linux-headers-2.6.32-41-generic'scripts/Makefile.build:49: *** CFLAGS was changed in "/home/shenghua/drivers/LINUXDeviceDrivers/scull/Makefile". Fix it to

2012-05-04 12:11:51 2201

转载 字符杂项设备 misc_register

字符杂项设备 misc_register 0推荐#i nclude #i nclude         #i nclude #i nclude /*  misedevice 结构:struct miscdevice  {    int minor; //次设备号,若为 MISC_DYNAMIC_MINOR 自动分配    const

2012-05-04 11:29:47 7236

转载 Linux中Workqueue机制分析

Linux中Workqueue机制分析    走入Linux的殿堂已经有一年有余了,在这里我想将Linux的 各种实现机制分析一遍,一方面对自己来说也是温故而知新,另一方面,促进大家的交流,最好能够给大家一些抛砖引玉的启迪。我是硬件出身,搞硬件已经好多年 了,从是专门软件开发也接近两年了,在这一段时间内我越发认为软硬件协同设计是未来发展的主流,软硬件的界限越来越模糊,软硬件的设计思想是相通的,

2012-05-04 10:46:46 529

转载 Linux系统调用讲义

Linux系统调用讲义Linux系统调用讲义Linux下系统调用的实现Linux中的系统调用 Linux中怎样编译和定制内核Linux下系统调用的实现Unix/Linux操作系统的体系结构及系统调用介绍什么是操作系统和系统调用    操作系统是从硬件抽象出来的虚拟机,在该虚拟

2012-04-27 14:59:44 602

原创 Dalvik 虚拟机工作流程:

Dalvik 虚拟机工作流程:1、sdk编译 .Java文件生成.class文件,经dx工具将工程的.class文件们生成dalvik可以执行的classes.dex文件。在了解dalvik虚拟机怎样工作的之前,先了解下.dex文件的构成。它的构成数据结构在DexFile.h中可以找到。/* * Direct-mapped "map_list". */struct DexM

2012-04-12 10:45:31 2038

原创 android 源码下载问题归纳总结

$ touch ~/.gitconfig$ rm -rf .repo我出现了相同的状况,但是根据某人的思路改了下。repo init-u http://android.git.kernel.org/platform/manifest.git把原来的git 改成http即可。 ~/bin/repo init -u http://android.git.kernel.o

2012-04-09 11:11:02 693

原创 Android Dalvik 内存管理学习。

Android 是建立在linux基础上的,因此Dalvik内存管理是建立在linux内存管理基础上的,android使用java语言作为开发语言,dalvik 管理内存的重要任务之一就是处理垃圾回收。在看《java编程思想》或者其他的一些java书籍的时候,我们大概掌握了java虚拟机的内存回收机制:“标记-清扫” 和“停止-复制”。无论哪种方式,我们都需要mark bits来标记内存块(对

2012-04-09 11:10:33 3186

转载 coco2dx 常用页面汇总

编译testshttp://bbs.chinaunix.net/thread-3625796-1-1.html编译hellowordhttp://bbs.chinaunix.net/thread-3625796-1-1.html实现一个地图游戏http://www.cnblogs.com/FlyingPacer/archive/2010/11/06/cocos2dx_tilem

2012-02-20 11:50:56 1271

原创 开始深入 《设计模式》

中英文对照,边学设计模式,边提高英语,嘿嘿。Christopher Alexander says, "Each pattern describes a problem which occurs overand over again in our environment, and then describes the core of the solutionto that problem

2011-05-15 10:10:00 449

Shell脚本学习指南源码

Shell脚本学习指南源码,很好的学习资料,适合新手入门

2014-07-27

ubuntu下飞鸽传书

很好用的工具,可以在局域网下共享资源,速度很快的。

2014-07-08

空空如也

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

TA关注的人

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