自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翻译 Spring研究 (3) 使用JDBC

Spring对JDBC进行了非常优雅的封装,通过一系列的模板方法,我们只需简单的几行代码就可实现数据库的访问。在上次的Web App的基础上,我们将通过Spring的JdbcTemplate访问数据库从而实现用户验证。为了尽量简化,我们创建一个Access数据库,建立表Account,包含两个字段: username:VARCHAR(20),主键; password:VARCHAR(2...

2004-08-31 23:55:00 25

翻译 使用MIDP2.0开发游戏 (3) 添加背景和前景

上次我们已经让坦克动起来了,现在我们准备给游戏添加背景和前景。上次讨论了用Sprite实现动画,其实背景和前景也是用Sprite实现的,我们准备一幅背景和一幅前景图片:注意背景可以不透明,但前景一定要处理成透明的png格式(以上均为jpg截图,请自行用Photoshop等转换)。修改TankGameCanvas如下:public class TankGameCanva...

2004-08-31 21:09:00 29

翻译 Spring研究 (2) 添加Bean

在上次的MVC基础上,我们准备给Controller增加Model,为此创建一个Account Bean Class:public class Account implements java.io.Serializable { private String username; private String password; public String getUsername() { re...

2004-08-29 10:44:00 24

翻译 使用MIDP2.0开发游戏 (2) 使用Sprite

Sprite,精灵,顾名思义,专用来代表游戏中的动画角色,比如飞机,坦克等等。在MIDP1.0中,我们必须自己写专门的类来实现Sprite,幸运的是,MIDP2.0为Sprite提供了强力支持,可以创建静态,动态,不透明和透明的Sprite,下面我们准备在上次的GameCanvas基础上添加一个Sprite并让它动起来。Sprite的主要构造方法有:Sprite(Image):构造一个单幅...

2004-08-27 19:38:00 29

翻译 使用MIDP2.0开发游戏 (1) GameCanvas基础

MIDP2.0提供了对游戏的强有力支持,通过javax.microedition.lcdui.game包,原来在MIDP1.0中很多需要自己写的功能现在都被当作标准API实现了,包括GameCanvas,Sprite,Layer等等。我们将使用MIDP2.0编写一个坦克大战的手机游戏,我也是初学J2ME不久,准备边看书边做,争取把这个游戏做出来!J2ME高手请多指点,和我一样学习中的朋友欢迎多...

2004-08-26 19:36:00 27

翻译 在Pocket PC中使用Web Service连接数据库

在Pocket PC中使用Web Service连接数据库前言<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />微软的移动开发者大会在六月的北京举行了,国内的移动应用软件虽然是刚刚起步,但是这个前景宽广的领域已经受到越来越多软件厂商的关注了。移动设备上的商业应用尽管刚刚起步,但...

2004-08-26 11:46:00 42

翻译 Jexi开发 (16) 计划添加的功能

准备实现文件Load / Save,采用Strategy模式:FileLoad与FileStore类似,这样便能灵活地增加新的文件格式了。准备先实现一个最简单的TextFileLoad / TextFileStore,然后再增加Html格式的支持。...

2004-08-25 20:11:00 59

翻译 [原创]C# 2.0对现有语法的改进

C# 2.0对现有语法的改进作者:lover_P[自序] 尽管Microsoft Visual Studio .NET 2005(过去好像叫Visual Studio .NET 2004)一再推迟其发布日期,但广大开发者对其的猜测以及各种媒体对其各方面的“曝光”也似乎已经充斥了网络。但与C#有关的文章似乎无外乎两个方面:VS.NET 2005 IDE特性、介绍C# 2.0中引入的“四...

2004-08-24 09:35:00 44

翻译 Spring研究 (1) 第一个Spring MVC程序

准备开始研究Spring,今天把开发环境搭好了,然后照着Spring官方站点的Tutorials(Developing a Spring Framework MVC application step-by-step)做好了第一个MVC应用!为了简化,我把例子中的很多不必要的东西全部删掉了,只留下一个最简单的MVC应用。开发环境:Windows XP SP1 English,Eclipse 3....

2004-08-22 16:44:00 37

翻译 [原创]程序结构随想

程序结构随想作者:lover_P[自序] 本来打算这一段时间好好补补算法知识,多写点程序而少写些文字。但今天突然对程序结构有所感悟,不由得写下了这篇文章。[正文] 所谓程序结构,就是指通常人们所说的“结构化编程”、“面向对象编程”等等。通常,最常见的程序结构包括:非结构化程序 结构化程序 面向对象程序 当然,还有很多程序结构如“面向组件”...

2004-08-21 07:35:00 23

翻译 [原创]使用Visual Studio .NET编写纯C程序的提示

使用Visual Studio .NET编写纯C程序的提示作者:lover_P 所谓的纯C程序,是指该程序(包括可执行程序或库)之源代码所用语法严格遵守C89标准,且所用之库函数,要么为C89标准所支持之标准库函数,要么为第三方以纯C程序所编写之库函数。 上面是我对“纯C程序”做的一个非标准的、递归的定义。 使用Visual Studio的朋友们都知道,作为Visual Stud...

2004-08-20 21:50:00 36

翻译 Linux嵌入式实时操作系统开发与设计(十一)

附录A <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />中断延迟测试代码:这是一个补丁(patch)文件,在我的Linux-2.2.12版本下编译通过。通过下面的命令粘贴到Linux源文件中:# cd /usr/src/linux-2.2.12# patch –p...

2004-08-19 14:29:00 43

翻译 《人月神话》的观点:是或非?(Propositions of the Mythical Man-Month: True or False?)——摘自《人月神话》...

以下内容摘自《人月神话》所有这些观点都是可操作验证的,我将它们表达成刻板的形式是希望能引起读者的思考、判断和讨论。第1 章焦油坑1.1 编程系统产品(Programming Systems Product)开发的工作量是供个人使用的、独立开发的构件程序的九倍。我估计软件构件产品化引起了3 倍工作量,将软件构件整合成完整系统所需要的设计、集成和测试又强加了3 倍的工作量,这些高成本的构件在根本上...

2004-08-19 13:12:00 27

翻译 用Java构建稳定的Ftp服务器 (4)

基本上我们的Ftp已经可以运行了,注意到我们在FtpConnection中处理USER和PASS命令,直接返回200 OK,如果需要验证用户名和口令,还需要添加相应的代码。如何调试Ftp服务器?有个最简单的方法,便是使用现成的Ftp客户端,推荐CuteFtp,因为它总是把客户端发送的命令和服务器响应打印出来,我们可以非常方便的看到服务器的输出结果。另外一个小Bug,文件列表在CuteF...

2004-08-18 22:00:00 66

翻译 用Java构建稳定的Ftp服务器 (3)

下面我们要处理用户连接,也就是FtpConnection类。Ftp连接本质上是一个状态机,当FtpConnection接收到用户命令后,根据当前状态决定响应及下一个状态。不过我们不需要考虑实现一个复杂的状态机,只须监听/接收/处理/响应即可:package jftp;import java.net.*;import java.io.*;import java.util.*;import jav...

2004-08-18 21:48:00 23

翻译 用Java构建稳定的Ftp服务器 (2)

前面讨论了基本的FTP协议和会话,下面我们用Java来开发一个简单的Ftp服务器。为了简单起见,我们只设计两个类:一个FtpServer类用于监听,一个FtpConnection类代表一个用户连接,每个连接都使用一个线程。FtpServer负责初始化ServerSocket并监听用户连接,它接受一个参数来初始化Ftp服务器的根目录:package jftp;import java.ne...

2004-08-18 21:13:00 18

翻译 用Java构建稳定的Ftp服务器 (1)

Ftp服务是最常用的网络服务之一,虽然在www风行的今天,Ftp已经远不如以前使用得广泛,但是在许多大学等科研单位,Ftp仍然是最常用的文件交换方式。构建一个Ftp服务器要比构建一个Ftp客户端来得简单,因为服务器不需要复杂的图形界面。相比传统的C/C++,使用Java的多线程和网络编程能令我们更轻易地开发出稳定可靠的Ftp服务器。Ftp协议简介File Transfer Protocol...

2004-08-18 20:55:00 29

翻译 Linux嵌入式实时操作系统开发与设计(十)

这是我完成的在大学完成的一个课题,终于可以把它放到网上去了,希望不会太迟。所有完成的源代码都有,包括实时测试,中断时间测试,上下文切换测试,RTlinux示例程序等。需要的人请给我email联系索取。有什么问题的可以直接在这里讨论或者给我email。我的email:ryan_joseph@163.net本人现在在广州,极为想找到一个嵌入式方面的开发工作,或者是测试方面的工作,有意者请联系上面e...

2004-08-18 17:06:00 43

翻译 Linux嵌入式实时操作系统开发与设计(九)

第六章 感想与体会<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />当前,以信息家电为中心的嵌入式系统正得到蓬勃的发展。并且现在出现的市场只是冰山一角。我相信,随着嵌入式系统和网络技术的发展,整个世界将更加网络化,计算化。世界是丰富多彩的,因而无处不在的嵌入式系统也要适应这...

2004-08-18 16:56:00 70

翻译 Linux嵌入式实时操作系统开发与设计(八)

第五章 RTLINUX的性能测试<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />根据2.2节有关中断延迟的介绍。在这一章,我们将对RTLinux的中断延迟进行测试。测试的机器为Celeron 412MHz,196MB内存,RTLinux3.1+Linux-2.2.19(与前面测试...

2004-08-18 16:54:00 50

翻译 Linux嵌入式实时操作系统开发与设计(七)

第四章 RTLinux应用程序设计<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />4.1 程序结构每个实时应用程序可以分为两部分:实时部分和非实时部分[2]。非实时部分在用户空间执行,称为用户部分。实时部分要尽可能简单,只包含直接与时间相关的代码;由于硬件对时间的约束,低级的...

2004-08-18 16:53:00 42

翻译 Linux嵌入式实时操作系统开发与设计(六)

3.3 实时任务<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />实时任务是一个用户定义的程序,它按照在内核控制下的特定的调度方式来执行。最开始的设计是给每一个实时任务有自己的地址空间来提供内存保护。这通过80x86处理器内置的分页机制[10]。在每次上下文切换中,页目录是基于...

2004-08-18 16:50:00 31

翻译 Linux嵌入式实时操作系统开发与设计(五)

第三章 嵌入式实时LINUX系统RTLINUX的设计与实现<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />从上一章的分析,我们已经知道Linux是一个通用操作系统,将它应用于嵌入式实时环境有许多缺点和不足。特别是在运行内核线程时,Linux关闭中断,别的问题包括分时的调度,虚拟文...

2004-08-18 16:43:00 22

翻译 Linux嵌入式实时操作系统开发与设计(四)

2.3 当前的实时操作系统<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />在这一节我们来看看一些操作系统的设计者是怎样来处理前一节所提到的问题的。最简单的解决方案是改变分时的调度程序。一个例子是文献[12]介绍的系统。MINIX的round-robin调度器换为基于优先级的调...

2004-08-18 16:40:00 22

翻译 Linux嵌入式实时操作系统开发与设计(三)

第二章 实时系统的相关研究<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />尽管现在的操作系统变得种类繁多,但是UNIX及其兼容的系统仍然是工业和学术领域标准的操作系统。一些非UNIX系统,比如Windows NT,也是与POSIX.1003标准兼容,这个标准无疑是基于UNIX。这...

2004-08-18 16:38:00 20

翻译 Linux嵌入式实时操作系统开发与设计(二)

第一章 嵌入式实时系统概况<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />1.1 嵌入式系统概况1.1.1 嵌入式技术的历史发展嵌入式系统的出现至今已经有30多年的历史了,嵌入式技术也历经了几个发展阶段。进入90年代后,以计算机和软件为核心的数字化技术取得了迅猛发展,不仅...

2004-08-17 16:00:00 42

翻译 C++的构造函数和拷贝构造函数

★ 编译器自动生成的构造仅仅做让编译能通过的事情,它不会初始化成员变量。★ 编译器并不会自动生成缺省的构造函数和拷贝构造函数,仅仅在它需要的时候。没错!对于下面的类:class Test { int n;};编译器不会自动生成构造函数,因为没有字段需要初始化。★ 很多时候都需要深拷贝,这时需要自己定义copy constructor和重载operator=。★ 如果只...

2004-08-15 22:40:00 33

翻译 C++的多态

默认的member function是静态绑定的,编译期就决定了。若要获得动态绑定,须加上virtual。虚函数机制不会发生作用的两种情况:1.基类的构造函数和析构函数决不会调用派生类的虚函数,即调用的一定是基类自身的函数。2.使用的是基类的对象,而非指针或引用。只有通过指针和引用才可发挥多态的威力。要正确析构对象,应将destructor申明为virtual,但不要申明为pure vir...

2004-08-15 22:13:00 24

翻译 Jexi 1.0 beta

庆祝中国队夺得雅典奥运会第一枚金牌!发布1.0测试版:Source Code: http://code.google.com/p/jexieditor/Compiled: http://jexieditor.googlecode.com/svn/trunk/Jexi/dist/

2004-08-14 19:55:00 19

翻译 windows xp的密码忘记了以后怎么办

重新启动XP按F8选择带命令行的安全模式net user abcd 1234 /add再用net localgroup administrators abcd /add命令将abcd提升为管理员权限登陆 通过用户名abcd登陆即可 是不是似曾相识?对呀,利用IIS的UNICODE漏洞进行攻击的时候,不也差不多这样吗?呵呵。对于打了SP2补丁的XP系统,我还没有试过,如果谁试了可以留个言说下效果...

2004-08-14 15:16:00 25

翻译 Jexi开发 (15) 实现图文混排

今天把最早设计的Picture类实现了,另外添加一个工厂PictureFactory用于创建Picture,放到程序中一测,没有调试立刻显示正常,呵呵,出乎我的意料,看来以后添加其他类型的Glyph也没有大问题:唯一的bug是图片两侧的光标大小和位置不对,今晚先看奥运,明早再解决这个小bug :)...

2004-08-14 00:25:00 28

翻译 Jexi开发 (14) 应用Command模式

Command模式用于封装用户操作再合适不过了!定义Command接口:public interface Command { boolean execute(); void unexecute(); String toString();}toString()方法返回命令描述,可以在工具栏的Undo/Redo中提示用户。单态类CommandManager用于创建、执行和撤销命令:...

2004-08-11 20:44:00 19

翻译 Asp.net连接Access数据库例程

Asp.net连接Access数据库例程详解:<%@ Import Namespace="System.Data" %><%@ Import NameSpace="System.Data.OleDb" %><script laguage="VB" runat="server">Dim myConnection As OleDbConnection

2004-08-11 04:36:00 37

翻译 OO和OB的区别

C++同时支持OO和OB两种设计。OO:Object Oriented,支持多态这一强大的设计机制,需要付出的代价便是额外的间接性(virtual机制)。OB:Object Based,非多态的数据封装模型,就是C中ADT(Abstract Data Type)的概念,和OO相比拥有更快的速度而且空间更紧凑(因为不需要virtual)。OO和OB的设计其实就是在弹性和效率之间的取舍。...

2004-08-08 17:13:00 191

翻译 struct和class的区别

如果没有多态和虚拟继承,在C++中,struct和class的存取效率完全相同!简单的说就是,存取class的data member和非virtual function效率和struct完全相同!不管该data member是定义在基类还是派生类的。如果不是为了和C兼容,C++中就不会有struct关键字。因此建议是:如果不需要与C兼容或传递参数给C程序,不要在C++中用struct。注意...

2004-08-08 16:55:00 32

翻译 C++对象模型

1.简单对象模型一个Object由一系列的slots构成,每个slot指向一个data member或constructor或destructor或function member。Object只包含指针。每个base class subobject都可由一个slot指出。优点:编译器设计简单。缺点:空间和执行期效率。2.表格驱动对象模型分为两个table,一个指向data member t...

2004-08-08 16:46:00 24

翻译 C++指针释疑

来源:<The C++ Programming Language<the language="" programming c>></the>void f(int* pi){void* pv = pi; // ok: implicit conversion *pv; // error: can't dereference void* pv++; /...

2004-08-07 09:34:00 33

翻译 收集的微软的部分考题——有兴趣的可以看看

1. 烧一根不均匀的绳,从头烧到尾总共需要1个小时,问如何用烧绳的方法来计时半小时呢?2. 五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分:? (1)抽签决定自己的号码(1、2、3、4、5)? (2)首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼? (3)如果1号死后,再由2号提出分配方案,然后剩下的4人...

2004-08-06 19:38:00 33

翻译 为Eclipse添加游戏

想在工作之余轻松一下?现在Eclipse连游戏都有了插件,可以到:http://eclipse-games.sourceforge.net/下载Eclipse游戏plug-in,一共有扫雷,贪吃蛇,推箱子等4款游戏,值得一玩!...

2004-08-05 23:13:00 68

翻译 Jexi开发 (13) 实现编辑功能

今天把Caret重新设计了一遍,用一个Position表示Caret的位置:public final class Position {??? private int pageIndex;??? private int rowIndex;??? private int columnIndex;??? ...}Caret的位置无法用Paragraph和Index表示,因为第N行末尾和第N...

2004-08-05 22:33:00 24

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