引言:
概念比较:
Java C#
byte code IL(字节码,中间语言)
jvm.dll mscrolib.dll,mscrojit.dll(虚拟机)
JRE CLR(运行环境)
JDK .Net Framework(开发框架)
package assembl...
摘要:
在很多中大型的应用中,如scm(供应链管理)、crm(客户关系管理)和erp(企业资源计划)等,使用者往往要根据自身的需求,灵活的对某一些参数值进行变更,使得按照某固定公式计算的结果符合目前的情况。如不同时期商品价格的折扣率需要根据实际情况进行调整,或者职员的奖金百分比要根据公司的业绩而定。这就需要有一个强大的公式管理机制来对一些参数进行灵活调整。本文用beanshell(一种java......
摘要:
我们在设计系统接口时,经常会遇到这样的问题:
1、我们的接口应该提供多少方法才合适?
2、我们的接口应该提供"原子方法"还是"复合方法"?
3、我们的接口是否应该封装(或者,能否封装)所有的细节?
接口的设计需要考虑用户的使用习惯、使用的方便程度、使用的安全程度,根据我的编程经验,下面会详细讨论接口设计的2个需要权衡的方面:接口的单一化 & 复合化。
......
CLR和JRE的运行机制的初步总结
概念比较:
java c#
byte code il(字节码,中间语言)
jvm.dll mscrolib.dll,mscrojit.dll(虚拟机)
jre clr(运行环境)
jdk .net framework(开发框架)
package assembly(类库,程序集)
一.关于类库的版本管理问题
java与c#代码运行要依靠其运行环境(jre,clr)与运行环境带的基础类库(c#称为配件或者程序集assembly),此外还会有一些第三方的类库或者自己开发的类库.如果运行环境版本不一致,或者引用的类库版本不一致都会带来程序不能正常运行.比如一个java程序是在jdk1.2上开发,如果在jre1.4上运行,一般情况下可以向下兼容,但也有例外,有些gui程序在jdk1.4上面运行结果很可能会不同.
jre的版本管理
java的解决办法是每个程序自己携带一套jre.
我的机器上已经被安装了好多套jre与jdk了(jdk包括了同版本的jre,此外还包括有编译器与其它工具),它们分别是:
bea weblogic server 7.0 自带一套 jdk1.3.1_02
我下载了一套最新的jdk1.4.1_02
jbuilder9自带一套jkd1.4.1_02
oracle8.1.7自带一套jre1.1.7
ration rose自带一套jdk1.3
dreamweaver自带一套jdk1.3
6套jre,每套jre都被各自安装到不同的目录,不会互相影响.当在控制台执行java.exe,操作系统寻找jre的方式如下:
先找当前目录下有没有jre
再找父目录下有没有jre
接着在path路径中找jre
注册表hkey_local_machine\software\javasoft\java runtime environment\ 查看currentversion的键值指向哪个jre
最常用的是在path路径中找jre,一般情况下,自己的程序运行之前都会先在批处理文件里面临时设置path,把自己用的jre放到path路径最前面,所以肯定会运行自己带的jre,不会造成版本混乱.
.net framework的版本管理
.net framework被固定安装在c:\winnt\microsoft.net\framework\v版本号\目录下,并且在同一台机器只能安装一套,要安装1.1版本的.net framework,就必须先删除1.0的.听说刚发行的.net framework1.1已经对1.0做了很多改进,甚至基础类库的层次也有所变动.看来在旧版本的.net framework开发的程序将来往新版本上面迁移的时候少不了修改程序代码.
jre的基础类库
jre自带的基础类库主要是jre\lib\rt.jar这个文件,包括了java2平台标准版的所有类库.与jre的版本一致....
下一页 摘要:
写ejb和rmi的存根类,和其他为了虚拟机正常运行的类通常是很烦人和单调的。一旦宿主类改动了,你除了不得不写这些代码外,还需要修改存根代码。xdoclet提供了一个很好的办法。
xdoclet和ant集成起来,通过ant的自定义标签运行在编译时。你可以和ant其他任务一样使用这些标签。
要使用xdoclet,你就要在代码里面加上自定义的javadoc的标签。xdocl......