Android 服务器推送技术



Android 服务器推送技术。

在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比较麻烦,最近利用几天的时间对Android的推送通知服务进行初步的研究。

在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务,起初我就是准备采用这个服务来实现自己手机上的推送功能。

Android Cloud to Device Messaging (C2DM)是一个用来帮助开发者从[......]

Read more

java 二维码原理以及用java实现的二维码的生成、解码



java 二维码原理以及用java实现的二维码的生成、解码。

QR码生成原理(一)

一、什么是QR码

QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化。QR码的样子其实在很多场合已经能够被看到了,我这还是贴个图展示一下:

这个图如果被正确解码,应该看到我的名字和邮箱。

二、QR码的特点

说到QR码的特点,一是高速读取(QR就是取自“Quick Response”的首字母),对读取速度的体验源自于我手机上的一个软件,象上面贴出的码图,通过摄像头从拍摄到解码到显示内容也就三秒左右,对摄像的角度也没有什么要求[......]

Read more

linux环境通过ssh连接控制台显示中文乱码问题

linux环境通过ssh连接控制台显示中文乱码问题。     前两天连接linux环境时,因为是新的生产环境,所以配置不怎么全,ssh控制台显示的中文都为乱码,从网上找了几个方法,自己用了修改某个目录的文件内容的方法,成功解决,在这与大家共享一下。

用ssh连接上服务器,打开目录/etc/sysconfig,其中有个文件为:i18n,其中的内容为

  1. <span style=”font-size: 18px;”>LANG=”en_US.UTF-8″
  2. SUPPORTED=”zh_CN.UTF-8:z[......]

Read more

java.lang.Long详解toString() 实例介绍

java.lang.Long详解toString() 实例介绍。陆陆续续花了近两周时间看完了Long.java,可以说收获颇丰。也花了几天时间构思应该如何去写出来,苦于一直没有好的思路,又不能在这里干耗着浪费时间。所以就准备写出来了。很随意的写,想到哪里写到哪里。准备贴很多源码,附加我个人的理解。

toString(long i, int radix)

首先让我们目睹下Long中强大的toString方法。

 

  1. public static String toString(long i, int r[......]

Read more

java.lang.Long详解 缓存实例教程

java.lang.Long详解 缓存实例教程。众所周知Long中有个小小的陷阱,就是在-128至127范围内,Long.valueOf(long l)返回的Long的实例是相同的,而在此范围之外每次使用valueOf(long l)时,返回的实例都是不同的。本篇文章的主要目的就是揭示这个小陷阱。

首先来看一段代码,验证上述的小陷阱。

  1. System.out.println(Long.valueOf(128) == Long.valueOf(128));
  2. System.out.println(Long.val[......]

Read more

java.lang.Long详解之显神通的位移运算实例

java.lang.Long详解之显神通的位移运算实例。本篇主要讲述位移运算在Long中所扮演的重要角色,有些出神入化的我根本无法理解,但是我一直秉承着无论对错都要记录思考的过程的宗旨写每一篇文章。这一篇也不例外,读Long这个类确实需要比较广泛的知识面,我也是一边在OSChina和stackoverflow上提问,一边慢慢的钻研,难免会存在偏差。

先来看个简单的。

  1. public static int signum(long i) {
  2.   // HD, Section 2-7
  3.   return (int[......]

Read more

java中subString、split、stringTokenizer三种截取字符串方法的性能比较

java中subString、split、stringTokenizer三种截取字符串方法的性能比较。最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代?我当时的回答很斩钉截铁:没有。

google了一下,发现有2中替代方法,于是在这里我将对这三种方式进行测试。

测试的软件环境为:Windows XP、eclipse、JDK1.6。

测试用例使用类ip形式的字符串,即3位一组,使用”.”间隔。数据分别使用:5组、10组、100组、[......]

Read more

java 最近将工作中用到的工具总结数字工具方法封装

java 最近将工作中用到的工具总结数字工具方法封装。最近将工作中用到一些工具类总结了一下,写了一个日期类发出来供大家一起学习参考,各位高手如果有其他的方法欢迎扩充到里面,也欢迎指出我的代码中的错误与不足,大家共同进步共同学习

此工具类用来处理数字方面的逻辑, 如返回指定位数的随机数字、Double的加减乘除精确运算、指定位数数字用“0”补齐

  1. package com.wp.util;
  2. import java.math.BigDecimal;
  3. import org.apache.commons[......]

Read more

java中的设计模式实例总结

java中的设计模式实例总结。设计模式主要分三个类型:创建型、结构型和行为型。
其中创建型有:
一、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点
二、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。
三、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。
四、Builder,建造模式:将一个复杂对象的构建与他的表示相分离,使得同样的构建过程可以创建不同的表示。
五、Prototyp[......]

Read more

java local cache本地缓存的两种实现,一个基于list轮询一个基于timer定时

java local cache本地缓存的两种实现,一个基于list轮询一个基于timer定时。 最近项目要引入缓存机制,但是不想引入分布式的缓存框架,所以自己就写了一个轻量级的缓存实现,有两个版本,一个是通过timer实现其超时过期处理,另外一个是通过list轮询。        首先要了解下java1.6中的ConcurrentMap ,他是一个线程安全的Map实现,特别说明的是在没有特别需求的情况下可以用ConcurrentHashMap。我是想学习一下读写锁的应用,就自己实现了一个SimpleConcurrentHashMap.

Read more