CORBA对象生命周期之实现和内存管理
CORBA对象生命周期之实现和内存管理[@more@] 根据伺服对象的状态把它们进行分类后,现在基于内存管理来定义Corba对象的分类。显然,这个讨论和伺服对象的生命周期密切相关。这里侧重于分类,所以只是简单地讨论一下内存管理问题,并在下面引入一通用管理模式。 1. 静态Corba对象 静态对象是在系统整个生命时期中存在的Corba对象。通常,这些对象是组件入口点例如, Corba命名服务必须提供一根命名上下文,用来创建新的命名层次。这个根命名上下文可归类为静态的,因为它始终存在。从内存管理的角度来看,静态对象的实现是很简单
JBuilder2005单元测试体验之测试配置
JBuilder2005单元测试体验之测试配置[@more@] 在测试用例向导的最后一步,允许你创建一个测试用例的运行配置项,如下图所示: 图 错误!文档中没有指定样式的文字。创建运行测试项
在 Java 应用程序中访问USB设备
在 Java 应用程序中访问USB设备[@more@] Java 平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它们都显示了良好的前景,并已经成为一些实用应用程序的基础。 通用串行总线(Universal Serial Bus USB)规范的第一个版本发表于 1996年 1月。因为它的低成本、高数据传输率、使用容易和灵活性,
10年回顾:世界各地开发高手谈Java
10年回顾:世界各地开发高手谈Java[@more@] 到今年五月,Java已经走过了它辉煌的十年。我们邀请了世界各地的开发高手一同回顾Java语言发展的第一个十年,评析她今天所处的位置并预测其今后的发展趋势。与会者(包括知名IT企业Sun、IBM、BEA及Borland等)反映各异,但有一点是共同的——Java的地位将一如既往举足轻重。 一、简介 2005年5月标记着自从Sun第一个引入Java技术以来经历了整整10个年头。在过去的10年中,Java语言已经变为一个平台,一个社团和一个生态系统。在这些环境下,软件用户、开源工程以及个体开发者等茁壮成长
JAVA学习,是一条漫长的道路
JAVA学习,是一条漫长的道路[@more@] 我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J2EE的API,开始写起程序来了。如此急就章的学习方式,程序员基础能力根本就不够,对于对象导向精髓
国内不谈Java--硅谷有感
国内不谈Java--硅谷有感[@more@] 国内不谈java--会有千万人跳出来和你争嘴的。越是如此,我越是不忍心不说出来,越是不不忍心看到在这个领域被国外的同行越拉越远--在硅谷的感受。 我是96年毕业的,正值java刚出,火气冲天之时。我当时是一名C++的狂热者,有着3年的C++经验。接触java也仅仅是在作毕业设计的时候用过,对java也算是有了基本了解,那时的java才jdk1.0,烂的很,连些基本功能都没有,和大家一样,对java根本就不认可。作完了设计之后,就把java扔到一边去了。自认为C++不错,还是干自己的老本行吧。毕业时我认为
初学J2ME的一点经验
初学J2ME的一点经验[@more@] 与其说是学J2ME的经验,倒不如说是类C++语言的一点注意事项,之所以这么说,是因为这个问题是在学J2ME时候发现的,整整折腾了我一天,虽然只是一点小的失误,但是直接后果是程序不断异常,所以我把它写出来,一方面提醒自己,学知识不能浅尝辄止,而应该多问为什么,不仅知其然还要知所以然,另一方面也告诉更多像我这样初学的朋友不要犯相同的错误。 下面请看一段代码: /* * ImageItemDemo.java * * Created on 2005年7月24日, 下午1:45 */ import javax.microedition.midlet.*
JNI完全手册
JNI完全手册[@more@] 最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。 首先引用一篇文章,介绍一个简单的JNI的调用的过程。 JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI。 JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WI
Java还能走多远 四大趋势决定前景
Java还能走多远 四大趋势决定前景[@more@] 很多人对Java的理解是狭义上的理解,即把Java简单地理解为等同于C#的编程语言,在此文中从广义上理解,即把Java看成由编程语言(Java语言)、运行环境(JVM即Java虚拟机)、框架(Java API群)组成。 很多人对Java的前景不甚乐观,发出“橡树将死”的悲观论调;但包括笔者在内的一部分人坚持认为,Java还能继续飘香,这一点可从最近召开的Javaone 2005可以看到,Ja va是勇于正视自己的不足并务实改正的,有明显的四点趋势。 一是力求使基于Java架构的应用开发简单化。 当微软的C#
JAVA的国际化机制
JAVA的国际化机制[@more@] 一 介绍 国际化(Internationalization)是设计一个适用于多种语言和地区的应用程序的过程。适用于多种语言和地区的含义是当使用不同语言及处于不同的地区的用户在使用这个应用程序时,应用程序必须使用他们能看懂的语言和符合他们文化习惯来显示信息。国际化有时候被简称为i18n,因为有18个字母在国际化的英文单词的字母i和n之间。 一个国际化的程序通常具有以下特征: 有一个附加的本地化数据(localized data)及拥有在全世界各个地区执行的能力。 文本的元素,比如状态信息或GUI截面的la
给JAVA设计开发新手的一些建议和意见(1)
给JAVA设计开发新手的一些建议和意见(1)[@more@] 为了给朋友同事一些设计问题上的指导,特撰写此文,很多观点都是从别人的文章中获取,有些观点肯定也有偏颇,有些观点也仅仅是提出并没有做详细论述,请多拍砖,以便改正。 【概述】 ------- 在工作中,作为一个程序员或者一个设计师,总是要设计一些函数库或者一个框架,当然最经常的还是做项目,即使是一个项目,也会被经常改动,甚至交给别人改动。 当你做这些工作的时候,你的这些成果都是要给别人了解使用的,或者说给以后的你使用的,为了别人的方便或者为了自己
给JAVA设计开发新手的一些建议和意见(2)
给JAVA设计开发新手的一些建议和意见(2)[@more@] 【处理好你的异常】 ----------------- 异常处理是Java编程中非常重要的一个部分。建议在使用异常之前阅读或者。 下面从书中摘出几条建议: *绝对不要忽略异常 *千万不要隐藏异常*** *仅在不正常的情况下使用异常 *对可恢复的情况使用可检查异常,对程序错误使用运行时异常(RunTimeException) *给方法引发的异常做文档 *在详细信息里面包括失败捕获信息 *使用finally避免资源泄漏 *。。。。 在这里特别提出的是,在开发中要特
给JAVA设计开发新手的一些建议和意见(3)
给JAVA设计开发新手的一些建议和意见(3)[@more@] 【空接口的使用】 在接口使用的时候,空接口有2种情况: 1。类似Cloneable,Serializable,他们往往是做一个标记,表示需要某个功能。当然你也可以这么用,来表示你的类具有某个功能,实现了你的某个接口。 2。你的接口继承了别的接口(非空),你的接口本身没有声明函数。这种情况一般是你不希望用户使用父接口来作为参数类型,因为他们的用途可能不同,此时就可以用空接口来实现。 第一种情况我们不再多说,搜索一下关于Cloneable,Serializable的文章就会了解很多
给JAVA设计开发新手的一些建议和意见(4)
给JAVA设计开发新手的一些建议和意见(4)[@more@] 【MVC,MVC2,WEB设计编程的分层】 请阅读文章 http://forum。javaeye。com/viewtopic。php?t=11712&postdays=0&postorder=asc&start=0 【可扩展不等于功能强大,不要夸大其辞】 现在的系统,因为接口或者其他方法的使用,都具有很大的扩展性。但是扩展性不等于功能强大。 存在一个接口,用户可以实现自己的接口,确实非常方便。但是如果你的系统本身只实现了一个接口或者根本没有实现,那么对用户来说就谈不上方便。 例如WebWork的validators,本
学习J2SE过程中的30个基本概念
学习J2SE过程中的30个基本概念[@more@] 学习J2SE过程中的30个基本概念 前言: 在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念. Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车载计算机的
Java面向对象概述
Java面向对象概述[@more@] (如今的程序领域,大家都在说,面向对象OOP,但是真正能理解面向对象的含义的程序员却很少,究竟什么是对象,怎样面向对象) 一.面向对象: 1.何谓对象:在面向对象程序设计中,我们将问题空间中的元素以及他们在方案空间中的的表示物称作对象(object) Alan Kay总结了smalltalk中对象的5大基本特征: 所有的东西都是对象。 程序是一大堆对象的集合,他们通过消息传递,各个对象之间知道要做些什么。 每个对象都分配有自己的存储空间,可容纳其他对象。 每个对象都有一个类型。 同一
提高Java代码可重用性的三个措施
提高Java代码可重用性的三个措施[@more@] 本文介绍了三种修改现有代码提高其可重用性的方法,它们分别是:改写类的实例方法,把参数类型改成接口,选择最简单的参数接口类型。 措施一:改写类的实例方法 通过类继承实现代码重用不是精确的代码重用技术,因此它并不是最理想的代码重用机制。换句话说,如果不继承整个类的所有方法和数据成员,我们无法重用该类里面的单个方法。继承总是带来一些多余的方法和数据成员,它们总是使得重用类里面某个方法的代码复杂化。另外,派生类对父类的依赖关系也使得代码进一步复杂化:对父类
Java编程规则
Java编程规则[@more@] 包含了大量有用的建议,帮助大家进行低级程序设计,并提供了代码编写的一般性指导: (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是
Java中对HashMap的深度分析与比较
Java中对HashMap的深度分析与比较[@more@] 在Java的世界里,无论类还是各种数据,其结构的处理是整个程序的逻辑以及性能的关键。由于本人接触了一个有关性能与逻辑同时并存的问题,于是就开始研究这方面的问题。找遍了大大小小的论坛,也把《Java 虚拟机规范》,《apress,.java.collections.(2001),.bm.ocr.6.0.shareconnector》,和《Thinking in Java》翻了也找不到很好的答案,于是一气之下把JDK的 src 解压出来研究,扩然开朗,遂写此文,跟大家分享感受和顺便验证我理解还有没有漏洞。 这里就拿HashMap来研究吧。 HashMa
Java 程序中的多线程
Java 程序中的多线程[@more@] 在Java程序中使用多线程要比在 C 或 C++ 中容易得多,这是因为 Java 编程语言提供了语言级的支持。本文通过简单的编程示例来说明 Java 程序中的多线程是多么直观。读完本文以后,用户应该能够编写简单的多线程程序。 为什么会排队等待? 下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 — 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,