QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3585|回复: 0
打印 上一主题 下一主题

[转帖]初学Java注意什么?

[复制链接]
字体大小: 正常 放大
god        

206

主题

2

听众

882

积分

升级  70.5%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-3-31 01:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
本文选自:开放系统世界——赛迪网  2002年12月18日
* }/ d0 G. g8 y# W+ nJava总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考。
1 c9 Z1 U8 v. n( W3 y3 v: V' Y. x; q( c" n" R1 Z
我在学习Java的过程中主要围绕以下几个方面来学习: ( D$ c) k/ [7 v! |# ]$ A
  S: E& ^' P9 s# Y, z
1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java。
2 h. k  g; F* H! B" u9 ?8 @3 X5 h! E# D1 F" g8 Z7 J/ U
2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。
6 A9 E1 g3 G- U  r4 B* ^" w
0 Q9 p) I. y/ _3.在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,最好能参与一些实际的项目。
# A: T9 Y% |7 L( X
. b) w1 r3 n  `/ E3 w4.在学到一定阶段后,你开始希望用学过的东西做些什么。这时的你应该开始学习一些更多、更复杂的知识,比如J2EE平台的构建、EJB的开发等。对于这一部分,我建议最好找一本较薄的书先了解一个大概,心里有个总体的认识,对更多的技术术语做个初步掌握。我认为这个阶段看看《J2EE技术实践》很不错,它可以让你了解J2EE包含的各种技术和框架,同时提供很多实际的例子来加深对J2EE的整体了解。
1 X$ p% n3 |  Q, a" T& }6 l1 l7 k2 r: u
学习Java的兴趣和决心起了很关键的作用。在有了上述基础后,我便开始一步一步地学习Java。 : D6 |7 B5 Y; q% J# P) M7 L- r% `. N

5 {: Y& n# s7 }7 o7 O$ ~4 q2 t8 c4 [4 K$ E
<CENTER><FONT color=#000099><b>Java环境的搭建</b></FONT></CENTER>
7 w1 S+ b: `; K4 z2 h8 r. ]7 F9 R6 |
要运行Java程序,必须安装JDK。JDK是整个Java的核心,其中包括了Java编译器、JVM、大量的Java工具以及Java基础API。
4 |( E7 e) i' u. f
0 Y* A$ r4 b6 Y可以从http://Java.sun.com下载JDK,有1.4版本和1.31版本。我的学习环境中首先,采用的是1.31版本。 0 b; w1 {! H/ f0 R# S( r9 ~

, O' w" V5 e% ]解压安装。然后,进行环境设置。
* }4 V. t# C- e" L* r) t
- g/ r) t. t! [3 j! I4 @& t<B>1.对于Windows平台要进行以下设置:</B>
* k3 b( W+ w( y2 }9 {+ {% q* R( Z/ f4 C( H6 }
<CCID_NOBR>' s& C" ?- x! i% `
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
1 ~" W& ~7 ~) q; K
* Y7 g3 B6 p$ N+ [<TR>/ _" ~8 v; a# @; |
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>set PATH=YOUR_INSTALL_ DIR\bin; C:\Windows;C:\Windows\Command% o. X# ^" E' ~8 ]9 [
set classpath=. ;YOUR_INSTALL_DIR\lib\tools.jar</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>* }- X( t1 F; Y- R5 C* @

) @! x8 S% v6 K8 p<B>2.对于Linux平台要编辑/etc/profile文件:</B>
1 T( x: e2 W  @9 H' _$ P' }5 c% X- e$ u5 `! a+ l* S" N
<CCID_NOBR>
3 j1 y$ f+ l( O% o- I  z( r: H<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>0 G' ~% O6 v9 d3 l& p
9 r( r$ }- o# o
<TR>
0 q- C1 g" ?6 s! v8 [9 U<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>JAVA_HOME=your_install_dir/JDK/j2sdk( A, s* \" w* ^) M  Z' \, Z
CLASSPATH=$JAVA_HOME/lib/tools.jarJAVA_HOME/lib/td.jarJAVA_HOME/jr  
8 S  x8 Z7 A4 B( V$ M-e/lib/rt.jar:.
  n# s) w+ ]8 N; k1 s3 i: n7 RPATH=$PATHJAVA_HOME/bin
: }& N" |! p+ R3 uexport PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE   9 }, z9 ]8 Q2 w# F: t9 |1 |
INPUTRC JAVA_HOME CLASSPATH RESIN_HOME</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
/ o& X3 g! H1 n! K! x; u% b3 E) S) o+ @8 T0 F: {; Y$ H! Z
最后,在终端上输入Java看能不能找到这个命令,如果能找到安装就成功了。 % D7 l  {" b/ W1 t7 V

' |& ^  p) K  Z2 T' B" `下面介绍一下JDK的几个重要的命令:
' e6 G5 {/ ^6 @. n
& {4 ~+ k' c! W# b" s◆Java执行工具,是启动JVM(虚拟机)并执行class(BYTE CODE)文件的命令;
" t* U$ O: c/ X1 P% b
; }# W( |2 i" K( B% _: ]8 J3 g◆javac 编译器,由.java文件生成.class文件;
, z% M2 ?* d4 k' ~$ [+ _6 T! @! u/ T# Q+ X
◆jar Java压缩打包工具;
& s2 m3 i. \+ J- p1 f
) g( F% A5 X  t( A/ H3 y6 e◆Javadoc 文档生成器。 % n% @% W# Z# [# E# j/ K$ C
  N) G9 @  X% r* w  c
最后就是JDK Documentation,这是JDK的联机帮助文档,是最有用和最重要的学习参考文档,应该多看。
2 K( W* t: B- m4 z  H$ J6 ]2 N9 G) }1 x( c" V1 d

2 `; W; S& c, T* X7 q) t<CENTER><FONT color=#000099><b>开始写自己的代码</b></FONT></CENTER>  t% ]- Q5 o4 C9 o: n) j! E. l

% [( t1 O, G  H现在环境有了,应该写个简单的代码进行测试了。还是从经典的“hello word”开始。 + `5 h7 y  w" o0 K9 k- f8 Y5 O2 S8 G

- o  Q8 N8 f% o2 k* T* V* c<B>1. 先用编辑器写一代码(我用的是Linux的vi):</B>
' J0 }* i$ w9 L& ?/ B
& {: g) X2 J) V$ h<CCID_NOBR>
! J$ B+ Z/ G8 }5 \' p<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
' I- _6 Z7 H0 @: [% I2 A# ]
2 D3 p+ j+ _! D. P: \( k<TR># w, ~/ ^' S3 c5 p0 H
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ vi Hello.Java
; R8 c0 x/ e) [* y: @, b  public class Hello{
8 |' p; i' l" x. D: k2 c        public static void main(String []argc){( Y. m1 u& l8 t! o+ g: r) a
                System.out.println("Hello Word!");, t2 q7 V+ ^0 w0 \* F" j* t; T
        }
* c' Z/ H2 V% o6 G  }</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>  X; o/ N: T2 }% V- j7 E

. ^0 q4 M: l" a' e' G* [* ~<B>2. 编译:</B> ) M4 V( C# a, o5 I$ z% x

9 X8 q4 P" l' s3 \1 w<CCID_NOBR>  L# d% A( ]! O4 z' V$ Z+ R
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>) e3 w& n4 z0 }/ X

% B" g5 q4 N$ L" y6 I4 A+ g<TR>, c  B# B+ I* F3 |: a
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Javac Hello.Java</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>* M  H% d; M& M" b0 H- U& D- |
1 a4 i6 f) z) ]1 @" |) ~
<B>3. 执行:</B>
# n  v+ V, C" Z) s6 S
4 \1 M1 C  p; o2 o<CCID_NOBR>
. L7 I" c1 L; i6 b3 p* {<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
6 ~2 ?! c8 f+ y6 G! _4 T* r. y0 ?3 t  l: G: A* _
<TR>% N; D9 b* y) H9 }
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Java Hello
# K' G+ r/ ]) w' ^+ A! Q2 ~     Hello Word!</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
7 s0 k. S: g4 {" I' S' p- [
, b1 D/ L/ l, {/ o9 }- t1 n成功了!这就是我的第一个Java程序。从那时起我知道已开始走进Java的世界,接下来就靠自己的努力了。在这个过程中,笔者认为有几点需要注意。
) s% _  l* N& x: ]1 X
2 ?  y7 A9 p* [! s: ]学习一门新的语言,参考书是离不开的。我的建议是开始最好找一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。此外,在这一阶段还应该多看JDK的联机帮助,尽量多地掌握JDK提供的Java基本类库API。
- ^" ^( {* y% i. y. i9 F' {% R" n( `0 k6 X8 D
在有一定基础、能够写一些简单的程序后,可以开始看《Thinking in Java》这本书。它比较完整地介绍了Java的语法、面向对象的特性、核心类库等。通过这一层次的学习能够加深对Java的理解和底层原理的运用,同时又可以完整地了解Java的整个体系。在这一阶段,应该重点学习Java的面向对象编程语言的特性,比如继承、构造器、抽象类、接口、方法的多态、重载、覆盖、Java的异常处理机制等,要对上述概念有非常清楚的了解。这样做的目的,是要让自己把这些技术应用到实践中进行合理的程序设计(比如,你会考虑一个类是用抽象还是接口来设计等)。这就要求必须在大量的实践中去应用和学习。这也是当初很多朋友给我的建议。 ' Y3 s! {2 d; h* N

5 E9 B- L& T6 s; U# k) I
; g  R2 P* U# [8 n& X. E<CENTER><FONT color=#000099><b>学习更多</b></FONT></CENTER>' p7 i  k2 @" Z" \. R1 _
( I. ~; k( _5 R
如果要用Java来完成各种功能更强大的任务,那么就要学习语言以外的更多的东西。
0 @( i6 s& X3 l) Y7 s
! y5 b3 h1 v0 ^1 m* {8 n; I! @<B>1.Java Web编程</B> 9 Q; A" Y3 c6 E2 I! l

. D4 h% c6 A) Z4 E! W0 n& h对于Java Web 编程来说,应该而且必须熟悉和掌握HTTP协议,可以参考 Stevens的《TCP/IP 详解》第三卷。Java Servlet技术提供了生成动态Web页面内容的能力,这在你的Java项目中是最基本的功能之一,所以必须学习。通过这一阶段的学习应该掌握Servlet/JSP的Web编程。 + N# v/ E7 ~# }7 P6 y
: {$ h; G- \5 `) g( t1 \0 T- |7 m
<B>2. J2EE的学习</B> 8 m5 f( s* U. Q% V8 V3 o

9 q+ Z: W, y# ^  a3 ^J2EE包含的技术太多了。如果你想坐在桌子旁边抱着一大堆书来学习的话,效果不大的。我建议在开始这一阶段的学习的时候,可以按以下步骤来做,总的思想是“总体把握,各个击破”。 : o" r$ Y* W" [0 K
; W( M) f- Q0 E6 w
◆ 了解J2EE中的技术术语的含义。
9 x- g# s4 R2 y# X6 e" L# x4 P' `0 M9 O
我的感觉是J2EE标准中涉及到的各种技术很多,如果一开始就一个一个去学习的话是不现实的,也是没效果的。我的建议是,先对其中的技术有个大概的了解,比如EJB、JavaIDL、JTA等。可能你不知道怎么去写一个EJB,但是要知道什么是EJB、它能做什么,当有了这样的概念后,再去有目的地学习它就会快很多。我还要再重复一句——必须要在实践中动手去做才行。 : s+ I' |1 `% w; G( M: B: `

/ s+ t* x0 g: O! p; V◆ 了解J2EE中的设计模式,这样能帮助你对J2EE做个整体把握。 8 u2 @7 B/ A+ ~( r! G# `" ]

/ ~# d! Y# r1 Y& J  E* dMVC开发模式被证明是有效的处理方法之一。它可以分离数据访问和数据表现。你可以开发一个有伸缩性的、便于扩展的控制器,来维护整个流程。通过这一层次的学习,当你面对一个项目的时候,应该首先把握它的总体架构的设计,以及决定采用J2EE标准中的哪些技术。
& N# v8 E/ t! ^6 ^8 H+ c. ]2 e9 v2 \% i! I
◆ 了解一些J2EE平台的典型案列,加深对这一技术的概念和理解。
! T7 G$ D$ P/ Z3 f( O8 V/ E, s4 d8 V1 S, \! `$ k
平时可以多留意这方面,熟悉一些典型案例,分析它为什么要采用那个时间?那样做能达到什么样的目的?然后联系到自己身边的项目是否可以作为参考。
. k0 B6 l4 D$ d# Q) @3 ^: h3 u2 R2 i% H
◆ 学习J2EE下的各种技术。 $ v; o( o2 S( L+ g% f4 Z2 Q
, [( |$ D8 t! F/ \' o" O  C( a
在有了前几阶段的学习后,可以自己搭建一个J2EE平台开始具体学习每一种技术。你可以参与公司相关项目进行学习,也可以自己搭建一个平台进行学习。这时候应该找点相关的书来一步一步学习,没有捷径可走。如果你不满足于这些,那么还应该更深入地学习UML、设计模式等方面的东西。
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
如果我没给你翅膀,你要学会用理想去飞翔!!!
您需要登录后才可以回帖 登录 | 注册地址

fastpost qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-11-1 08:06 , Processed in 0.257989 second(s), 52 queries .

回顶部