C/C++/Java
timequark
热爱开源,都是开源惹的火;
EMail: widespread@sina.com;
WeChat: 15800678981
展开
-
MVC设计模式参考一
先谈优点:1)将M.V.C.分离可以让不同的专家负责不同的模块,一般情况下,M部分由熟悉数据库,网络传输的专家来负责;V则交给对UI有研究的专家。这对于项目的管理者而言是多么的诱人,分工意味着可以提高效率并可以按照传统的责任划分来处理软件开发过程。对开发者而言也可以专心于一个领域。这样做的前提是接口要明确,MVC的分离思想正为其提供了基础。2)一旦V的部分发生变化,可以迅速的重构而原创 2010-01-08 11:52:00 · 627 阅读 · 0 评论 -
cokie技术在Java ME平台的应用与实现
Cookie在Web应用程序中被广泛采用,维护浏览器和服务器之间的状态。遗憾的是这一特性在JavaME平台中并没有得到支持。因此,要想维持客户端和服务器端的状态则必须使用URL重写的方式。URL重写操作起来比较麻烦,所以研究一下cookie的原理并在Java ME平台上实现cookie是不错的尝试。首先,我们来看一下cookie的原理。当服务器需要和浏览器维持某一状态的时候,例如需要记原创 2010-01-08 11:48:00 · 667 阅读 · 0 评论 -
J2ME中读取Unicode和UTF-8编码文件的方法
一、读取Unicode文件 /** * 读取Unicode编码文本文件 * @param resource String - 文件名 * @return String - Unicode文本 */ public static String read_Uni(String resource) {原创 2010-01-08 11:49:00 · 587 阅读 · 0 评论 -
在j2me中读取txt文件数据
private void read() { byte[] data = null; InputStream in=null; DataInputStream dis = null; int count=0;//文本文件中字节的个数 int highPostion=-1,lowPostion=-1;//分别代表一个数字的十位数字和各位数字。 int num原创 2010-01-08 11:50:00 · 618 阅读 · 0 评论 -
观察者模式(Observer)
和其它形式的回调函数(callback)类似,Observer模式也允许你通过挂钩程序(hookpoint)改变代码。不同之处在于,从本质上说,Observer模式是完全动态的。它经常被用于需要根据其它对象的状态变化来改变自身(状态)的场合,而且它还经常是事件管理系统(eventmanagement)的基本组成部分。无论什么时候,当你需要用完全动态的方式分离呼叫源和被呼叫代码的时候,(原创 2010-01-08 11:42:00 · 1810 阅读 · 0 评论 -
java设计模式之Singleton(单态)
定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还有, singleton能够被状态化;这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize原创 2010-01-08 11:47:00 · 320 阅读 · 0 评论 -
Java程序员应该搞懂的六个问题
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。 问题一:我声明了什么!String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello原创 2010-01-08 11:41:00 · 442 阅读 · 0 评论 -
Push注册机制
MIDP2.0引入了Push注册机制,作为一种允许应用被自动启动的方法,由预先设置的警告或者经inbound连接收到的消息。 通过这种方法,MIDlets可以用来设置处理规则事件,如定时从服务器上同步数据,或者非规则事件如一个突来的消息。 Push注册机制由javax.microedtion.io.PushRegistry类管理,它还是应用程序管理系统——它处理所有事件——的一部分原创 2010-01-08 11:41:00 · 729 阅读 · 0 评论 -
j2me网络程序中移动资费页面的处理
自中国移动启动上网资费页面提醒后,导致了很多的J2ME联网出现了联不上服务器的问题。即在j2me程序中启动联网后,在有些地区,有些时候,移动网关会把我们的请求截下,返还一个资费提醒的页面给我们,这样我们的服务器将不会收到我们的请求,导致程序出现联网失败的错误。因此我们在处理网络连接时要加入对移动资费页面的处理,我们可以在发送网络请求后,对返回的response进行http头的检测,如果我们原创 2010-01-08 11:53:00 · 455 阅读 · 0 评论 -
一些实用的图形用户界面方法
这个函数已反复应用于多个手机应用软件平台用法:参数定义:str——要分割的字符串 font——字体 rowMaxW——分割后每行宽度 支持标示符: /n 换行 /t 插入两个汉字长度的空格 public stati原创 2010-01-08 11:52:00 · 485 阅读 · 0 评论 -
Mobile Media API Instruction
MMAPI提供了一些系统属性供查询,我们可以使用方法System.getProperty(String key)得到属性值。关于这些属性值得说明请参考MMAPI DOC。 supports.mixing supports.audio.capture supports.video.capture supports.recording audio.encod原创 2010-01-08 11:51:00 · 407 阅读 · 0 评论 -
避免在Java中使用Checked Exception
Java的Exception分为两类,一类是RuntimeException及其子类,另外一类就是checkedException。Java要求函数对没有被catch处理掉的checkedException,需要将其写在函数的声明部分。然而,这一要求常常给程序员带来一些不必要的负担。为了避免在函数声明中写throws部分,在Java项目里面常常可以看到以下代码用来‘吞掉’Excep原创 2010-01-08 11:46:00 · 502 阅读 · 0 评论 -
MFC消息内幕
//////////////////////////////////////////////////////////////////////////////////// /********* 文章系列:MFC技术内幕系列***********/ /************MFC技术内幕系列之(四)***********原创 2009-05-03 13:47:00 · 1115 阅读 · 0 评论 -
bss段和.data段的区别
【例一】用cl编译两个小程序如下:程序1:int ar[30000];void main(){ ......} 程序2:int ar[300000] = {1, 2, 3, 4, 5, 6 };void main(){ ......} 发现程序2编译之后所得的.exe文件比程序1的要大得多。当下甚为不解,于是手工编译了一下,并使用了/FAs编译选项来查看了一原创 2009-05-03 15:10:00 · 687 阅读 · 0 评论 -
GCC - packed structures
GCC allows you to specify attributes of variables and structures using the keyword__attribute__, the syntax of which is __attribute__((attribute list)). One such attribute is __packed__ which speci原创 2009-05-03 15:11:00 · 1199 阅读 · 0 评论 -
C中的#
#include #include #define NUM(x) #x//100#define STR "200"#define TEXT(x) #xint main(void){ printf( "TEST"NUM(100) ); printf("/n"); printf( "TEST"TEXT(STR)); return 0;}执行结果为:TEST100TESTSTR可见原创 2009-10-25 19:58:00 · 564 阅读 · 0 评论 -
C中的volatile用法
C中的volatile用法 volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k原创 2009-12-12 09:00:00 · 484 阅读 · 0 评论 -
Sington中的问题
原创 2010-01-08 11:35:00 · 529 阅读 · 0 评论 -
java中final的用法
许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应用于下述两个方面:(1) 编译期常数,它永远不会改变(2) 在运行期初始化的一个值,我们不希望它发生变化对于编译期的常数,编译器(程序)可将常数值“封装”到需要的计算过程里。也就是说,计算可在编译期间提前执行,从而节省运行时的一些开销。在Java中,这些形式的常数必须属于基本数据类型(Primitives),原创 2010-01-08 11:37:00 · 593 阅读 · 0 评论 -
Game设计中的一些问题
一、 轮询键盘轮询键盘会带来新的问题。首先,一次按键可能带来两次响应的问题。尽管移动设备上的FPS很低,但对于按键来说还是太快了。以下是常见的解决方法:方法一:使用时间阈值技术。设定一个时间阈值。比如100ms,比较同一个按键两次按下的时间间隔。若小于这个时间阈值则不做处理,若大于这个时间阈值则执行相关的逻辑。private long leftLastPresse原创 2010-01-08 11:39:00 · 494 阅读 · 0 评论 -
抽象工厂(Abstract factories)
抽象工厂(abstractfactory)模式看起来很像前面我们看到的那些factory对象,只不过它有多个而不是一个factory方法。每一个factory方法创建一个不同类型的对象。基本思想是:在创建工厂对象的地方,由你来决定如何使用该工厂对象创建的那些对象。《设计模式》里给出的例子实现了在不同用户图形界面(GUIs)之间的可移植性:你根据自己使用的GUI来创建一个与之对应的fac原创 2010-01-08 11:46:00 · 559 阅读 · 0 评论 -
C语言嵌入式系统编程修炼之背景篇(转)
不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。笔者在嵌入式系统项目的开发过程中,一次又一次感受到C语言的精妙,沉醉于C语言给嵌入式开发带来的便利。 图1原创 2009-05-03 13:40:00 · 1291 阅读 · 0 评论