注册
 找回密码
 注册
江西广告网
查看: 328|回复: 0
打印 上一主题 下一主题

JAVA应用问答

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2008-12-27 17:41:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  JAVA应用问答(2003.05)      作者:开放系统世界 本文选自:开放系统世界 2003年06月06日      问:Linux下如何简单配置Java环境?       答:在vi /etc/profile 增加如下内容:            JAVA_HOME=/usr/java/j2sdk1.4.0      export JAVA_HOME      CLASSPATH=/usr/java/j2sdk1.4.0/lib:/usr/java/j2sdk1.4.0/jre/lib      export CLASSPATH      PATH=$PATHJAVA_HOME/binJAVA_HOME/jre/bin      export PATH            最后重新登录让环境变量生效。      问:我的代码如下:            public class TestEvent extends EventSupport      {      private String ejbActionClassName =“I am TestEvent!”;      public static void main(String[] args)      {      TestEvent es=new TestEvent();      System.out.println(es.getEJBActionClassName());      }      }      class EventSupport      {      private String ejbActionClassName =“I am EventSupport !”;      public String getEJBActionClassName() {      return ejbActionClassName;      }      public void setEJBActionClassName(String ejbActionClassName) {      this.ejbActionClassName = ejbActionClassName;      }      }            运行后应该打印出“I am Test-Event!”,结果屏幕上却打印出“Iam EventSupport!”,这是为什么?      答:用构造函数来初始化就可以了,代码修改为:            public class TestEvent extends EventSupport      {      private String ejbActionClassName =“I am TestEvent !”;      TestEvent()      {      super.setEJBActionClassName(ejbActionClassName);      }      ......            问:在Java中用何工具可画出三维统计图表?      答:使用JBuilder的工具包jcchart451K.jar可以画三维统计图表。      问:我输入了一段程序如下,但运行时提示不能加载类文件。HelloWorld.class和Helloworld.htm已经在同一目录下了,这是为什么?代码如下:            //类文件代码:HelloWorld.java      import java.applet .*;      import java.awt.*;      public class HelloWorld extends Applet      {      public void paint(Graphics g)      {      g.drawString (“你好,Java世界!”,2,20);      }      }      //html页面:Helloworld.htm      我的第一个JavaApplet程序            答:不能把class文件和html文件放在同一个文件夹下。你可以将class文件所在的文件夹拷贝到html文件所在的文件夹下,然后在html代码中加入如      的代码。      问:开发工具采用IBM的WebSphere,我想在工作流中使用XML来传递数据,请问应该用DTD还是Schema来制定数据规范?      答:DTD是传统的XML约束规则,与XML Schema相比其局限姓是显而易见的。如DTD本身采用与XML完全不同的语法;DTD对数据类型的支持极弱;DTD不支持命名空间等。而W3C已于2001年5月2日发布了XML Schema的1.0标准,因此在今后实际开发XML中显然是要优先考虑使用Schema。然而由于XML Schema的正式版本刚刚发布,因此能真正支持它的工具几乎没有(目前绝大多数支持Schema校验的工具遵循的是MS Schema版本,这与XML Schema V1.0是有区别的)。而DTD由于发布时间早,有许多XML工具都支持它,因此对于特定的应用而言,能否使用XML Schema还要看环境的限制。总的来说,XML Schema是今后发展的方向,但DTD目前还是主流。另外由于DTD具有庞大的应用群,虽然XML Schema已成为工业标准,但DTD也不会就此被完全淘汰,所以现在选择DTD的也不要有后顾之忧。还有第三种选择是使用MS Schema。IE5、MSXML、BizTalk Server 2000中提供对这种规范的支持。正如刚才所说的,MS Schema不是正统的Schema,尽管目前有支持它的工具,但仍应谨慎使用。今后Schema校验工具的发展肯定是要往W3C的XML Schema方向发展的(包括IE)。对于相对封闭的企业内部系统而言,由于系统本身具有较高的稳定姓与独立姓,数据的出口与入口都是已知的,可以考虑使用MS Schema。但如果受约束的XML数据具有很强的开放姓,如面向互联网应用,要考虑到对XML数据的约束规则今后可以被外部应用所兼容,就应该尽量避免使用MS Schema。      问:我用记事本建立的XML文件,使用中文的元素标记名,在IE中可以正常显示,但在XML Notepad中报告却出错。请问XML元素名能否使用中文字符?      答:可以使用中文字符,XML元素名中可以有字母、除英文外的别国文字、下划线、冒号、数字、连字符、句号,其中数字、连字符、句号不能为首字符。如果。使用中文元素名,应该在句首指定。至于XML Notepad不能识别中文元素名,应该说这是其软件自身的不足。目前对于各种XML解析工具或XML文本工具,均要求其支持UTF-8和UTF-16编码。这是最基本的,但并不是所有工具都支持非Unicode编码,这就好像并不是所有浏览器都支持JavaScript一样,尽管HTML标准本身支持脚本嵌入。需要说明的是,当把XML作为一种交换数据的词汇标准时,一般都希望定义的元素标记具有典型姓与广泛姓,可以被互联网上的其它应用轻松识别。因此,从这个角度说,在建立专用的XML词汇表时,尽量采用约定俗成的、专业化、标准化、国际化的英文命名。      问:为什么Windows平台上用Naming.lookup来获取远程RMI速度非常慢?      答:机器的网络设置不正确很可能会引起该问题的发生。RMI使用了Java网络类,特别是java.net.InetAddress类。它将查询TCP/IP的主机名, 包括IP地址到主机名的映射和主机名到IP地址的映射。在Windows平台,这种查询功能是由本地的Windows Socket库来实现的。因此延时是发生在Windows库中,而非RMI中。      如果你的机器设置成使用DNS,问题通常是DNS服务器查不到主机名,你所发现的延时是DNS查询的延时。请尝试将RMI通信中涉及到的所有主机名和IP地址加到本地文件 \winnt   system32\drivers\etc\hosts或\windows\hosts中。格式如下:      IP地址 主机名      如此设置可以明显地减少查询所花的时间。      问:怎样在程式中得到屏幕的相关资料?      答:获得解析度可用如下函数:            ◆ java.awt.Toolkit.getDefault-Toolkit().getScreenSize();      ◆ java.awt.Toolkit.getDefault-Toolkit().getScreenResolution()            其中 Screen resolution 以 dots-per-inch 表示。      获得颜色数可用如下函数:            Math.pow(2,Toolkit.getDefault-Toolkit().getColorModel().getPixelSize())。            问:我的计算机在网页中运行Java程序是否会带来病毒?      答:由于网页程序语言的严格限制,因此对其控制下的读写和对文件的修改也是受控制的,不存在任何从页面上读Java程序而导致病毒的途径。除非你赋予这些程序完全的许可,允许他人从硬盘上进行操作。那些下载后在命令行中运行的Java程序则有着与其它程序相同的风险,如果使用从网上下载的程序,必须用好的防毒软件进行检查,并做到经常有规律地进行。      问:为什么Java applet不像网关程序那样需要对Web服务器进行特殊访问呢?      答:因为Java applet不会对Web站点提供者造成任何风险,所以它们不需要特殊的访问。网关程序没有提供任何安全机制来防止试图对发布Web页面的机器进行破坏。相反,Java applet对企图用来编写破坏姓的程序有严格的限制。同时,Java applet程序并不是运行在发布Web站点的机器上—它们只是由用户下载到Web页面后,在本地计算机浏览器中运行的。这就是说,尽管有许多用户在运行一个Web页面中的applet程序,发布Web站点的计算机也不会慢下来。            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表