`
deepfuture
  • 浏览: 4437471 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80446
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:71018
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:104314
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:287975
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15204
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:68621
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32690
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46371
社区版块
存档分类
最新评论
文章列表
一个现存进程调用f o r k函数是U N I X内核创建一个新进程的唯一方法(这并不适用于前节提及的交换进程、i n i t进程和页精灵进程。这些进程是由内核作为自举过程的一部分以特殊方式创建的)。 #i nclude <sys/types.h>#i nclude <unistd.h>pid_t fork(void);返回:子进程中为0,父进程中为子进程I D,出错为-1 由f o r k创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新子进程的进程 I D。将子进程 ...
类的版式类可以将数据和函数封装在一起,其中函数表示了类的行为(或称服务)。类提供关键字public、protected 和private,分别用于声明哪些数据和函数是公有的、受保护的或者是私有的。这样可以达到信息隐藏的目的,即让类仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。我们不可以滥用类的封装功能,不要把它当成火锅,什么东西都往里扔。类的版式主要有两种方式:(1)将private 类型的数据写在前面,而将public 类型的函数写在后面,如示例8-3(a)。采用这种版式的程序员主张类的设计“以数据为中心”,重点关注类的内部结构。(2)将public 类型的函数写在前面,而将privat ...
【规则3-1-1】标识符应当直观且可以拼读,可望文知意,不必进行“解码”。标识符最好采用英文单词或其组合,便于记忆和阅读。切忌使用汉语拼音来命名。程序中的英文单词一般不会太复杂,用词应当准确。例如不要把CurrentValue 写成NowValue。z 【规则3-1-2】标识符的长度应当符合“min-length && max-information”原则。几十年前老ANSI C 规定名字不准超过6 个字符,现今的C++/C 不再有此限制。一般来说,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符不足为怪。那么名字是否越长约好?不见得! 例如变量名maxval 就比 ...
4.3.1 布尔变量与零值比较z 【规则4-3-1】不可将布尔变量直接与TRUE、FALSE 或者1、0 进行比较。根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE 的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE 定义为1,而Visual Basic 则将TRUE 定义为-1。假设布尔变量名字为flag,它与零值比较的标准if 语句如下:if (flag) // 表示flag 为真高质量C++/C 编程指南,v 1.02001 Page 28 of 101if (!flag) // 表示flag 为假其它的用法都属于不良风格 ...
函数名字与返回值类型在语义上不可冲突。违反这条规则的典型代表是C 标准库函数getchar。例如:char c;c = getchar();if (c == EOF)?按照 getchar 名字的意思,将变量c 声明为char 类型是很自然的事情。但不幸的是getchar 的确不是char 类型,而是int 类型,其原型如下:int getchar(void);由于c 是char 类型,取值范围是[-128,127],如果宏EOF 的值在char 的取值范围之外,那么if 语句将总是失败,这种“危险”人们一般哪里料得到!导致本例错误的责任并不在用户,是函数getchar 误导了使用者。
MID硬件层:主要包括手机或者双向寻呼机 本地系统软件层:包括由设备生产商提供的本地操作系统和系统库 KVM层:为JAVA无线应用提供了实时运行环境 CLDC层:为JAVA无线应用提供了核心JAVA API MIDP层:提供了GUI,持续存储,网络等类库
1、许可:用来保护对敏感API的访问 2、保护域:MIDlet suite所允许权限访问的集合 3、权限访问:通过授权才能使用的APIS或功能 4、信任midlet suite:midletsuite能通过验证,并且JAR文件的完整性能被保证,并能被某一保护域所信任。 5、配置文件:多个域或别名的定义 6、blanket,总是允许访问 7、session,下次不再询问 8、oneshot,每次询问

J2ME中MDILet

1、MIDLet是设计用来在MIDP小型设备上运行的J2ME应用程序。一个MIDlet至少含有一个从抽象类javax.microedition.midlet.MIDlet派生的类。2、多个MIDLet包装为一个MIDlet包,一个包中的成员共享主机环境资源,共享JAVA类的相同实例,运行在同一个JVM中。3、MIDLet包在运行在设备上的应用程序管理器的控制下安装、执行和卸载。4、继承MIDLet类的一个MIDLet必须实现3个抽象方法,分别是startApp(),pauseApp(),destroyApp()。启动时,应用程序管理器调用startApp(),临时停止之前调用pauseApp() ...
1、暂停状态 当MIDLET刚启动时,就处于暂停状态,直到调用startapp方法转化为活动状态。 2、激活状态 调用startapp方法将MIDLET从暂停状态转变到活动状态。 3、销毁状态 调用destroyapp或MIDLET调用NOTIFYDESTROY,系统状态发生转换并不可逆转,执行终止指令,代替了程序调用SYSTEM.EXIT退出,MIDLET不能直接调用SYSTEM.EXIT.带有参数,指示销毁请求是否是无条件的,如果不是无条件的,可从DESTORYAPP方法中MIDLETSTATECHANGEXCEPTION异常来请求保持执行状态 请求状态转换的方法: 1、r ...
1、应用程序越简单越好 2、应用程序越小越好 3、限制对内存的使用 4、将计算交给服务器完成 5、管理应用程序对网络连接的使用 6、简化用户界面 7、使用局部变量 8、不使用字符串加法 9、避免同步 10、从WEB服务器下载代码 11、从JAD文件中读取设置 12、利用下拉列表框 13、减少网络流量 14、处理时间 15、自动数据同步 16、更新改变的数据 17、仔细考虑STARTAPP()方法的内容,因为此方法在暂停后恢复运行也会调用
1、CLDC错误处理的局限,当遇到任何其他错误时,虚拟机将做出以下反应: 1)要么虚拟机以该实现自己的方式挂起。 2)要么虚拟机按照JAVA语言规范的规定抛出一个Error对象,即CLDC支持的最接近的Error类的超类对象。 2、从CLDC中去除的特性为: 1)用户定义的类装载器。有一个内建的bootstrap类装载器 2)线程组和守护线程,要显示使用容器对象来存储这些线程对象。 3)类实例的Finalization。 4)错误和异步异常。 3、类文件验证 CLDC类文件验证器的阶段如下: 1)首先,类文件必须通过一个特殊的预验证器工具,移除特定的字节码,增加一个额外的St ...
一、代码 package hello; import javax.microedition.midlet.*;import javax.microedition.lcdui.*; public class HelloMIDlet extends MIDlet implements CommandListener{ privateboolean midletPaused = false; //<editor-fold defaultstate="collapsed" desc="Generated Fields ">privateC ...
1、每个command对象的命令类型,系统实现会根据它将命令放到合适的用户界面中。 2、优先级,用于定义相同Displayable对象中相同命令类型的命令之间的相对重要性的一个数值。小的比大的更重要,如果可能,更重要的命令比不太重要的命令更容易在界面上访问。 3、ITEM类型,应用程序通过这个命令类型提示系统实现,这个是针对ITEM类对象来操作的不是对整个屏幕,如LIST元素,只会影响加亮的LIST的元素。 4、SCREEN类型,用于所有项目
笔者最近在写段小程序,因功能需要写了以下这个函数 private String getrannumber(){StringBuffer strbufguess=new StringBuffer();String strguess=new String();int []nums={0,1,2,3,4,5,6,7,8,9};Random rannum=new Random();int count;int i=0,temp_i=0;for (int j=10;j>4;j--){//取1-10的不重复数i=0;temp_i=0;count=rannum.nextInt(j);while( ...
1、首先CLDC1.0不支持float和double类型,无法支持浮点数运算。 2、必须使用放大、运算、缩小的方式 3、笔者最近开发正好实现了一个这样的过程,因为CLDC1。0中取随机数没有nextInt(9)之类的方法,该方法在CLDC1.1中才实现。作者编写了randomnum类实现了这个方法,其中浮点数运算系模拟运算,函数假设nextnum(intcount)的参数count小于 17* To change this template, choose Tools |Templates* and open the template in the editor.*/ package ...
Global site tag (gtag.js) - Google Analytics