存档

文章标签 ‘java’

Eclipse代码片断编辑测试窗介绍

2004年10月22日 robertbao 1 条评论

OS:WindowsXP+SP1
JDK:1.4.2

1、代码片断编辑测试窗介绍:
JDT(Eclipse中Java开发工具) 添加了代码片断编辑测试窗,可以用来在构建完整 Java 程序之前对 Java 代码片段进行试验和求值。从Java代码片断编辑测试窗编辑器中,可以选择代码片段、对其进行求值并以字符串形式显示结果,还可以在调试器的表达式视图中显示对代码片段求值所产生的对象。并允许在调试器的控制下运行、检查和显示Java表达式,断点和异常的行为将象在常规调试中一样。

在代码片断编辑测试窗页面打开之后,首次在其中对表达式求值时,会启动JVM。页面的JVM将保持活动状态,直到“停止求值”按钮显式关闭、终止该页面为止,或者在对 System.exit() 进行了求值时。
 
2、“文件”-“新建”-“其他”,出现:

选择“代码片断编辑测试窗页面”,点击下一步。

3、生成文件“helloWorld.jpage”,打开,即可在编辑器中测试代码片断。例如在其中输入System.getProperties(),选中后右击,在弹出菜单中选择“检查”,则在弹出窗口中会显示检查结果:

还可以象检查调试器中的变量那样来检查结果(例如,可以展开结果的子代)。

4、可以对表达式结果进行显示。输入100+16,选中后右击菜单中选择“显示”,出现结果:(int)116。其实显示的结果是两种情况:如果是基本数据类型(例如,int)求值时,其结果是结果中的简单值,其他对象是通过将 toString() 发送至求值的结果而获得的值。

总之这是一个不错的代码片断调试工具。

分类: WORK 标签: ,

JDK1.4安装与环境配置完全图解(Windows版)

2004年10月21日 robertbao 4 条评论

本机环境:
OS: WindowsXP+SP1

以下过程为JDK下载安装:

1.点击下面网址进入JDK1.4下载页面:

http://java.sun.com/j2se/1.4.2/download.html

2.点击“Download J2SE SDK”:

3.“Accept”,Continue:

4.下面列出了各个平台下的JDK版本,其中Windows版有两种安装方式,一种是完全下载后再安装,一种是在线安装,我们选择第一种:

5.下载完成后,双击图标进行安装,安装过程中可以自定义安装目录等信息,
例如我们选择安装目录为D:\jdk1.4

以下过程为配置JDK环境变量:

6.右击“我的电脑”,点击“属性”:

7.选择“高级”选项卡,点击“环境变量”:

8.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”:

9.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\jdk1.4,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量)
   Path使得系统可以在任何路径下识别java命令,设为:%JAVA_HOME%\bin
   CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为:.;%JAVA_HOME%\lib\rt.jar;%JAVA_HOME%\lib\tools.jar (加.表示当前路径)
   %JAVA_HOME%就是引用前面指定的JAVA_HOME。


10.“开始”->“运行”,键入“cmd”:

11.键入命令“java -version”,出现下图画面,说明环境变量配置成功:

12.JDK1.4的安装与环境配置就此完成。下面开始你的第一个Java程序吧,详细图解见后续文章。

分类: WORK 标签:

编写跨平台Java程序的几个要点

2004年8月8日 robertbao 4 条评论

用Java编写程序最大的优点在于“一次编译,处处运行”,可是事实上,相当一部分的Java程序不能在别的操作系统上正确运行,最后倒搞成了“一次编写,处处调试”,那么如何才能编写一个真正的跨平台的Java程序呢?下面有几个要点要注意:

1.你的程序需要是100%纯Java的。特别是使用第三方的类库包时一定要注意这一点。

2.无论你使用的是JDK或其他开发工具,在编译时都要打开所有的警告选项,这样编译器可以尽可能多的发现平台相关的语句,并给出警告。虽然不能保证没有编译时警告的程序一定是跨平台的,但含有警告的程序却很有可能是非平台无关的。

3.由于JDK是向下兼容的,因此可以使用过时的方法(Deprecated method),但调试时要打开-deprecation选项。

4.退出Java程序时尽量不要使用java.lang.System的exit方法。Exit 方法可以终止JVM,从而终止程序,但如果同时运行了另一个Java程序,使用exit方法就会让该程序也关闭,这显然不是我们希望看到的情况。事实上要退出Java程序,可以使用destory()退出一个独立运行的线程。对于多线程程序,必须要关闭各个非守护线程。只有在程序非正常退出时,才使用exit方法退出程序。

5.避免使用本地方法和本地代码,尽可能自己编写具有相应功能的Java类,改写该方法。如果一定要使用该本地方法,可以编写一个服务器程序调用该方法,然后将现在要编写的程序作为该服务器程序的客户程序,或者考虑CORBA(公共对象请求代理)程序结构。

6.Java中有一个类似于Delphi中的winexec的方法,java.lang.runtime类的exec方法,作为该方法本身是具有平台无关性的,但是给方法所调用的命令及命令参数却是与平台相关的,因此,在编写程序时要避免使用,如果一定要调用其他的程序的话,必须要让用户自己来设置该命令及其参数。比如说,在windows中可以调用notepad.exe程序,在linux 中就要调用vi程序了。

7.注意并不是所有的操作系统都支持Unicode字符集,这对于跨平台的Java中文软件程序不能不说是一大噩耗。

8.在程序中不要硬性编码与平台相关的任何常量,比如行分隔符,文件分隔符,路径分隔符等等,这些常量在不同的平台上是不同的,比如文件分隔符,在UNIX和MAC中是“/”,在windows中是“\”,如果要使用这些常量,需要使用jdava.util.Properties类的getProperty方法,如java.util.Properties.getProperty(“file.separator”)可以获得文件分隔符,getProperty (“line.separator”)返回行分隔符,getProperty(“path.separator”)返回路径分隔符。

9.在编写跨平台的网络程序时,不要使用java.net.InetAddress类的getHostName方法得到主机名,因为不同的平台的主机名格式是不同的,最好使用getAddress得到格式相同的IP地址,另外,程序中所有的主机名都要换成IP地址,比如www.b9527.net就要换成相应的IP地址。

10.涉及文件操作的程序需要注意:不要在程序中硬性编码文件路径,而且不同平台对于文件名使用的字符及最大文件名长度的要求不同,编写你的程序的时候要使用一般的ASCII码字符作为文件的名字,而且不能与平台中已存在的程序同名,否则会造成冲突。

11.如果你写的程序是GUI程序,在使用AWT组件时不要硬性设置组件的大小和位置而应该使用Java的布局管理器来设置和管理可视组件的大小和位置,否则有可能造成布局混乱。

12.由于不同的操作系统,不同的机器,系统支持的颜色和屏幕的大小和分辨率都不同,如何获得这些属性呢?使用java.awt.Systemcolor类可以获得需要的颜色,如该类的inactiveCaption 就是窗口边框中活动标题的背景颜色,menu则是菜单的背景颜色。使用java.awt.Toolkit的getScreenResolution可以以“像素每英寸”为单位显示屏幕的分辨率。该类的getScreenSize可以得到屏幕大小(英寸),loadSystemColors可以列出所有的系统颜色。

分类: WORK 标签: