- 博客(28)
- 资源 (25)
- 收藏
- 关注
原创 有了HTML5,我们无需再使用embed标签播放音乐或者视频了
在HTML5中提供了2个重要的标签,一个是audio,还有一个是video。 Playing songs Sorry,your browser doesn't support>
2013-02-28 22:30:17 2324 1
原创 从Web Service获取JSON格式数据
国家气象局天气预报为我们提供了数据交换格式为JSON的WEB API:http://m.weather.com.cn/data/101210101.html数字代码代表不同的城市和其它城镇,具体对应关系请查阅博客:http://blog.csdn.net/zgyulongfei/article/details/7956118我们可以利用URL和HttpURLConnection(在移动平台
2013-02-28 14:21:33 10670
原创 防止浏览器读取缓存的一个老方法
有时候我们利用WebService获取数据的时候,访问它的URL几乎是不变的,但是内容却随着服务器的更新而不同,可是问题是浏览器考虑到性能的原因,对重复的URL操作,如果有缓存,则会将旧的信息返回给浏览器,而不是重新到服务器上去请求信息。解决该问题的一个简单的办法是在URL尾部添加一个随机字符串,最常用的是加上当前日期。比如JS:var url = "www.webservices.c
2013-02-28 10:36:20 3247 1
原创 URL的愚弄
看下下面的代码:public class BrowserTest { public static void main(String[] args) { System.out.println("IEExplorer:"); http://www.google.com.hk System.out.println("MAXMIMIZE"); }}这样的代码可以看起来有点奇怪,
2013-02-28 09:41:57 1422
原创 JSON的基本知识
我们知道JSON和JS兼容性很好。下面总结下JSON的一些基本用法:1. 把JS的对象转换成JSON字符串: var person = { "name": "benson", "age" : 22, "hobbies" : ["basketball","badminton","soccer"] }; var pString = JSON.string
2013-02-27 22:23:42 895
原创 XMLHttpRequest VS. JSONP
当我们利用XMLHttpRequest对象从本地服务器获取数据时是可以的。 假设我们使用的数据格式为JSON(JavaScript Object Notation),并且我们在本地服务器上部署了一个样本数据data.json:{"completed_in":0.044,"max_id":306750251744784385,"max_id_str":"3067502517447
2013-02-27 21:54:05 3375
原创 在循环中
public class InTheLoop { public static final int END = Integer.MAX_VALUE; public static final int BEGIN = END - 100; public static void main(String[] args) { int count = 0; for(int i= BEGIN ;
2013-02-26 23:21:59 1093
原创 初级问题
看看下面的代码,打印的会是什么呢?public class Elementary { public static void main(String[] args) { System.out.println(12345 + 5432l); }}相信很多人都会说是66666,其实真正的答案是17777。问题的根源在于数字的1和字母的l很相似,如果不是特别仔细的观察,是很容
2013-02-26 10:37:19 1244 2
原创 保护性拷贝(defensive copy)
何为保护性拷贝?看一个例子:public class Person { private String name; private Date birth; public Person(String name, Date birth) { this.name = name; this.birth = birth; } public Date getBirth() {
2013-02-24 17:47:55 6710 6
原创 利用Android的传感器改变背景颜色
最近许多程序都使用了android机硬件的传感器(Sensor),其中传感器又分为好几种,比如方向,加速计,温度,磁场等,但是不同机型并不保证包括所有类型的传感器。不过大部分机子都包括加速计,下面写一个简单的demo来演示利用加速计改变应用背景颜色。1.Activity:public class MainActivity extends Activity implements
2013-02-24 10:26:33 1943
原创 Eclipse中快速给出main方法签名和标准输出
1:直接给出main方法:在Eclipse先敲m字符,然后按住ALT+/,再按回车即可。2. 直接给出标准输出:在Eclipse先敲syso,然后按住ALT + / 即可。
2013-02-23 09:42:01 2604
原创 使用new io 的socket
服务器端(非阻塞):package org.snake.socket;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.ServerSocketC
2013-02-22 21:36:21 1114
原创 Selector的使用
在JDK1.4版本增加的nio包以及其子包中有几个比较重要的基本概念,分别是缓冲器(Buffer),通道(Channel)还有选择器(Selector)。选择器允许一个线程处理多个通道,因而提高了系统的可 伸缩性以及灵活性。不同的通道(比如SocketChannel,ServerSocketChannel)可以注册到同一个选择器中,然后赋予感兴趣的事件(总共4个:读(read),写(write
2013-02-21 15:07:22 1079
原创 非阻塞的Socket
编写过socket的程序员都知道ServerSocket的accept()是阻塞的。所谓阻塞,在代码中的体现就是该语句不会返回,直到有新连接到来。但是阻塞模式会影响到服务器的可伸缩性,在JDK1.4中增加的nio包对io进行了扩充,提供了非阻塞的模式。下面模拟一个服务器和客户端交互的例子。服务器端采用非阻塞的socket:package org.snake.channels;impor
2013-02-20 21:25:59 1010
原创 Annotation的应用场合
annotation一般作为一种辅助途径,应用在软件框架或工具中,在这些工具类中根据不同的 annontation注解信息采取不同的处理过程或改变相应程序元素(类、方法及成员变量等)的行为。 例如:Junit、Struts、Spring等流行工具框架中均广泛使用了annontion。使代码的灵活性大提高。下面自定义一个简单的注解和工具类来演示。Auth
2013-02-19 15:05:12 1259
原创 在Eclipse外使用JUnit测试
Eclipse IDE 集成了JUnit开源单元测试框架。如果不借助Eclipse的图形界面工具来生成并运行我们的JUnit测试,该怎么实现呢?1. 首先需要在类路径下添加JUnit-4.X jar 包。2. 编写需要测试的方法。public class Calculator { private Calculator(){} public static int a
2013-02-18 21:16:53 1073
原创 Executor 生命周期
对于生命周期,我想我们已经听得够多了。比如Android的Activity生命周期(onCreate->onStart->onResume...),比如Servlet容器中的Servlet生命周期(init->service->destroy)。了解一个对象的生命周期,会加深你对该对象所属框架的认识。因此,要想掌握某个对象,了解它的生命周期是必要的。对于executor framework
2013-02-18 14:29:31 4151
原创 为什么类型参数不能作为静态变量的类型
静态变量是被泛型类所有实例所共享的。对于声明为MyClass的类,访问其中的静态变量的方法仍然是MyClass.myStaticVar。不管是通过new MyClass还是new MyClass创建的对象,都是共享一个静态变量。假设允许类型参数作为静态变量的类型。那么考虑下面一种情况:MyClass class1 = new MyClass();MyClass class2 = n
2013-02-18 11:43:07 6264 1
原创 Executor内部如何创建线程?
对于Thread,它既是工作单元(含有run方法),也是执行机制(start方法)。而executor framework将两者解耦,实现了工作单元和执行机制的分离。executor负责执行任务,runnable和callable代表业务逻辑单元(前者无返回值,后者有返回值)。使用executor framework,我们无须再手动创建Thread,因为executor framework有一个专
2013-02-18 09:29:16 2409 1
原创 使用Lock实现互斥(synchronized的一个替代)
传说有一本江湖罕见的武功秘籍,该书珍藏在主持大师手中。一天大师盛情邀请江湖好汉前来观摩该书,但是一次只能有一个人来看。该怎么办呢?用synchronized来实现吗?都用臭了,算了。用下李狗(Doug Lea)写的Lock吧。实现很简单,首先获得一个锁实例 Lock lock = new ReentrantLock();接着获得一把锁:lock.lock();观摩该书中。。
2013-02-17 15:20:22 2345 1
原创 考虑使用静态工厂方法代替构造器
在Java中有许多有用的“静态”类,之所以加上引号,是因为该类并未声明成static的(实际上对于外部类而言,只能接受public abstract 和 final这三个关键字)。但是对于程序员来说,该类是静态的,因为该类的内部显示定义了一个private的无参构造器(这样编译器不会自动添加默认的公有无参构造器),所以该类无法在外部进行实例化,事实上也没有必要使用new关键字进行实例化。因为这些类
2013-02-17 14:17:08 1519 1
原创 Eclipse调试多线程代码
相信到现在为止,不管是什么编程语言,程序员都使用了IDE,IDE简化了程序员的开发过程。IDE能够管理项目,自动生成代码,自动生成文档,以及调试应用程序。默认情况下,在调试多线程程序时,当遇到断点时(breakpoint),当前线程暂停,而其它线程继续运行,有些情况下,这是我们不想要看到的。比如下面的例子:除第21个线程以外,其余都是Running状态。修改:
2013-02-16 13:51:48 19550
原创 一个简单的适配器模式例子
Java的老一辈开发者应该比较熟悉Vector,Stack,Hashtable等集合类。它们的elements()返回一个实现了Enumeration接口的实现类。但是自从出现Iterator以后,就很少再使用Enumeration了。Iterator接口声明了三个方法: hasNext(),next(),remove()方法。而Enumeration只声明了hasMoreElemen
2013-02-15 13:12:29 3506
原创 推荐初中级开发者的书籍 – Java 7 并发手册[电子书]
下载地址:http://download.csdn.net/detail/czjuttsw/5061620《Java 7 并发手册》(《Java 7 Concurrency Cookbook》)这本书里包含了超过60个展示Java多线程编程的实例。这本书里讲解了关于线程的很多主题,从初级到高级,有线程管理,例如创建、中断和监视线程,有通过Java 5的Executor框架来
2013-02-13 17:34:33 1995 1
原创 推荐一款Java 7 并行 指南书 [电子书]
Java 7 Concurrency Cookbookhttp://download.csdn.net/detail/czjuttsw/5061620
2013-02-12 14:19:38 1308
原创 BitSet的一个简单应用
下面的例子是计算出字符串数组中哪些是双字符串。 public static void main(String[] args) { String[] words = { "I","am","just","a","beginner" }; BitSet mBitSet = new BitSet(); for(int i=0 ; i < words.length ; i++)
2013-02-07 21:39:09 902
原创 ~按位取反
int a = 0;int b = ~a;System.out.println(b); // -1计算方法:因为整形是32位有符号补码整数表示的。因此将整形转换为二进制后为:a 十进制 0二进制 0000 0000 0000 0000 0000 0000 0000 0000~a的二进制 1111 1111 1111 1111 1111 1111 1
2013-02-06 20:26:18 1620
原创 求救:为什么调用System.console()方法返回的是null?
本来想调用console.readPassword()方法,但是调用System.console方法时返回的怎么是null啊?
2013-02-04 20:11:07 3509 1
iOS汉字首字母获取
2015-06-29
Using swift with Cocoa and Objective-C
2014-06-26
Swift documentation
2014-06-05
基于SSH晒晒图网站
2013-01-18
android_service_电话录音
2012-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人