分享
 
 
 

Java 入门 FAQ (2003-08-29)

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

Java 入门 FAQ

此文档收集了初学 Java 常会遇到的问题,由斑竹定期更新。

问问题前请先看此文档,也许有帮助。

[color=blue:8cd14efaf9]关于学习方法的一些忠告:[/color:8cd14efaf9]

-----------------------------------------------------------------------------------

1.多看书,多写程序,这点最重要,基础很重要,推荐去考 scjp

2.关注 jakarta 里的 java 项目,里面有大量的优秀的 java 项目

http://jakarta.apache.org/

象 struts, cocoon ,log4j, taglib, jdo 都代表了 java 的前沿技术

3.多分析,学习别人的程序(比如 sun blueprint 的 petstore,sourceforge 里的java 项目),学习别人怎么写程序的。

4.学习软件工程,用面向对象的思想,分析设计系统,学会控制自己开发过程。

5.学会看英文,要不你是跟不上的。

-----------------------------------------------------------------------------------

软件下载好去处:

http://www.code-labs.com/tools/

[color=blue:8cd14efaf9]第一次编写 Java 程序请看这两篇文章:[/color:8cd14efaf9]

Java新手必读[转帖]

http://www.chinaunix.net/forum/viewtopic.php?t=128194

java入门,建议看看把(自 nyra 姐的一篇精彩文章

http://www.chinaunix.net/forum/viewtopic.php?t=128217

[color=blue:8cd14efaf9]HelloWorld 程序:[/color:8cd14efaf9]

http://www.cv64.org/computing/installation/java101.html

学会在网络上搜索:

http://www.google.com

http://bingle.pku.edu.cn (北大天网搜索引擎)

[color=blue:8cd14efaf9]哪里还有更好的 java 论坛:[/color:8cd14efaf9]

www.jdon.com J道论坛,一个严谨的技术论坛,上面经常有一些比较新的java技术和j2ee技术的讨论;

www.chinajavaword.net chinajavaword技术论坛,有比较多的技术讨论和学习方法的讨论,不过没有j道严谨。

国外站点:

http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi

[color=blue:8cd14efaf9]一些软件的安装指南:[/color:8cd14efaf9]

http://www.cv64.org/computing/installation/

[color=blue:8cd14efaf9]问:入门书籍推荐[/color:8cd14efaf9]

答:Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html

《21天学通java》 ftp://cinc.3322.org/pub/doc/java/newtojava/tyjava.pdf

《jbuilder开发人员指南》 ftp://cinc.3322.org/pub/doc/java/jbuilder开发人员指南/

http://www.oreilly.com.tw/sleepless/index.htm

Java 2 - The Complete Reference

Java 核_心系列

[color=blue:8cd14efaf9]推荐 java 书:《Effective Java中文版 》[/color:8cd14efaf9]

适合中级 java 读者,如果你认为你已经基本掌握了 java 的语法,可以

编出一些象样的 java 程序,为了更好的应用 java 提供的功能,请阅读此书。 china-pub 的介绍

http://www.china-pub.com/computers/common/info.asp?id=8645

去看看书评。

[color=blue:8cd14efaf9]问:哪里有 Java 的文档资料[/color:8cd14efaf9]

答:Java doc 主页: http://java.sun.com/docs/

Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html

JDK 1.4.1 API & Language Documentation: http://java.sun.com/j2se/1.4.1/docs/index.html#api

http://java.sun.com/j2se/1.4.1/download.html#docs

JAVA程序员必读:基础篇 http://wwwb.pconline.com.cn/pcedu/empolder/java.htm

[color=blue:8cd14efaf9]问:Java 的命令行如何使用,有无详细的介绍?像 javac, java, jar, rmic ...[/color:8cd14efaf9]

答:JavaTM 2 SDK Tools and Utilities: http://java.sun.com/j2se/1.3/docs/tooldocs/tools.html

[color=blue:8cd14efaf9]问:哪里可以下载到 JDK, JRE, J2EE[/color:8cd14efaf9]

答: Java Home ( JDK, JRE for Windows, Linux, Solaris

http://java.sun.com/j2se/downloads.html

http://java.sun.com/j2ee/download.html

Blckdown Mirror ( JDK, JRE for Linux and FreeBSD :

ftp://metalab.unc.edu/pub/linux/devel/lang/java/

Java for Sco Unix

http://www.caldera.com/developers/java/

国内下载

http://freesoft.online.sh.cn/mirrors/java/

[color=blue:8cd14efaf9]问:FreeBSD 下如何安装 jdk[/color:8cd14efaf9]

答:安装 jdk for freebsd ,然后设置 JAVA_HOME 和 CLASSPATH 到环境变量就可以乐。

如果用 FreeBSD 5.x 可以下载一个 port 来装。

如果 FreeBSD 4.x 可以用 blackdown 的 jdk

http://www.blackdown.org/

不过 java 在 FreeBSD 4.x 下的性能好像不是很好,不知道 FreeBSD 5.x 不知道怎样。

[color=blue:8cd14efaf9]问:JDBC 下载地址:[/color:8cd14efaf9]

答:

Microsoft SQL Server 2000 JDBC驱动程序

http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp

[color=blue:8cd14efaf9]问:J2EE和J2SE,J2ME有什么区别[/color:8cd14efaf9]

答: http://www.21cmm.com/newswe/jjj.htm

[color=blue:8cd14efaf9]问:书写 Java 程序的规范[/color:8cd14efaf9]

答:Code Conversion: SUN 推荐的书写 Java 程序的格式和规范

http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

包括如何命名(文件,类,方法),各种语句的格式,文档的写法。。。

Java Coding Style Guide

ftp://cinc.3322.org/pub/doc/java/CodingStandard/java-style.pdf

[color=blue:8cd14efaf9]问:我在使用某某函数时出现问题,哪里有该函数的帮助文件?[/color:8cd14efaf9]

答:JavaTM 2 Platform, Standard Edition, v 1.4.2 API & Language Documentation

http://java.sun.com/j2se/1.4.2/docs/index.html#api

[color=blue:8cd14efaf9]问:推荐使用的可视化 Java 开发工具[/color:8cd14efaf9]

答:Borland JBuilder

JCreator,这个软件可以从 www.jcreator.com 下载。

eclipse http://www.eclipse.com/

IntelliJ Idea : 强大的 java ide,集成了 ant, junit, refactoring 的功能

[color=blue:8cd14efaf9]问:JBuilder 光标位置好像不对[/color:8cd14efaf9]

答:设置成任何字体都可以,关键要做的就是重新设置

菜单 -> Tools -> Editor Options -> Display -> Edit Font

设置成任何字体都可以,关键要做的就是重新设置

[color=blue:8cd14efaf9]问:编译时出现:

类 Main 是公共的(public),应该在名为 Main.java 的文件中被声明

public class Main{

1个错误[/color:8cd14efaf9]

答:类名和存放的文件名必须一致,注意大小写。

Java 有规定:一个 .java 源文件只能定义一个 public 的类(和多个非 public 的 类),

且文件名必须与这个 public 的类名一致。

[color=blue:8cd14efaf9]问:运行时出现 NoClassDefFoundError,请问为何(源程序 Welcome.java 可以编译)?[/color:8cd14efaf9]

答:1. 运行 java Welcome ,而不是 java Welcome.class

2. 如果设置了 CLASSPATH 变量,在 CLASSPATH 里把当前目录添加进去

象这样:CLASSPATH=.;e:\ant\lib\ant.jar (注意那个点“.”)

或者把 CLASSPATH 环境变量去掉。

注意:每次修改完环境变量,要重新打开 MS-DOS 窗口才能生效

答:另一种解决办法:

javac someClass.java

java -classpath . someClass

[color=blue:8cd14efaf9]问:deprecated 警告:[/color:8cd14efaf9]

"XXX.java": Warning #: 368 : constructor String(byte[], int, int, int)

in class java.lang.String has been deprecated at line 45, column 24

答:deprecated 是警告,告诉你这个方法也就是过时的方法,它可能淘汰,也可能

被其它功能更强的方法代替了,去看看 java api doc 里关于这个方法的描述。

java api doc: http://java.sun.com/j2se/1.4.1/docs/api/index.html

[color=blue:8cd14efaf9]问:Windows 下如何设置 环境变量,如 JAVA_HOME[/color:8cd14efaf9]

答: Windows 2000/xp 做如下操作:我的电脑 -> 属性 -> 高级 -> 环境变量 -> 用户变量

设置 JAVA_HOME 为你安装 JDK 的目录,比如: c:\jdk (确认有 c:\jdk\bin\java 这个文件)

注意:每次修改完环境变量,要重新打开 MS-DOS 窗口才能生效

win9x:Autoexec(DOS界面下边也行)--> set classpath=JDK包路径;set path=JDK包路径

[color=blue:8cd14efaf9]问:Linux, Unix 下如何配置环境变量[/color:8cd14efaf9]

答:sh, bash 下

PATH=$PATH:/usr/local/jdk/bin; export PATH

CLASSPATH=/usr/local/oracle/jdbc/classes12.zip;/usr/local/ant/lib/ant.jar;.

export CLASSPATH

或者将上面的语句加入 .profile, .shrc

csh, tcsh 下

set path = ($path /usr/local/jdk/bin)

或者将上面的语句加入 .cshrc

[color=blue:8cd14efaf9]问:javascript和JAVA有区别吗?[/color:8cd14efaf9]

答:对比JAVA来讲,javascript并不能说是一套完整的语言,它定义了一套方法,事件处

理等,主要用于Web页面开发中增加页面效果,进行数据有效性检查等。在开发

Microsoft ASP时也可以作为一种编程脚本。它有一个基本对等的东西就是VBScript.

并且javascript 与 Java根本不是师出一门,是完全独立的两种语言。

[color=blue:8cd14efaf9]问:Application和Applet各自指什么?在使用中有区别吗?[/color:8cd14efaf9]

答:Application和Applet是利用JAVA语言生成的可运行代码中最常用的两种,两者都必

须在JAVA虚拟机上运行。简单来讲,Application更象我们平常用VB,VC等编写的桌

面程序,多以控制台(CONSOLE)方式运行,当然也很容易实现窗口应用。而Applet

可以嵌入Web页面中,在支持JAVA虚拟机的浏览器上运行。在使用时应该区别应用。

[color=blue:8cd14efaf9]问:我想参加 Java 认证考试,该如何准备?[/color:8cd14efaf9]

答:买本 Java 2 认证考试学习指南(英文原版)看看,一遍不够

做 Marcus Green 的三套考题,巩固概念

做 ChinaITLab 的 bible,包括了好多考题

参考 mynote,一个 scjp 考了 100 分的高手写的笔记。

关键是概念要清楚,考试是最好的学习方法,有压力才有动力,呵呵。

以上资料下载: ftp://cinc.3322.org/pub/doc/java/scjp/

ChinaITLab : http://www.chinaitlab.com/filelist.asp?id=16&c_top=5

[color=blue:8cd14efaf9]问:XML 教程[/color:8cd14efaf9]

答:

IBM 关于 XML 的教程:

IBM : developerWorks 中国网站 : XML : 教学 - 在线教程

XML 入门 (修订版)

http://www-900.ibm.com/developerWorks/cn/education/xml/x-xmlintro/tutorial/index.html

Understanding SAX

http://www-900.ibm.com/developerWorks/cn/education/xml/x-usax/tutorial_eng/

Understanding DOM

http://www-900.ibm.com/developerWorks/cn/education/xml/x-udom/tutorial_eng/

[color=blue:8cd14efaf9]问:怎么才能让窗口关上呢?[/color:8cd14efaf9]

答:

方法一: 使用 JFrame 特有的方法

public static void showFrame() {

JFrame f = new JFrame();

f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ;

f.setSize ( 400, 300 ;

f.setVisible ( true ;

}

方法二:使用 WindowAdapter

public static void showFrame() {

JFrame f = new JFrame();

f.addWindowListener( new WindowCloser() ;

f.setSize ( 400, 300 ;

f.setVisible ( true ;

}

static class WindowCloser extends WindowAdapter {

public void windowClosing ( WindowEvent e {

Window w = e.getWindow();

w.setVisible( false ;

w.dispose();

System.exit(0);

}

}

[color=blue:8cd14efaf9]问:怎样获得windows 2k操作系统当前的登录用户名?[/color:8cd14efaf9]

答:代码:

System.out.println(System.getProperty("user.name"));

你也可以通过

System.getProperties.list(System.out)

获取更多的系统信息!!

[color=blue:8cd14efaf9]问:如何实现系统命令的调用[/color:8cd14efaf9]

是用Runtime.exec(String command) 吗,不过他的输出怎么取得呢

答:try {

// Execute command

String command = "lsid";

Process child = Runtime.getRuntime().exec(command);

// Get input stream to read from it

InputStream in = child.getInputStream();

int c;

while ((c = in.read()) != -1) {

System.out.print((char)c);

}

in.close();

} catch (IOException e) {

}

[color=blue:8cd14efaf9]问:类型转换:日期(Date)和 字符串(String)[/color:8cd14efaf9]

[code:1:8cd14efaf9]

public class Util {

protected static DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

public static Date stringToDate( String dateString ) throws ParseException {

return formatter.parse( dateString );

}

// TODO date to string

public static String dateToString( Date date ) throws ParseException {

return formatter.format(date);

}

}

//String to Date:

Date date = Util.stringToDate( "1999-09-22" );

//Date to String

String newDateString = Util.dateToString( date );

[/code:1:8cd14efaf9]

[color=blue:8cd14efaf9]问:Java 里怎么捕捉按键事件? [/color:8cd14efaf9]

答: http://www.chinaunix.net/forum/viewtopic.php?t=641

[color=blue:8cd14efaf9]问:JB7能支持滚轮鼠标吗?[/color:8cd14efaf9]

答: http://www.chinaunix.net/cgi-bin/bbs/topic.cgi?forum=14&topic=716&show=30

[color=blue:8cd14efaf9]问:java反编器[/color:8cd14efaf9]

答:DJ Java Decompiler 3.4.4.74

軟體說明:

使用DJ Java Decompiler,選擇開啟或載入你的CLASS檔,你將會馬上看到原始碼。因為此程式是標準的Windows應用程式,它不需要安裝任何的Java套件。

下载地址:

http://www.slunecnice.cz/download.php4?v=694&u=1

[color=blue:8cd14efaf9]问:JavaMail 资料[/color:8cd14efaf9]

答: http://www-900.ibm.com/developerWorks/cn/education/java/j-javamail/tutorial/index4.html

[color=blue:8cd14efaf9]问:Java 如何查询机器上的剩余硬盘空间,当前内存大小等信息[/color:8cd14efaf9]

答:这些功能可以调用 jni 来解决

http://www.javaworld.com/javaworld/javaqa/2002-11/01-qa-1108-cpu.html

问:Java 打印报表(pdf。。。)

答:

JFreeReport http://www.jfree.org

jasperreports http://jasperreports.sourceforge.net/index.html

[color=blue:8cd14efaf9]问:Java 下的 MVC Framework 资料[/color:8cd14efaf9]

答:jsp/servlet 可以用 struts, webwork

swing窗口程序可以用 scope (hmvc)

struts:

主页:http://jakarta.apache.org/struts/

Struts,MVC 的一种开放源码实现用这种 servlet 和 JSP 框架管理复杂的大型网站

http://www-900.ibm.com/developerWorks/cn/java/j-struts/index.shtml

ftp://cinc.3322.org/ub/doc/java/servletjsp/MasteringJakartaStruts.pdf

ftp://cinc.3322.org/ub/doc/java/servletjsp/strutsslide.pdf

scope

http://sourceforge.net/projects/scope

hmvc

http://www.javaworld.com/javaworld/jw-07-2000/jw-0721-hmvc.html

webwork

http://sourceforge.net/projects/opensymphony

[color=blue:8cd14efaf9]中文问题解决办法:[/color:8cd14efaf9]

-------------------------------------------------------------------------------------

遇到中文问题,请先按下面的方法试试:

如果大家有什么好的方法,也欢迎跟贴。

jsp 中文问题?

在 JSP 开头加上:

<%@ page contentType="text/html; charset=gb2312" %>

servlet 中文问题?

在 doPost(...) 函数里加上:

response.setContentType("text/html;charset=UTF-8");

request.setCharacterEncoding("UTF-8");

Oracle 中文问题?

在把汉字字符串插入数据库前做如下转换操作:

String(str.getBytes("ISO8859_1"),"gb2312")

测试代码:

String str = "汉字";

PreparedStatement pStmt = conn.prepareStatement("INSERT INTO test valueS (?)");

pStmt.setString(1,new String(str.getBytes("ISO8859_1"),"gb2312");

pStmt.executeUpdate();

此方法还可以用在其他地方

Mysql 中文问题?

答:将 connectionString 设置成 encoding 为 gb2312

String connectionString

= "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gb2312";

想在java applet內顯示中文?

JAVA的中文显示,主要由

$JAVA_HOME/jre/lib/font.properties所决定的。

看看这个文件吧.

那字体写进去.就可以了

用 Filter 解决 jsp 中文问题

http://www.chinaunix.net/forum/viewtopic.php?t=54824

-------------------------------------------------------------------------------------

[color=blue:8cd14efaf9]J2EE 相关技术:[/color:8cd14efaf9]

-------------------------------------------------------------------------------------

SUN J2EE 主页:

http://java.sun.com/j2ee

SUN J2EE 下载

http://java.sun.com/j2ee/1.3/download.html#sdk

文档:

http://java.sun.com/j2ee/1.3/download.html#tutorial

J2EE BluePrint(J2EE 蓝图)

开发人员标准的编程指导方针,是关于如何使用 J2EE API 开发、打包和部署可伸缩的,可移植的多层标准应用程序的。

http://java.sun.com/blueprints/

Java Community Process 定义 J2EE 体系结构和它的功能

http://www.jcp.org

J2EE Patterns

应用于 J2EE 框架中的一些模式,比如 Front Controller,Data Access Object

http://java.sun.com/blueprints/corej2eepatterns/Patterns/

Core J2EE Patterns 中文版

http://www.china-pub.com/computers/common/info.asp?id=5111

ftp://210.52.88.133/pub/doc/java/j2ee/corej2eepattern.pdf

书籍下载:

Mastering EJB

http://www.theserverside.com//books/masteringEJB/index.jsp

MVC Web Application Framework:

J2EE 是用基于 MVC 的框架搭建的,如 PetStore 用的就是 SUN 自己的 WAF

其他流行的 MVC 框架还有:

Struts:

http://jakarta.apache.org/struts/

文档:

ftp://210.52.88.133/pub/doc/java/servletjsp/struts/MasteringJakartaStruts.pdf

webwork:

http://sourceforge.net/projects/opensymphony

SUN PetStore (宠物店)例子程序:

PetStore 是 SUN 开发的用于演示如何使用 J2EE 来开发电子商务应用的DEMO程序。

http://developer.java.sun.com/developer/releases/petstore/

http://java.sun.com/j2ee/1.3/download.html#blueprints

安装:

http://java.sun.com/blueprints/code/jps131/docs/installing.html

文档:

ftp://210.52.88.133/pub/doc/java/j2ee/petstore/sample-app1.3.1.pdf

J2EE 应用服务器:

JBoss

开发源代码的服务器

http://www.jboss.org

http://sourceforge.net/projects/jboss

BEA WebLogic

http://www.bea.com

IBM WebSphere

http://www.ibm.com/websphere

测试工具:

junitee:

JUnit 的扩展,用于测试 J2EE 程序,用 servlet 做测试结果输出

http://sourceforge.net/projects/junitee

其他相关网站:

http://www.theserverside.com/home/index.jsp

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有