自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 AndroidPN任务机制

一、提交任务机制执行提交的书序:submitlogintask ->submitregistertask-> submitconnecttask。添加进list中顺序:connect -> register -> login。每次删除tasklist都是删除第一个,后面的自动依次往前挪。通过addTask方法往LIST中添加任务。

2015-09-24 12:40:12 410

转载 IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)

当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇link 。写完之后发现很多人都很喜欢,我还是非常开心的,也说明这个问题确实困扰了很多人。随着学习的深入,渐渐的感觉原来的理解有些偏差,但是还是没引起自己的重视,觉着都是一些小错误,无伤大雅。直到

2015-09-23 15:11:00 364

转载 同步与异步、阻塞与非阻塞

看了一些这两个概念的解释,感觉不分场景的笼统理解是不对的,下面陈述一下我的理解: 这是两对概念,用在不同的语境会有一些不同的含义,不能一概而论。整体来说,同步就是两种东西通过一种机制实现步调一致,异步是两种东西不必步调一致。 一、同步调用与异步调用:在用在调用场景中,无非是对调用结果的不同处理。我理解同步调用就是调用一但返回,就能知道结果,而异步是返回时不一定知道结果,

2015-09-23 15:07:02 311

转载 同步/异步与阻塞/非阻塞的区别

这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方。一、首先来解释同步和异步的概念,这两个概念与消息的通知机制有关。举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我去办理业务了。前者(排队等候)就是同步等待消息,而后者(等待别人通知)就是异步等待消息。在异步消息处理中,等待消

2015-09-23 15:02:14 410

转载 怎样理解阻塞非阻塞与同步异步的区别?

http://www.zhihu.com/question/19732473老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻。2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了

2015-09-23 14:54:26 456

转载 网络编程释疑之:同步,异步,阻塞,非阻塞

一讲到网络编程的I/O模型,总会涉及到这几个概念。问了很多人,没几个能清晰地讲出他们之间的区别联系,甚至在网络上也有很多不同的观点,也不知是中国文字释义的博大精深,还是本来这几个概念就是绕人不倦。今天我也来给大家讲解一下我对这几个概念的理解。既然网络上众说纷纭,不如找个权威参考一下,这个权威就是《UNIX网络编程:卷一》第六章——I/O复用。书中向我们提及了5种类UNIX下可用的I/O

2015-09-23 14:26:12 660

转载 SASL - 简单认证和安全层

SASL是一种用来扩充C/S模式验证能力的机制认证机制,  全称Simple Authentication and Security Layer。当你设定sasl时,你必须决定两件事:一是用于交换“标识信 息”(或称身份证书)的验证机制;一是决定标识信息存储方法的验证架构。sasl验证机制规范client与server之间的应答过程以及传输内容的编码方法,sasl验证架构决定服务器

2015-09-23 11:34:50 1239

转载 openfire用户验证知多少

一、SASL概念1、SASL跟OF什么关系?Openfire(简称of),他是基于XMPP协议开发的,XMPP架构如下:  2、SASL到底是什么?引用百度百科的废话:http://baike.baidu.com/view/1014674.htmSASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力

2015-09-23 11:30:30 720

转载 Android Service 线程问题

Service的线程问题默认情况下Service是运行在启动该Service的应用主线程的,如果Service中的操作占用大量的CPU资源或有阻断操作(比如播放MP3或者访问网络)会影响应用主线程的响应性能,甚至会造成“应用程序无响应(ANR)”问题。什么是StartedService?就是应用程序组件中通过startService()启动的服务。StartedSe

2015-09-22 17:44:53 495

转载 什么是依赖注入 (rongwenbin 编排整理)

Spring 能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的 管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量将大大

2015-09-22 15:34:44 345

转载 Android Dependencies小差号引起的问题

问题是由于Android Dependencies小差号引起的,下午一搞Android的哥们在群里说最近导入的几个工程每个都是Android Dependencies报错,小差号,我先说解决方法:     方法一:自己新建工程,将整个工程重新建一遍。(事倍功半)     方法二:将Android Dependencies项直接remove掉,未作测试,有的说可以,有的说下次启动仍然报错。

2015-09-22 10:30:48 512

转载 android一个项目引用另外一个项目和jar包引用

1.被引用的项目在“Android”选项里设置“Is Library”打钩。2.引用项在“Android”选项里设置“add"被引用项。3.android Dependencies:会显示引用项目,依赖项目。Android Private Libraries:表示放在libs里面的jar包引用,视为私有引用。Referenced Libraries:表示引用的外部jar

2015-09-22 10:25:54 2030

转载 Android工程出现 java.lang.NoClassDefFoundError错误解决方法

在Eclipse中,导入Android工程,工程没有报错,运行时,出现 java.lang.NoClassDefFoundError类没有找到的错误。从问题上可以看出是导入包出错的原因。遂百度加谷歌。  问题出在:ADT高版本的原因    把引入的第三方包放在Referenced Libraries中,ADT升级到17后就出现了Android Dependencies,所以如果程序中引入的

2015-09-22 10:20:13 825

转载 移动环境下push技术开发(01-androidpn环境的配置)

一、缘由其实说白了就是研究androidpn这个开源项目,只因我的本科毕业设计的题目就是“移动环境下push技术开发”,所以起这个作为本篇博文的题目。其实我本来是想等我的毕业设计答辩结束后,再总结,再分享的,可是最近群里很多人整个环境都不会配,所以我就先写一篇环境的配置吧。当然我起初也是在各位前辈的基础上学习的,关于androidpn网上的资料还是很多的,大家自己看。这里只贴出

2015-09-21 17:59:53 828

转载 androidpn的学习研究(二)androidpn-server服务端启动过程的理解分析

在Androidpn的底层主要采用的mina和openfire两大框架,其中mina主要为底层数据传输的Socket框架。下面简单说明mina的框架。Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网

2015-09-21 17:56:48 435

转载 Myeclipse中Tomcat的两种部署方式

一、在Myeclipse软件中部署1、 在Myeclipse中,创建好工程后,在Myeclipse菜单栏中选择 Windows -> Preferences-> Myeclipse Enterprise Workbench->Servers->Tomcat-> Tomcat6.X,第一点,选择"Enable";第二点,Tomact Home Directory要选择你机器上Tomcat

2015-09-21 15:26:41 845

转载 你是不是也被Android Private Libraries、Referenced Libraries、android Dependency搞晕了~~

一、v4、v7、v13的作用和用法1、Android Support V4, V7, V13是什么?本质上就是三个java library。2、为什么要有support库?  是为了解决软件的兼容问题。如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库。   android api向来是高版本兼容低版本.如api-

2015-09-18 19:51:29 591

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

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

2015-09-18 14:57:23 377

转载 谈谈MVC模式

1.如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architectural pattern),属于编程的方法论。MVC模式就是架构模式的一种,它对我的启发特别大。我觉得它不仅适用于开发软件,也适用于其他广泛的设计和组织工作。下面是我对MVC模式的一些个人理解,不一定正确,主要用来整理思路。2.MVC是三个单词的首字母缩写,它们是Model(模型)、View(视

2015-09-17 11:06:08 340

转载 用ultraedit实现编码转换

BOM这里涉及到一个BOM(Byte Order Mark) 的概念。简单的讲,在Unicode标准中,为了标示文本文件的编码类型,可以在文本文件的开始插入几个特殊的byte,通过这几个特殊的byte,应用程序就可以鉴别文本文件使用的是那种编码了。那几个特殊的byte也被称之为BOM(参考:http://unicode.org/faq/utf_bom.html )。对于Unicod

2015-09-16 16:05:49 1702

转载 UltraEdit引出的字符编码问题

最近用ultraedit编辑python文件,遇到web显示中文乱码的问题,后来搜索终于找到了解决办法,感谢wewe80提供的资料,转贴如下: UltraEdit的问题及其编码一.关于各种编码文件标记头 各种编码文件开头 UTF-8以  EF BB BF UTF-16以 FE FF(big-endian)   FFFF(little-endian) UN

2015-09-16 15:44:32 1119

转载 进程死锁概念

笔试常考概念归纳(数据库死锁篇)1. 死锁的概念死锁是进程死锁的简称,是由Dijkstra于1965年研究银行家算法时首先提出来的。它是计算机操作系统乃至并发程序设计中最难处理的问题之一。实际上,死锁问题不仅在计算机系统中存在,在我们日常生活中它也广泛存在。我们先看看这样一个生活中的例子:在一条河上有一座桥,桥面较窄,只能容纳一辆汽车通过,无法让两辆汽车并行。如果有两辆汽车A和

2015-09-16 15:19:01 461

转载 mina自定义编解码器接收处理byte数组(同时解决数据传输中的粘包、缺包问题)

我们在自定义传输协议时,通常都是采用字节数组的方式进行传送,如何正确接收和解码byte数组?假设我们自定义了传输协议: 字节数组的前4个字节是要传输的数据长度,后面跟数据。我们用mina可以这样处理:1.自定义编码器ByteArrayEncoder.javaimport org.apache.mina.core.session.IoSession;import org.

2015-09-15 14:38:14 1007

转载 见证Android消息推送时刻(郭霖)

http://www.imooc.com/learn/223

2015-09-11 16:49:09 2930 1

转载 Mysql分库分表方案

Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行

2015-09-11 16:39:41 687

转载 Web 通信 之 长连接、长轮询(long polling)

基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性。 一、什么是长连接、长轮询?用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息。这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已。 二、长连接、长

2015-09-11 16:05:42 397

转载 webim如何使用http长轮询保证消息的绝对实时性

一、webim如何实现消息推送webim通常有三种方式实现推送通道:1)WebSocket2)FlashSocket3)http轮询其中1)和2)是用Tcp长连接实现的,其消息的实时性很好理解,但这两种方案都存在一些局限性,不通用微信资讯(wribao.php230.com)。。方案3)才算是webim实现消息推送的“正统”方案,用http短连接轮询的方式实现“伪长连接”,

2015-09-11 16:03:59 1749

原创 xmpp Smack asmack Spark MINA Openfire androidpn MQTT RSMB

【XMPP】XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。Google

2015-09-11 13:13:34 783

转载 Android消息推送完美解决方案全析

推送功能在手机应用开发中越来越重要,已经成为手机开发的必须。在Android应用开发中,由于众所周知的原因,Android消息推送我们不得不大费周折。本文就是用来和大家共同探讨一种Android消息推送的完美解决方案。一、消息推送基础消息推送,就是在互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术。推送技术通过自动传送信息给用户,来减少用于网络上搜索的时间。它根据用户的兴趣来搜

2015-09-11 13:01:50 593

转载 移动 IM 学习笔记

最近在看移动IM相关的资料, 然后发现网上有很多的资料,所以在学习过程中,整理了一些笔记, 供那些 想了解 移动IM的童鞋一些参考。移动IM技术选型要点1、协议选型2、IM 服务器选型3、协议和IM服务器改造4、移动IM常见问题以及一些解决方案 5、一些第三方服务一、常用的IM协议二、IM 服务器的选择经过这几天在网上的调研, 发现目前比较流行的几个IM 服

2015-09-11 12:51:22 710

转载 有哪些 Android 大牛的 blog 值得推荐?

面这些内容是 @Trinea大神汇总的国内、国外Android开发者博客。国内开发者汇总:android-cn/android-dev-cn · GitHub邓凡平 Innost的专栏魏祝林 Android_Tutor的专栏Trinea Trinea (Trinea) · GitHubTrineahalzhang halzhang · GitHub

2015-09-11 10:57:37 657

转载 XMPP(二)-基于asmack+openfire的安卓客户端(仿QQ)的介绍以及个人心得

关于XMPP第一篇-openfire的搭建写完后,就一直在赶本篇所要介绍的这个基于asmack+openfire的安卓客户端,费了不少精力,因为有不少同学在还在焦急的等待着(自恋了呵呵),所以紧赶慢赶,现在算做出来了一个比较初级的版本,很多功能还不完善,不过先放出来,供大家一起参考研究,提出问题,共同学习,当然,该项目本人是会不断完善,增加新功能,甚至到后来的群组,有兴趣的话,大家可以继续关注^-

2015-09-11 10:48:53 936

转载 利用Openfire+spark+Smack实现XMPP即时通信

最近刚学习了Openfire+Spark+Smack,特意总结一下给需要的童鞋们,哈哈 感谢以下链接的原作者,谢谢他们的分享! 1、 Openfire 的安装和配置 Openfire的安装和配置教程 参见 http://www.cnblogs.com/hoojo/archive/2012/05/17/2506769.html 【这个当然需要先安装Tomcat,Tomca

2015-09-11 10:34:58 1822

转载 基于openfire+asmack+spark修改的即时通讯

首先,我想说的是,这个不是我写的,是在网上下载的企业通的项目中修改的,不容易啊,仅仅是花时间看它就用了好长时间啦,然后在稍微看懂的基础上修改自己要的效果!原本的那个项目我导入是运行不了的,毕竟这么久了!其实那个很多地方不足的,有兴趣的可以自己去修改它,完善它,相信从中可以收获很多很多!!!比如:跟spark聊天会显示脱机状态,解决这个问题其实只要在ChatActivity类中的加入loginCon

2015-09-11 10:33:29 936

转载 java Smack整合Openfire服务器实现IM即时通讯聊天功能

在文章开始,请你了解和熟悉openfire方面的相关知识,这样对你理解下面代码以及下面代码的用途有很好的了解。同时,你可能需要安装一个简单的CS聊天工具,来测试你的代码是否成功的在openfire服务器上建立会话链接,并成功的向在线用户发送聊天消息。聊天软件Spark,用于测试聊天消息发送是否成功,下载地址:http://www.igniterealtime.org/downloads/dow

2015-09-11 10:30:20 3018 2

转载 openfire+spark+smack实现即时通讯

转自:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=282925&extra=page%3D1&page=1最近公司项目需要用到即时通讯功能,经过调研发现openfire+spark+smack可以实现。在网上找了很久,资料都十分有限,即使有些朋友实现了也说的不清不楚。于是决定自己研究,耗时一周的时间实现了文字通讯和文件传输的功能

2015-09-11 10:27:25 613

转载 通过XMPP协议实现即时通讯介绍

目录四种即时通讯协议概述XMPP协议什么是IMPP ?XMPP的基本网络结构是怎样的?XMPP通过TCP传什么了?XMPP协议优点?XMPP协议缺点?XMPP提供电子名片协议?XMPP系统特点?为什么选择XMPP?附:主流的四种IM通讯协议简介服务器端什么是Openfire为什么使用Openfire客户端类库什么是Smack为什么使用SmackSpark,smack,Openfire概述参

2015-09-11 10:13:32 2951

转载 微信、陌陌等著名IM软件设计架构详解

对微信、陌陌等进行了分析,发出来分享一下(时间有些久了)电量:对于移动设备最大的瓶颈就是电量了。因为用户不可能随时携带电源,充电宝。所以必须考虑到电量问题。那就要检查我们工程是不是有后台运行,心跳包发送时间是不是合理。流量:对于好多国内大部分屌丝用户来说可能还是包月30M,那么我们必须站在广大用户角度来考虑问题了。一个包可以解决的就一个包。网络:这个也是IM最核心的

2015-09-11 09:56:52 639

转载 Android实现推送方式解决方案

本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也

2015-09-11 09:26:13 381

转载 互联网推送服务原理:长连接+心跳机制(MQTT协议)

互联网推送消息的方式很常见,特别是移动互联网上,手机每天都能收到好多推送消息,经过研究发现,这些推送服务的原理都是维护一个长连接(要不不可能达到实时效果),但普通的socket连接对服务器的消耗太大了,所以才会出现像MQTT这种轻量级低消耗的协议来维护长连接,那么要如何维护长连接呢?在写之前,我们首先了解一下为什么android维护长连接需要心跳机制,首先我们知道,维护任何一个长连

2015-09-11 09:22:21 592

接口测试-Charles

接口测试-Charles 1、安装charles_setup.exe 2、将patcher.jar复制到charles安装目录并打开 3、点击browse选择charles安装目录下的lib目录的charles.jar

2014-01-20

空空如也

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

TA关注的人

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