首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

Java编程小技巧集锦

打印文章

分享到:
东方快骑阿乐飞扬

1. Javadoc API文件产生器
  Javadoc程序读取一个Java类文件并自动创建一组HTML文件,这些HTML 文件描述了Java类文件的类、变量、成员函数,所有Java类库的APIHTML 文件都可以由此程序创建。Javadoc把软件包名或源文件列表当做一个变量。Javadoc依靠以@打头的备注标记来创建HTML文件,下面就是标注的列表,它们被Javadoc用于在HTML 文件中创建链接。

选项 功能
@see classname 此标注在类列表中增加一个到所提供类的"See Also"条目。
@see classname # methodname 此标注创建一个到特定的成员函数的"See Also"条目。
@version text 此标注在HTML文件中加入一个版本信息条目
@author text 此标注在HTML文件中加入一个作者信息条目
@param name description 此标注用成员函数备注来描述一个成员函数所带变量
@return description 此标注用成员函数备注来描述返回值
@exception classname 此标注用成员函数备注来连接成员函数产生的异常出口
-classpath path 此命令行指定寻找Java文件的目录
-d directory 此命令行指定用来放入最终HTML文件十分有用。



2 调试器--jdb.exe

Java调度器为Java程序提供了一个命令行调试环境。它既可在本地,也可在与远程的解释器的一次对话中执行。jdb于本地机器中可用如下的命令启动。

选项 功能
catch calssID 为特定异常出口而中断
classes 列出当前已知的类
clear classID:line 清除一个断点
cont 从断点处继续执行
down[n frames] 下移一个线程的堆栈
dump ID[ID...] 显示所有对象信息
exit(或quit) 退出调试器
help(或?)  列出所有命令
ignore classID 忽略特定的异常出口
list[line number] 显示源代码
load classbame 载入要调试的Java类
locals 在当前堆栈帧中显示所有局部变量
memory 报告内存使用情况
methods classID 列出一个类的成员函数集
print ID[ID...] 列出对象或域
resume [threadID...] 恢复线程(默认情况恢复所有线程)
run class [args] 开始执行已下载的Java类
step 执行当前行
stop in classID:method 在一成员函数中设一断点
stop at classID:line 在一行设一断点
suspend[threadID...] 停止一个线程(默认情况停止所有线程)
hreads threadgroup 列出线程
thread threadID 设置当前线程
threadgroups 列出线程组
threadgroup name 设置当前线程组
up [n frames] 上移一个线程堆栈
use [path] 显示或改变源程序路径
where [threadID] or all 使一线程的堆线置空
!! 重复上一次命令
-host hostname 该命令告诉Jdb到哪里去建立远程运行的Java解释器对话过程
-password password 本选项告诉Jdb 用哪个密码去与远程运行的Java 对话进程相连接。

密码 password是由运行带有-debug选项的Java解释器所提供的。



3 在Applet中引用jar中的资源文件

如果想在servlets程序设计中加上一些图片,声音,卡通等,只需使用sun 公司提供的一个有用的工具:jar。这个工具可以把这些资源文件合在一个文件里,避免频繁的http request,可以下载缓存!

用jar中的资源的实例方法如下:加一个图片按扭ImageButton

(提个醒i.e.g :声音,卡通,图片相对路径为./img/my.gif)

import java.awt.*;
import java.awt.event.*;    //下载吧
import javax.swing.*;     //下载吧
public class ImageButtonApplet extends JApplet{
     private String path = "/img/my.gif";
     private ImageIcon myButtonIcon = new ImageIcon(getClass().getResource(path));

/*通过本人多次调试和看jdk自带的demo 自代的API 文挡, 从JDK1.1得来,相关还有ClassLoader, demo在引用资源的时候采用方法 getClass().getResource(String sourceName)

如下:

public URL getResource(String name)
Finds a resource with a given name. This method returns null if no resource with this name is found. The rules for searching resources associated with a given class are implemented by the * defining class loader of the class.
This method delegates the call to its class loader, after making these changes to the resource name: if the resource name starts with "/", it is unchanged; otherwise, the package name is prepended to the resource name after converting "." to "/". If this object was loaded by the bootstrap loader, the call is delegated to ClassLoader.getSystemResource.
Parameters:
name - name of the desired resource
Returns:
a java.net.URL object.

*/
     /**Initialize the applet*/
     public void init(){
     try {
          if (myButtonIcon == null)
          throw new Exception("cannot get the image!");
          JButton iButton = new JButton(myButtonIcon);
          Container cp = this.getContentPane();
          cp.add(iButton);
     }
     catch (Exception e){
        e.printStackTrace();
     }
}

}

子编译之后,把ImageButtonApplet.class和my.gif保持相对路径打进jar里面,对应的HTML页面代码为<APPLET CODE = "ImageButtonApplet.class" CODEBASE = "." ARCHIVE = "my.jar" WIDTH = "200" HEIGHT = "200"></APPLET>。成功关键在于使用getClass().getResource(path).

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章