AP计算机科学A(APcomputer science A)复习备考攻略视频教程
42892 人在学
java 运算符调试
在完成 Java 运算符的开发工作之后,往往需要调试的方式来解决代码中存在的一些问题。Java 运算符的调试是通过 Java 标准的 JPDA 机制来实现的,其原理是设置 JVM 以接受来自客户端的调试请求。目前 Streams 平台只能运行在 Redhat 企业版 5.5 版本以及更高版本之上,并且依赖于 IBM JDk1.6。以下假设 IBM JDK1.6 安装在 /opt/ibm/java- x86_64-60 目录之下。按以下两个步骤完成 Java 运算符的调试:
建立 JVM 调试服务器:
把 JVM 的平台类库包含在环境变量 $LD_LIBRARY_PATH 之中,命令如下:
export LD_LIBRARY_PATH=
/opt/ibm/java-x86_64-60/jre/lib/amd64:$/opt/ibm/java-x86_64-60/jre/lib/amd64
修改 Java 运算符的模型描述文件,在 vmArgs 元素之下添加以下子元素:
-Xdebug
-Xrunjdwp:transport=dt_socket,address=127.0.0.1:8765,
server=y,suspend=y
上述配置将使 JVM 处于挂起状态,直至收到客户端发出的调试请求,并且该配置只影响该运算符所在 JVM,对于运行在 不同 JVM 之上的其他运算符并无影响。要实现运行在多个 JVM 上的多个运算符的调试可通过设置不同的侦听端口来实现。
以 Standalone 模式编译包含 Java 运算符的 Streams 应用程序。目前这是唯一支持 Java 调试的模式
使用 Eclipse 调试 Java 运算符
通过 Eclipse 的 Run/Debug Configuration... 菜单在 Remote Java application 项下创建一个新的启动配置,如下 图所示,设置 Connection Type 为 Standard(Socket Attach), Host 为 localhost, Port 为 8765;同时也需要在 Source 页面下设置源代码的搜索路径。设置完成之后,按 Apply 按钮保存设置。
Eclipse 中创建调试启动配 置
以 Standalone 模式启动 Streams 应用程序,需要指定 logLevel 为 trace 级别,以便能显示更为详尽的控制信息
在 Java 运算符的源代码中设置断点
当注意到 Standalone 应用程序的 JVM 处于挂起状态时,打开 Debug Configuration 对话框,并选择第一步创建的启 动配置,按下 Debug 按钮。之后当断点的条件满足时,Eclipse 将停在所设的断点处
Streams 作为 IBM 新一代流计算平台,由于其具有的高可靠性、高可扩展性、分布式、高效性等特点,特别适用于制造 、零售、交通运输、金融证券以及监管等各行各业的解决方案之中。通过对大量异构流数据的实时动态分析,能够及时地捕 捉到各种机会,从而使得实时快速商业决策的理念得以实现。基于 Java 编程语言完全面向对象,高效的开发效率等诸多优 势,Streams 平台对其构建 Streams 应用程序提供了完整的框架,包括 Java 运算符模型描述文件以及 Java 运算符 API 两部分。Java 运算符模型描述文件定义了 Java 运算符的元数据,包括参数,输入端口,输出端口等,Streams 编译器将 通过其校验 Java 运算符调用的合法性并设定相应的执行环境;Java 运算符 API 定义了使用 Java 语言来开发运算符一套 完整的编程接口,涉及运算符的生命周期以及线程安全,同时也提供了接口用于创建以及访问运算符的 Metrics,这些统计 信息对于应用程序的运行状况以及系统性能瓶颈分析都大有裨益。最后,提供了 Java 运算符的调试方法,以帮助快速定位 代码中存在的问题。