- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 java NIO 学习 聊天室程序 (3)
LoginCmd:[code="java"]package com.tcl.chat.command;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.channels.SocketChannel;...
2012-11-29 09:44:09
140
原创 java NIO 学习 聊天室程序 (2)
有了Command 接口,我们可以定义一些命令:这些命令也代表了一些基本的需求[list]1. @pub 向聊天室中发广播消息2. @quit 退出聊天室 , 如果断线,聊天室可以自动将与客户端的连接断开3. @listmember 查看聊天室中的所有人4. @login username password 以用户名和密码登陆服务器5. @regist us...
2012-11-29 09:35:56
152
原创 java NIO 学习 聊天室程序 (1)
学习 java nio ,自己建立一个 nio的聊天室程序。服务器采用单一线程 轮训,accept的所有端口。首先定义一个接口,处理 SelectionKey 上的事件。[code="java"]static interface NioHandler { /** * 处理{@link SelectionKey#OP_ACCEPT}事件 * *...
2012-11-29 09:15:47
143
原创 Android中的异常处理 CrashHandler
android中如果出现未捕获异常就会让应用程序crash掉,给用户的提示仅仅是该应用已崩溃,很不友好,自己定义一个UncaughtExceptionHanlder来捕获UI线程上的Exception,使用AlertDialog的方式展示出来,可以方便测试,也可以提升用户体验[code="java"]package com.tcl.navigator.common;import j...
2012-11-24 15:34:37
241
原创 可以显示行号的Android Log 工具
Android 的Log 类只能以TAG的方式却分不同类的信息,这里利用反射的方式,将Log所在的行号和类名抓出来,以后转交测试的时候如果看到log的消息就可以快速定位软件的bug[code="java"]package com.tcl.navigator.utils;import android.util.Log;public class LogUtils { pri...
2012-11-24 15:21:13
230
原创 UDP 本地转发 消息,实现松耦合的进程间通信
最近的项目需求,让多个Android应用共用一条链路,采用AIDL Service 觉得耦合度比较高,于是想想能不能用UDP本地转发的方式来将数据传送到那条链路所在的Service中。于是写了下面两个测试代码。没有定义协议,直接用了对象序列化的方法。服务器端代码:[code="java"]import java.io.ByteArrayInputStream;import ...
2012-11-24 15:16:38
244
原创 TCP 发送序列化对象
客户端代码:[code="java"]import java.io.IOException;import java.io.ObjectOutputStream;import java.net.Socket;import java.net.UnknownHostException;import java.util.Scanner;public class TCPC...
2012-11-24 15:16:03
353
原创 Externalizable 和 Serializable
Serializable 序列化自动运行Externalizable 在运行序列化,和反序列化的时候,会调用 writeExternal() and readExternal() methods.
2011-03-12 21:09:09
127
原创 StringBuilder 和 StringBuffer 的区别
StringBuffer (线程安全)StringBuilder (非线程安全)String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于...
2011-03-12 15:22:16
225
原创 volatile和synchronized区别
1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。 2.volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的 3.volatile仅能实现变量的修改可见性,并能保证原子性;而synchronized则可以保证变...
2011-03-12 14:15:51
121
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人