February 11, 2004

我的第一个Java版Hello,World! [Tech ]

  总算暂时放下断断续续弄了3年的PHP,今天开始全面攻克Java!先读3个月的SCJP&SCWD

  不过万万没想到一开始试编经典的Hello,World!竟然遇到那么大的困难……反反复复编译、运行,始终出现各种各样的错误,真的差点心力交瘁……网上类似的文章太多了,不过我还是马上总结一下吧,懂的朋友见笑了:

  1. 设置3个系统环境变量:JAVA_HOME/Path/CLASSPATH:
    • 新增JAVA_HOME:j2sdk的安装路径,结尾没有/,下同。如
      C:\j2sdk_nb\j2sdk1.4.2
    • 编辑Path:加上:
      .;%JAVA_HOME%/bin/;
    • 新增CLASSPATH:
      .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin
    设置方法:
    • Win9x :编辑系统所在盘根目录下Autoexec.bat,加上
      set JAVA_HOME=以上的JAVAHOME
      set path=以上的path
      set CLASSPATH=以上的CLASSPATH
      重新启动。
    • Win2000/xp/2003:我的电脑(My Computer)->属性(Properties)->高级(Advanced)->环境变量(Environment Variables)。保存,重新启动。
  2. 源文件名必须取.java,否则不能正常编译。
  3. 编译时源文件和命令行当前路径可以不一致,如C:\>javac src\HelloWorld.java而执行.class时命令行的当前路径似乎只能是.class文件的路径,这点还没有完全搞清楚,反正像
    C:\>java src\HelloWorld
    不能正常运行,而只能是
    C:\src>java HelloWorld
  4. 执行时不能打完整的文件名,一定是
    C:\src>java HelloWorld
    类似
    C:\src>java HelloWorld.class
    的命令,java可能会寻找
    C:\src\HelloWorld\HelloWorld.class.class
    这样的文件(猜想)。
  5. Java开始的函数必须写成
    public static void main( String args[] ) {}
    必须一字不差,包括大小写。感觉像法国资产阶级革命时的《人权宣言》,“私有财产神圣不可侵犯”……
Posted by xdanger at February 11, 2004 09:53 PM | TrackBack
TrackBacks
TrackBack URL for this entry: http://blog.xdanger.com/script/trackback.pl/99
Comments

恭喜恭喜:)
我也是刚刚从PHP转向Java,以后多多交流
btw, 你现在用什么编辑器练习Java编程?强烈推荐Editplus(当然也是PHP留下的习惯),设置一下就可以直接在Editplus中编译、执行Java程序和Applet,很方便的。另外IBM的eclipse IDE也很不错。

Posted by: windix at February 12, 2004 10:34 AM

昨天在网上查资料的时候也看到很多关于Java IDE的讨论,好像用最多的是JCreator,其次么JBuilder、j2sdk自带的NetBeans等等。不过我和你一样,年纪大了,习惯改不掉咯,还是用PHP时候用惯的UltraEdit。不过初学的话我想UltraEdit肯定很好了,起码暂时不用去编图形化界面。

Posted by: xdanger at February 12, 2004 03:54 PM

呵呵,Ultraedit和Editplus彼此彼此:)前者的16进制编辑能力更强一些,后者对Unicode兼容更好一些(至少我用过的感觉是这样)。
去年的《开发高手》杂志还介绍过一个另一个优秀的轻量级的Java IDE,IntelliJ IDEA。eclipse是我的老师介绍给我的,他说这个IDE直接支持重构,不过我现在还没研究过这些呢,Helloworld总不需要重构吧:)

Posted by: windix at February 12, 2004 04:02 PM

UltraEdit是完美的,对于Unicode支持非常好。我写PHP,从UltraEdit用到PHPEd用到PHPEdit用到EditPlus一直到DreamWeaver,最后还是UltraEdit最好用,只是以前一直没好好研究它的功能。

你的网站我看过了,非常棒哦,看来以后要多请教咯。希望首页上换个链接:-)

Posted by: xdanger at February 12, 2004 07:38 PM

你太谦虚,PHP的一些深层次研究上我自愧不如:) 很高兴结识你,你的 blog.xdanger.com 链接我已经放在Blog的首页上了

一个小问题:你如何处理PHP的30S超时?好像你能做到的样子哦?

Posted by: windix at February 13, 2004 01:53 PM

30秒时php默认的超时时间。
1.在php.ini内修改:
max_execution_time = 30;Maximum execution time of each script, in seconds

2.也可以在php内用内建函数临时修改:
void set_time_limit ( int seconds)
此函数在safe_mode = off的情况下可以实现。虚拟主机的php一般都会以安全模式运行,那就没法改了。

不过我好像没改过啊,哪个页面超过30秒了?

Posted by: xdanger at February 13, 2004 04:52 PM

谢谢了,第二个方法还真没用过,回去试试/
我是猜的,因为处理一些不可预知的东西,比如google API,再比如你做的那个sogua程序,都有可能出现30S超时呀,我看你做的蛮不错的,所以就来问问。
另外用ob_start这种缓冲好像也能对不出现超时有些帮助,这个我也不是太熟了

Posted by: windix at February 14, 2004 03:38 AM

我照上面得方法設置了還是不行得阿?運行java -version,等命令多能顯示正確得結果,可以以運行java hello.java,就出現了exception in thread "main" java.lang.NoClassDefFoundError:Hello/java.請問我得文件放在任何地方多可以編譯得嗎?比如我把hello.java放在d:\edu目錄下,那我在開始運行里寫
java hello.java可以嗎

Posted by: tt at September 11, 2004 03:04 PM

java hello.java??????
这个是什么,直接运行源文件?

Posted by: xdanger at September 12, 2004 01:14 AM
Post a comment









Remember personal info?