澳大利亚新闻 澳洲留学移民 澳洲留学移民精华 澳大利亚广播电台 澳大利亚英语讲座 雅思听力 雅思口语 雅思阅读 雅思写作 澳大利亚贴图 新西兰论坛 澳大利亚招聘 澳大利亚租房 澳大利亚旅游 澳大利亚黄页 澳大利亚宠物 澳大利亚文学 澳大利亚美食 堪培拉,Canberra论坛 悉尼,Sydney论坛 墨尔本,Melbourne论坛 布里斯本,Brisbane论坛 悉尼大学,USYD Forum 新南威尔士大学,UNSW CSA Forum 麦觉理大学,MQ Forum 悉尼科技大学,UTS Forum TAFE 澳洲高中,Taylors College论坛 墨尔本大学联盟 Adelaide大学联盟 昆士兰大学联盟

Java常见问题集锦(页 1) - 澳洲电脑及数码产品 -

澳洲中文网 » 澳洲电脑及数码产品 » Java常见问题集锦
澳大利亚免费贷款咨询!

2007-4-29 10:05 dangjr1919
Java常见问题集锦

[font=宋体][size=10.5pt]问[/size][/font][font=Arial][size=10.5pt]: [/size][/font][font=宋体][size=10.5pt]如何设置[/size][/font][font=Arial][size=10.5pt]Java 2(JDK1.2)[/size][/font][font=宋体][size=10.5pt]的环境变量[/size][/font][font=Arial][size=10.5pt]?

[/size][/font][font=宋体][size=10.5pt]答[/size][/font][font=Arial][size=10.5pt]:
Java 2[/size][/font][font=宋体][size=10.5pt]安装后[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]需要设置[/size][/font][font=Arial][size=10.5pt]PATH[/size][/font][font=宋体][size=10.5pt]和[/size][/font][font=Arial][size=10.5pt]J***A_HOME[/size][/font][font=宋体][size=10.5pt]环境变量[/size][/font][font=Arial][size=10.5pt].[/size][/font][font=宋体][size=10.5pt]与[/size][/font][font=Arial][size=10.5pt]JDK1.1[/size][/font][font=宋体][size=10.5pt]不同的是[/size][/font][font=Arial][size=10.5pt]:[/size][/font][font=宋体][size=10.5pt]设置好[/size][/font][font=Arial][size=10.5pt]J***A_HOME[/size][/font][font=宋体][size=10.5pt]环境变量后[/size][/font][font=Arial][size=10.5pt],JVM[/size][/font][font=宋体][size=10.5pt]将自动搜索系统类库以及用户的当前路径[/size][/font][font=Arial][size=10.5pt].

Java 2[/size][/font][font=宋体][size=10.5pt]环境变量的设置如下例所示[/size][/font][font=Arial][size=10.5pt]:


Solaris[/size][/font][font=宋体][size=10.5pt]平台[/size][/font][font=Arial][size=10.5pt]: setenv J***A_HOME Java2[/size][/font][font=宋体][size=10.5pt]的安装路径[/size][/font][font=Arial][size=10.5pt]

setenv PATH $J***A_HOME/bin:${PATH}

Windows[/size][/font][font=宋体][size=10.5pt]平台[/size][/font][font=Arial][size=10.5pt]: set J***A_HOME=Java2[/size][/font][font=宋体][size=10.5pt]的安装路径[/size][/font][font=Arial][size=10.5pt]

set PATH=$J***A_HOMEbin;%PATH%


[/size][/font][font=宋体][size=10.5pt]问[/size][/font][font=Arial][size=10.5pt]: [/size][/font][font=宋体][size=10.5pt]哪些[/size][/font][font=Arial][size=10.5pt]Java[/size][/font][font=宋体][size=10.5pt]集成开发工具支持[/size][/font][font=Arial][size=10.5pt]Java 2?

[/size][/font][font=宋体][size=10.5pt]答[/size][/font][font=Arial][size=10.5pt]:
[/size][/font][font=宋体][size=10.5pt]目前流行的[/size][/font][font=Arial][size=10.5pt]Java[/size][/font][font=宋体][size=10.5pt]集成开发环境[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]如[/size][/font][font=Arial][size=10.5pt]Inprise[/size][/font][font=宋体][size=10.5pt]的[/size][/font][font=Arial][size=10.5pt]JBuilder,Symantec[/size][/font][font=宋体][size=10.5pt]的[/size][/font][font=Arial][size=10.5pt]Visual Cafe, Sybase[/size][/font][font=宋体][size=10.5pt]的[/size][/font][font=Arial][size=10.5pt]PowerJ,[/size][/font][font=宋体][size=10.5pt]都支持[/size][/font][font=Arial][size=10.5pt]Java 2.


[/size][/font][font=宋体][size=10.5pt]问[/size][/font][font=Arial][size=10.5pt]: [/size][/font][font=宋体][size=10.5pt]如果在[/size][/font][font=Arial][size=10.5pt]Netscape[/size][/font][font=宋体][size=10.5pt]或[/size][/font][font=Arial][size=10.5pt]IE[/size][/font][font=宋体][size=10.5pt]浏览器中运行[/size][/font][font=Arial][size=10.5pt]Java applet[/size][/font][font=宋体][size=10.5pt]时出现了错误[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]如何确定错误范围[/size][/font][font=Arial][size=10.5pt]?

[/size][/font][font=宋体][size=10.5pt]答[/size][/font][font=Arial][size=10.5pt]:
[/size][/font][font=宋体][size=10.5pt]当[/size][/font][font=Arial][size=10.5pt]java applet[/size][/font][font=宋体][size=10.5pt]在浏览器中运行时[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]使用的是浏览器本身的缺省[/size][/font][font=Arial][size=10.5pt]JVM.[/size][/font][font=宋体][size=10.5pt]而不同浏览器对[/size][/font][font=Arial][size=10.5pt]JDK[/size][/font][font=宋体][size=10.5pt]的支持程度也不尽相同[/size][/font][font=Arial][size=10.5pt]. [/size][/font][font=宋体][size=10.5pt]因此[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]在[/size][/font][font=Arial][size=10.5pt]Netscape[/size][/font][font=宋体][size=10.5pt]或[/size][/font][font=Arial][size=10.5pt]IE[/size][/font][font=宋体][size=10.5pt]浏览器中运行[/size][/font][font=Arial][size=10.5pt]Java applet[/size][/font][font=宋体][size=10.5pt]出现了错误[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]建议使用[/size][/font][font=Arial][size=10.5pt]JDK[/size][/font][font=宋体][size=10.5pt]提供的工具[/size][/font][font=Arial][size=10.5pt]appletviewer[/size][/font][font=宋体][size=10.5pt]或[/size][/font][font=Arial][size=10.5pt]Sun[/size][/font][font=宋体][size=10.5pt]公司的[/size][/font][font=Arial][size=10.5pt]Hotjava[/size][/font][font=宋体][size=10.5pt]浏览器来测试该[/size][/font][font=Arial][size=10.5pt]applet,[/size][/font][font=宋体][size=10.5pt]以确定错误的产生是与浏览器相关[/size][/font][font=Arial][size=10.5pt].

[/size][/font][font=宋体][size=10.5pt]如果[/size][/font][font=Arial][size=10.5pt]applet[/size][/font][font=宋体][size=10.5pt]在[/size][/font][font=Arial][size=10.5pt]appletviewer[/size][/font][font=宋体][size=10.5pt]或[/size][/font][font=Arial][size=10.5pt]Hotjava[/size][/font][font=宋体][size=10.5pt]中运行一切正常[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]则错误的产生是由于浏览[/size][/font]
[font=宋体][size=10.5pt]器不完全兼容[/size][/font][font=Arial][size=10.5pt]JDK[/size][/font][font=宋体][size=10.5pt]而引起的[/size][/font][font=Arial][size=10.5pt]. [/size][/font][font=宋体][size=10.5pt]此时[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]解决方法可以是使用[/size][/font][font=Arial][size=10.5pt]Hotjava[/size][/font][font=宋体][size=10.5pt]浏览器或者安装[/size][/font][font=Arial][size=10.5pt] Sun[/size][/font][font=宋体][size=10.5pt]公司的[/size][/font][font=Arial][size=10.5pt]Java Plugin.

[/size][/font][font=宋体][size=10.5pt]如果[/size][/font][font=Arial][size=10.5pt]applet[/size][/font][font=宋体][size=10.5pt]在[/size][/font][font=Arial][size=10.5pt]Hotjava[/size][/font][font=宋体][size=10.5pt]浏览器或[/size][/font][font=Arial][size=10.5pt]appletviewer[/size][/font][font=宋体][size=10.5pt]中运行即发生错误[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]则应当根据错误[/size][/font]
[font=宋体][size=10.5pt]提示检查[/size][/font][font=Arial][size=10.5pt]applet[/size][/font][font=宋体][size=10.5pt]程序[/size][/font][font=Arial][size=10.5pt]. [/size][/font]
[font=Arial][size=10.5pt][font=宋体][size=10.5pt]问[/size][/font][font=Arial][size=10.5pt]: [/size][/font][font=宋体][size=10.5pt]当用[/size][/font][font=Arial][size=10.5pt]JDBC[/size][/font][font=宋体][size=10.5pt]向数据库中插入数据或从数据库中提取数据时[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]为何有时中文字符会显示为乱码[/size][/font][font=Arial][size=10.5pt]?

[/size][/font][font=宋体][size=10.5pt]答[/size][/font][font=Arial][size=10.5pt]:
[/size][/font][font=宋体][size=10.5pt]这个问题的实现通常与各个[/size][/font][font=Arial][size=10.5pt]JDBC driver[/size][/font][font=宋体][size=10.5pt]的实现有关[/size][/font][font=Arial][size=10.5pt]. [/size][/font][font=宋体][size=10.5pt]目前大多数[/size][/font][font=Arial][size=10.5pt]JDBC driver[/size][/font][font=宋体][size=10.5pt]采用本地编码格式来传输中文字符[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]例如中文字符[/size][/font][font=Arial][size=10.5pt]"0x4175"[/size][/font][font=宋体][size=10.5pt]会被转成[/size][/font][font=Arial][size=10.5pt]"0x41"[/size][/font][font=宋体][size=10.5pt]和[/size][/font][font=Arial][size=10.5pt]"0x75"[/size][/font][font=宋体][size=10.5pt]进行传输[/size][/font][font=Arial][size=10.5pt]. [/size][/font][font=宋体][size=10.5pt]因此我们需要对[/size][/font][font=Arial][size=10.5pt]JDBC driver[/size][/font][font=宋体][size=10.5pt]返回的字符以及要发给[/size][/font][font=Arial][size=10.5pt]JDBC driver[/size][/font][font=宋体][size=10.5pt]的字符进行转换[/size][/font][font=Arial][size=10.5pt].

[/size][/font][font=宋体][size=10.5pt]当用[/size][/font][font=Arial][size=10.5pt]JDBC driver[/size][/font][font=宋体][size=10.5pt]向数据库中插入数据时[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]需要先将[/size][/font][font=Arial][size=10.5pt]Unicode[/size][/font][font=宋体][size=10.5pt]转成[/size][/font][font=Arial][size=10.5pt]native code; [/size][/font][font=宋体][size=10.5pt]当[/size][/font][font=Arial][size=10.5pt] JDBC driver[/size][/font][font=宋体][size=10.5pt]从数据库中查询数据时[/size][/font][font=Arial][size=10.5pt],[/size][/font][font=宋体][size=10.5pt]则需要将[/size][/font][font=Arial][size=10.5pt]native code[/size][/font][font=宋体][size=10.5pt]转换成[/size][/font][font=Arial][size=10.5pt]Unicode. [/size][/font][font=宋体][size=10.5pt]下面给出了这两种转换的实现[/size][/font][font=Arial][size=10.5pt]:


String native2Unicode(String s) {

if (s == null || s.length() == 0) {

return null;

}

byte[] buffer = new byte[s.length()];

for (int i = 0; i s.length(); i++) { if (s.charAt(i)>= 0x100) {

c = s.charAt(i);

byte []buf = (""+c).getBytes();

buffer[j++] = (char)buf[0];

buffer[j++] = (char)buf[1];

}

else {

buffer[j++] = s.charAt(i);

}

}

return new String(buffer, 0, j);

}
[/size][/font][/size][/font]

页: [1]

查看完整版本: Java常见问题集锦

澳大利亚楼盘 澳大利亚免费贷款

Powered by 澳大利亚中文网 5.5.0  © 2005-2007 澳大利亚论坛