初级版FAQ目录

转载 2007年09月27日 12:25:00
Sun的 The Java FAQ
http://java.sun.com/products/jdk/faq.html

ranchgirl提供的FAQ
http://bobcat.webappcabaret.net/javachina/faq/01.htm

Q: JDK从何处下载?
A:
jdk 6.0 jdk 6.0 docs jdk 6.0 turtorial J2SE 5.0 J2SE 5.0 日本语 J2SE 1.4.1 J2SE 1.4.2 日本语

Q: JAVA的环境变量如何设置?
A: 如果是Win95/98,在/autoexec.bat的最后面添加如下3行语句:
set JAVA_HOME=c:/j2sdk1.4.2
set PATH=%JAVA_HOME%/bin;%PATH%
set CLASSPATH=.;
看好了CLASSPATH中第一个“.”,这个代表当前目录,很多人HelloWorld没有运行起来大多是这个原因。

如果是Win2000或者XP,使用鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:JAVA_HOME 变量值:c:/j2sdk1.4.2
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%/bin;
系统变量->新建->变量名:CLASSPATH 变量值:.;
CLASSPATH前面的那个"."和上面的意义是一样的。

Q:javac 不是有效的内部命令
A:有两个原因:1 没有安装jdk,安装了jre,这时候是可以运行java命令,但是javac不能运行。2 安装了jdk但路径设置不对,也就是path这个环境变量设置不对,请参考如上设置方法,一定要在path的最前边加上jdk的bin目录的路径。例如,如果设置了JAVA_HOME,那么在path前加【%JAVA_HOME%/bin;】

Q: JDK怎么使用?
A: 按照提示把JDK安装成功,设置好环境变量,打开记事本,输入:
1
2
3
4
5
   HelloWorld 
           main(String[] args) 
            System.out.println();
        
    

保存为HelloWorld.java ,注意保存时要选择"所有类型", 打开命令提示符(Dos),进入你保存文件的目录,
javac HelloWorld.java (编译) 如果没错误,再
java HelloWorld (运行)
java.sun.com官方关于第一个Java程序编写的教程.
Your First Cup of Java (for Microsoft Windows)

Q: 运行javac HelloWorld.java 为何error:cannot read:HelloWorld.java 1 error
A: 首先检查文件名的的拼写,大小写是否正确,再看目录是否正确。可以在运行该命令的窗口中dir HelloWorld.java,看有无该文件。

Q: 为什么 java HelloWorld 不成功?
经常会发现这样的错误:
java.lang.NoClassDefFoundError: HelloWorld
Exception in thread "main"
A: 首先可能是你CLASSPATH没有设置正确,请按照上面的那个步骤进行设置。如果你路径设置正确了,请确认你的类名是否正确,JAVA中大小写是区分的,看看你的类名是否正确。

Q: Applet 怎样运行?
A: 主要有两种方法
1, JDK中的applet浏览器。
2, IE浏览器
这两种方法都要将Applet嵌入到 HTML 文件中,如
<applet code="MyApplet.class",width=200 height=150>
</applet>
保存在和源文件同目录下,文件名为xxx.html,如果用JDK中
的applet浏览器看,就在命令提示符下运行
appletviewer xxx.heml
用IE看直接双击 html 文件即可

Q: 为什么用IE运行Applet时,显示的就是一片空白
A: IE本身并不支持Applet 的运行,要去 java.sun.com 下载一个插件(java plug_in)

Q: NullPointerException的原因?
A: NullPointerException发生的原因是操作了一个为null的变量,比如使用该为null变量的【.】操作.如
1
2
File[] fileSet= File[3];
fileSet[0].exists();


Q: 查看Applet不能运行的错误原因?
A:对于用浏览器来查看的方式,如果是ie的话,可以通过工具-》Sun java控制台来看看是什么错误。其他浏览器也有类似的sun java控制台。

Q:为什么编译提示uses or overrides a deprecated API?(或java文件使用或覆盖了已过时的API)
A:From jdk文档 java.langAnnotation Type Deprecated

programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists. Compilers warn when a deprecated program element is used or overridden in non-deprecated code。

Q:为什么编译提示class YourClass(注:你的类名)is pubic, should be declared in a file named YourClass.java?
A:有两种情况,只有一个解释。两种情况是:
1 把两个public类放在同一个文件中,这样就会出现该问题。
2 一个文件虽然只有一个公共类,但该文件的名字和public的类名不一致(注意大小写,必须和你的public的类的名字大小写完全一样)。

一个解释也就很清楚了,public类所在的文件名不是“类名+.java”。改正的方法也很明白了,一个java文件中只有一个public类,并且该文件名的大小写和public的类的类名完全一致。


Q:uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

A:和泛型有关。不过只是个Note,你可以不用管它。
在1.5中,使用util中的类时,如List,希望你指定特定的类型,如List<String>,这样就只能add String类型的元素。如果没有参数化集合类,就会出现这样的提示,你可用 javac -Xlint:unchecked编译来试试。

Q:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
A:数组越界,访问数组下标为6的元素时发生的越界异常。


Q:编译提示:不是抽象的,并且未覆盖超类或接口中的抽象方法。
1
2
3
4
5
6
7
8
9
  check  Applet  ItemListener
        init() 
      .......
       
      
        itemStateChange(ItemEvent e)
      ......
      


编译提示:check不是抽象的,并且未覆盖java.awt.event.itemListener中的抽象方法:itemStateChanged(java.awt.event.ItemEvent)

A: 编译提示中说得很明确。check实现了ItemListener,但却没有覆盖其中的抽象方法:itemStateChanged(java.awt.event.Item.Event)。检查上边的代码,其中的方法名错写成itemStateChange,最后一个单词是Changed。
在java中,如果类继承了超类,或是实现了接口,而没有实现其中的抽象方法,该类必须被声明为abstract类,否则就会出现如上的提示。出现这种错误的原因有三:1 没有写这个方法。2 写这个方法了,但是方法的签名和需要的不一样,容易出现方法名写错。3 参数类型不一致,参数顺序不一致。其中方法名写错最容易出现。
这种情况下,仔细对照ItemListener的API文档,看看自己写的方法和其中的抽象方法的方法名,参数类型,参数顺序是否相同。仔细检查应该可以发现问题,那时必将会心一笑,原来如此简单,:)
 

 

例如如下代码:

OTRS安装使用系列之三——不同的OTRS…

刚开始测试/研究OTRS时,可能都会碰到类似的困惑。比如我,也许我的安装步骤不太正确?说说我的安装步骤: 第一步,我是在Windows XP SP2环境下安装了Otrs 3.1.3for window...
  • tomora
  • tomora
  • 2013年09月15日 10:22
  • 1854

运维路上的FAQ

遇到的看见的,长期更新~~~ 1.linux乱码问题     [root@vps software]# vi  /etc/sysconfig/i18n     LANG='zh_...
  • u010718976
  • u010718976
  • 2017年01月10日 11:00
  • 184

EGit /用户指南

EGit /用户指南 EGit 内容 1 开始 1.1 概述1.2 基本教程:项目添加到版本控制中 1.2.1 " 配置 1...
  • jibaole
  • jibaole
  • 2016年01月23日 19:33
  • 2052

数据库学习FAQ

数据库学习FAQ 简述数据、数据库、数据库管理系统、数据库系统的含义及其联系?数据:数据是信息的符号记录。数据是数据库处理和研究的对象 数据库:长期存储在计算机内,有组织、可共享的数据集合。数据按一定...
  • pupilxmk
  • pupilxmk
  • 2016年05月25日 08:59
  • 471

ARM7开发板模拟器Skyeye安装设置全攻略

本文目的:在linux里装Skyeye,用Skyeye模拟ARM7DTMI,运行uClinnux-2.4.x SkyEye可以做什么事情? 1. 通过SkyEye可以帮助促进嵌入式系统的学习,在不...
  • benjaminwan
  • benjaminwan
  • 2013年06月18日 18:15
  • 1474

Spark调研笔记第6篇 - Spark编程实战FAQ

本文主要记录我使用Spark以来遇到的一些典型问题及其解决办法,希望对遇到同样问题的同学们有所帮助。 1. Spark环境或配置相关 Q: Spark客户端配置文件spark-defaults.c...
  • slvher
  • slvher
  • 2015年06月10日 11:16
  • 1735

初级软件测试工程师的面试

如果,现在的你如果像我一样刚刚毕业没多久,或者实习结束,或者刚刚拿到毕业证;同时也像我一样没有家庭背景,没有生活依靠,只能投简历面试-面试-面试。 我根据个人的经验总结了以下呕心沥血的内容,希望有用。...
  • qq_28967695
  • qq_28967695
  • 2016年10月23日 18:18
  • 1325

linux初级测试题

RedHat Enterprise Linux 常用的启动级别包括几种,文本方式的启动级别是多少,图形方式启动级别是多少? 六种(0-6),文本启动级别是3,图像方式的界别是5 所有的级别如下: ...
  • a158337
  • a158337
  • 2015年03月16日 08:45
  • 627

初级前端面试

作为一个初级前端工程师,我还是想将自己面试的题目记录下来,等到自己能全部解答的时候,应该就不是初级前端了吧。7月份找工作时,投出简历上百份,收到回复的几十家,收到面邀的有11家(后面收到面邀的直接拒绝...
  • u013778905
  • u013778905
  • 2016年10月05日 21:51
  • 1198

初级Java开发工程师应当掌握哪些知识点(Java开发面试经验)

初级Java工程师面试准备 1、适合人群:应届计算机毕业生和Java初学者 2、知识储备,掌握以下知识或相关知识即可面试这一岗位 ·Java基本语法知识 ·Java面向对象知识 ·JSP与基本前端知识...
  • u013428259
  • u013428259
  • 2016年05月18日 15:16
  • 4667
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初级版FAQ目录
举报原因:
原因补充:

(最多只允许输入30个字)