摘要: 1、sleep()使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完毕后,低优先级的线程才能够执行;但是高优先级的线程sleep(500)后,低优先级就有机会执行了。总之,sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级、高优先级的线程有执行的机会。2 阅读全文
posted @ 2012-11-08 18:54 zhangyoushugz 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 一年多前我还在Vi阵营,偶尔使用Emacs还总是忘记`退出`(C-x C-c)的快捷键,但是一年后我跨入高手行列.现在网上很多中文文章都是和你强调Emacs有多牛,以激发你的兴趣.最有名的大概是王垠的Emacs是一种信仰!世界最强编辑器介绍.这些好文章让你激动,你因此定下来一个伟大崇高的目标(掌握神一样的编辑器Emacs),接下来的关键就是执行了(如何高效地学习Emacs).国内关于"如何做"的文章不多,那些涉及到"如何做"的文章,涉及细节比较多,而谈一般方法论的较少,所以本文的重点就是谈谈一般方法,Table of Contents1 为什么要学习Em 阅读全文
posted @ 2012-11-07 10:35 zhangyoushugz 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 软件调试对于编程人员来说有着非常重要的意义,应用程序功能的开发和完善是在不断调试中完成的。本文围绕IBM i上C/C++语言的编译调试问题进行分析和介绍。主要介绍两方面的内容:一是system i上C/C++源程序编译方法,二是C/C++程序在system i上的调试方法。IBM i上编辑应用程序代码可以选择绿屏或者其他平台编辑后上传的方式,这里采用windows 端自选编辑器编辑示例程序test.c,然后通过FTP将源文件传输到system i上编译调试的方式。假设已通过此方式将C的源文件bubbleSort.c、bubbleFun.c、bubbleMain.c上传到目录/myApp下。一 阅读全文
posted @ 2012-11-07 10:33 zhangyoushugz 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 最近在一块新的板子下作开发, 有些变量发生异常(就是我们不想到的值),可以加上backtrace,知道是哪个函数调用它,导致出现异常, 就像死机了,你可以gdb和core文件用bt 命令,查看死机在哪里(有一种 情况 不能看见, 就是发生信号异常不在本文范围 ), 本人感觉还有用, 关说不炼、假把式,下面是实现代码:首先实现核心代码backtrace函数:[html] view plaincopyprintextern void * __libc_stack_end; # define BOUNDED_N(PTR, N) (PTR) #define BOUNDED_1(PTR) BOUNDED 阅读全文
posted @ 2012-11-07 10:26 zhangyoushugz 阅读(532) 评论(0) 推荐(0) 编辑
摘要: Tomcat7.0配置连接池的步骤:第一步:在Tomcat的配置文件Tomcat7.0\conf\context.xml中添加信息:<Context> <Resource name="jdbc/drp" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="2" maxWait="5000" username="drp" password= 阅读全文
posted @ 2012-11-06 17:01 zhangyoushugz 阅读(427) 评论(0) 推荐(0) 编辑
摘要: Ajax:Asynchronous javascript and xml,实现了客户端与服务器进行数据交流过程。使用技术的好处是:不用页面刷新,并且在等待页面传输数据的同时可以进行其他操作。 这就是异步调用的很好体现。首先得了解什么是异步和同步的概念。 举个例子:比如你去图书馆借某种书,可惜图书馆此书被借完。这时可以采用两种做法。第一种做法:在图书馆一直等待,直到有人还书,然后再去吃饭睡觉。第二种做法:直接跟图书馆管理员约定,若是有人还书,直接通知你。你则该忙什么忙什么。到时候会通知你。而第一种做法就是同步的表现,必须等待别人还书(等待服务器返回信息)才进行其他事情,至死方休。而第二种做法就. 阅读全文
posted @ 2012-11-06 17:00 zhangyoushugz 阅读(183) 评论(0) 推荐(0) 编辑
摘要: java中把生成Class对象和实例对象弄混了,更何况生成Class对象和生成 instance都有多种方式。所以只有弄清其中的原理,才可以深入理解。首先要生成Class对象,然后再生成Instance。那Class对象的生 成方式有哪些呢,以及其中是如何秘密生成的呢?Class对象的生成方式如下:1.Class.forName("类名字符串")2.类名.class3.实例对象.getClass()通过一段小程序,来观察一下Class对象的生成的原理。[java]/***2012-2-6*Administrator*//***@author: *文件名:TestClass. 阅读全文
posted @ 2012-11-06 16:59 zhangyoushugz 阅读(166) 评论(0) 推荐(0) 编辑
摘要: JVM是如何判断这三个Class对象其实是一个Class对象呢? JVM根据两个方面判断:一是类的全称;另一个是类加载器.根据上篇博客中的结果得出:类的全称是相同的.那类加载器是否相同呢?即使类的全称相同,而使用的加载器不同,那Class对象也是不同的.那我们继续上篇博客中的例子,看看所使用的加载器的结果如何呢?其中使用getClassLoad()方法.[java]/***@author: *文件名:TestClass.java*时间:2012-2-6上午10:01:52*/publicclassTestClass{publicstaticvoidmain(String[]args){try{ 阅读全文
posted @ 2012-11-06 16:58 zhangyoushugz 阅读(288) 评论(0) 推荐(0) 编辑
摘要: eCos是一个优秀的嵌入式实时操作系统。eCos的体系结构是一种分层结构,硬件抽象层将操作系统与硬件隔离开,这为把eCos移植到不同的硬件平台提供了便捷的方法,抽象层就像软件与硬件之间的桥梁。主要的移植思想是,按照eCos的模块化设计,完成硬件抽象层。 引言 目前,嵌入式操作系统的种类较多,其中比较流行的有VxWorks、Windows CE、Psos、Palm OS、嵌入式Linux等。这些嵌入式操作系统在开放性、实用性以及性能等方面各有千秋,但大多数为商用产品。除了商用产品外,还有一些免费的嵌入式操作系统,uClinux是其中比较流行的,而eCos则是另一个选择。嵌入式可配置操作系统eCo 阅读全文
posted @ 2012-11-05 18:53 zhangyoushugz 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 一.建模概述建模的重要性:建模是开发优秀软件的所有活动中的核心部分,其目的是把所要设计的结构和系统的行为沟通起来.并对系统的体系结构进行可视化和控制。建模是为了更好地理解正在构造的系统,并经常提供简化和复用的机会,同时建模还可以管理风险。不成功的软件项目失败败原因各不相同,而所有成功的项目的成功原因在很多方面都是相似的:一个成功的软件组织有很多成功的因素,其中共同的一点就是对建摸的采用。建模是一项经过检验并被广为接受的工程技术:我们建立的房屋和大厦的建筑模型能帮助用户得到实际建筑物的印象:为了分析大风或地震对建筑物造成的影响,我们甚至可以建立数学模型。人对复杂问题的理解能力是有限的、通过建模, 阅读全文
posted @ 2012-11-05 18:51 zhangyoushugz 阅读(7292) 评论(1) 推荐(0) 编辑