Sunday, November 04, 2007

Java编程偶得

用netbeans,发现经常卡在一些很基础的问题上。比如采用weka的类代码,却忘了类里的变量名和我用netbeans生成的变量的名字是不一样的,

java 破文档:replace(char oldChar, char newChar) ,害我以为不能用于替换字符串!!!!!!!!!!用了replaceAll却没注意其是用于“正则表达式”所以会自动加中括号!



用protege的示例代码,(自然)没有package申明,却出看似非常无关的Exception in thread "main" java.lang.NoClassDefFoundError错误。

早上就看到的东西,居然还是难了我一天。。哭,因为我觉得已经加过了。。

静态函数不能调用非静态函数

UML:用例图,类图,交互(顺序图,合作图,活动图,部署图

GoF

MVC模式,Front Controller模式

decorator模式:把多个小的pattern合并为模式?只有一个child,但是可以chain。在执行被装饰类的方法前,执行一段装饰代码 myDecorator implements Filter {}

Service to Worker模式:维护actions, views, controllers关系。可以把service理解为 front controller,work理解为page-specific action.其由dispatcher来调度worker和view.作为例子,work flow,其model是userbean(存用户名等数据),view是JSP页面,读model data, action作为command模式的实例.这里的front controller管理dispatchers,用他们来选择下一个view.
所以S2W将controller分为FC,dispatchers,actions,以便重用(比如把页面重用)

viewhelper模式用于加强JSP的重用性,在data和view间加一层,有时直接出html,有时作为intermediate数据模型

JSP: custom tag(some function that let page calling, HTML users can call any function without knowing details

XML:编程很容易联想到应该符合DOM文档对象模型,但有简化的SAX 简化Api 4 XML 用于取回几个简单对象。

DOM就用parser来解析文档

XML大小写敏感

SOAP:envelop, data encoding, RCP convention

JDBC has two layers:ap layer, driver layer (jdbc:msql://dbserver.eng:1112/bugreprts
APP layer has 3 main compo:resultet, statement(PreparedStatement for arguments,CallableStatements for SP) connection. Rowset 和 dittoresultset用于改进

顺手还发现了,为什么我的程序窗口突然启动是最小化,因为我把pack()给注释掉了,而我不知道pack有这么重要的设定size(又让layout manager继续管理)的功能
System.out.println("I am mad at zis");

>如果有读者遇到下列错误信息,请确认protege根目录下的所有jar包都被添加到lib里了。

Warning: Cannot set console log debugger handler.
Warning: IO exception getting logger. null
Exception in thread "main" java.lang.NoClassDefFoundError: com/jgoodies/looks/plastic/PlasticTheme
at edu.stanford.smi.protege.model.Project.(Unknown Source)
at edu.stanford.smi.protegex.owl.ProtegeOWL.createJenaOWLModel(Unknown Source)
at edu.stanford.smi.protegex.owl.ProtegeOWL.createJenaOWLModelFromURI(Unknown Source)

0 Comments:

Post a Comment

<< Home