QQ登录

只需要一步,快速开始

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

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

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

206

主题

2

听众

882

积分

升级  70.5%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-3-31 01:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
本文选自:开放系统世界——赛迪网  2002年12月18日 ( C6 n. n  L3 T! l
Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考。 & `9 f( w: ^9 x7 e& V* R+ S

2 T! F# C$ A2 A我在学习Java的过程中主要围绕以下几个方面来学习:
! h: C; @' }( s, @# G* b+ X
$ F8 u; l, y6 l1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java。 8 i" L- F/ x$ S; X# z6 i
: s5 _( U* `# V
2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。 : Y! S' F- x( T/ V' d
. G1 T  b3 a8 m6 Y$ y
3.在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,最好能参与一些实际的项目。
3 ]' g/ h6 N& D; K
1 `) v" l( R; }' _+ s5 ?* \( V4.在学到一定阶段后,你开始希望用学过的东西做些什么。这时的你应该开始学习一些更多、更复杂的知识,比如J2EE平台的构建、EJB的开发等。对于这一部分,我建议最好找一本较薄的书先了解一个大概,心里有个总体的认识,对更多的技术术语做个初步掌握。我认为这个阶段看看《J2EE技术实践》很不错,它可以让你了解J2EE包含的各种技术和框架,同时提供很多实际的例子来加深对J2EE的整体了解。
/ G3 |2 |3 [$ ]. t( K/ f4 K  j$ f6 u" B
学习Java的兴趣和决心起了很关键的作用。在有了上述基础后,我便开始一步一步地学习Java。 . o- ~) |% r' M0 U& X$ t

7 C/ ]$ d# l0 t. F1 W( J5 o. j" Z/ c1 c2 H; B: ?. [( J1 c. P
<CENTER><FONT color=#000099><b>Java环境的搭建</b></FONT></CENTER>
! w4 G6 e: M  g/ S9 w' n
/ v' h* I# t( B% X" {- o7 f, C要运行Java程序,必须安装JDK。JDK是整个Java的核心,其中包括了Java编译器、JVM、大量的Java工具以及Java基础API。
+ J+ [" I* w& ]' [" l- ]3 b
2 Q( `! x, e! m$ O0 n2 G$ l, o5 h" U* M* y可以从http://Java.sun.com下载JDK,有1.4版本和1.31版本。我的学习环境中首先,采用的是1.31版本。
. q1 Z. a) j2 |( ^
6 g7 Y9 F2 p& s1 x& q解压安装。然后,进行环境设置。 7 }6 W0 w! y6 |, n! J  H' v

" u- t! k% F, N" N<B>1.对于Windows平台要进行以下设置:</B> . c* Q" I8 D$ B
2 ]7 r" ~+ k) N/ ]: ?( B3 B
<CCID_NOBR>. c0 J$ Z2 l$ ]/ h7 ?! t
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
$ F/ b# M3 E* T
+ n: q5 H! c! b: D<TR>6 P  J. d+ r! ]) o; Q; t
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>set PATH=YOUR_INSTALL_ DIR\bin; C:\Windows;C:\Windows\Command8 K, G7 n( {( F0 t  P$ r
set classpath=. ;YOUR_INSTALL_DIR\lib\tools.jar</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
$ w9 Y6 N4 v7 E9 m  Q
4 S4 g8 p9 B8 {8 G7 D<B>2.对于Linux平台要编辑/etc/profile文件:</B>
( ~6 i. k1 `# ?* @3 A  }* P' \' O# m1 ]5 m2 P" @3 v! M& U( U
<CCID_NOBR>1 `! c: i$ U' J0 i: Y5 y$ O& y
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>: ^( s, H) y8 b9 T7 m' z' Y
( Z( p" Y# ]+ a+ q; }
<TR>
# u3 H2 {& `) P& t- u) X<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>JAVA_HOME=your_install_dir/JDK/j2sdk) t) g3 \2 O+ w+ E9 ]' Z7 F
CLASSPATH=$JAVA_HOME/lib/tools.jarJAVA_HOME/lib/td.jarJAVA_HOME/jr  & {/ m' c8 W! d' Z0 z: `
-e/lib/rt.jar:., p' w; I1 M- T! P: ?# T5 q5 C
PATH=$PATHJAVA_HOME/bin5 v* D$ U) X% H+ M+ \3 r5 V4 v  L
export PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE   5 N/ u/ q0 h" D5 Q
INPUTRC JAVA_HOME CLASSPATH RESIN_HOME</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
; H6 @( f. I( {, u8 A/ ]$ m( L* q9 U
最后,在终端上输入Java看能不能找到这个命令,如果能找到安装就成功了。 / C/ i3 X/ n, p
  S# T1 _+ E8 [
下面介绍一下JDK的几个重要的命令: 8 q5 f  U! U; ^( w8 p; c

5 g0 e8 @$ E0 G◆Java执行工具,是启动JVM(虚拟机)并执行class(BYTE CODE)文件的命令; 0 s0 O$ Z, z; {$ i8 ]8 C

/ ], y+ ?1 e8 x; K8 @1 w◆javac 编译器,由.java文件生成.class文件;
+ `/ M# g$ o+ f/ Q8 A9 W5 }( D% Z$ J1 h! N2 H* B
◆jar Java压缩打包工具; 4 j6 I# u$ U& }, a

5 \# T2 X! C) X6 C: I% C◆Javadoc 文档生成器。 7 l: K0 {7 k0 C* q

5 T# d$ b1 W% ^, A3 q6 q- p& `$ X最后就是JDK Documentation,这是JDK的联机帮助文档,是最有用和最重要的学习参考文档,应该多看。
1 y& g* W- ~& K% ]
# K- O6 a" B4 `
- V, m6 b+ t, X  I<CENTER><FONT color=#000099><b>开始写自己的代码</b></FONT></CENTER>
1 w$ K4 J1 j- @# ~3 z- t9 Y/ l- |3 A. h0 B  l
现在环境有了,应该写个简单的代码进行测试了。还是从经典的“hello word”开始。
; C! B0 I: H# V3 v; l/ K& ?6 {. {9 B
4 T, P. |* p! w<B>1. 先用编辑器写一代码(我用的是Linux的vi):</B>
* R0 _, |4 }3 P5 @# X; h
) M# j2 z1 ~& G( G- D+ h& f$ u<CCID_NOBR>- Q" a( ?; Q, p, F! v7 h
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
$ j. z; m; J* q/ [& @1 F6 q! e
4 [/ m; Z/ @: [3 s$ ]6 c<TR>
% u3 O' h0 h# ~; h2 U: z7 G<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ vi Hello.Java/ d+ n; S8 B9 S
  public class Hello{# [5 G6 ]4 {/ Z# a  A3 b+ d
        public static void main(String []argc){
" s" j& Q4 }# x7 x8 G                System.out.println("Hello Word!");
/ _9 C/ ~0 ]( {! d        }
9 J! L& ], b; \  }</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
& M; D0 x9 ~) }! @+ {5 j8 @1 M8 [. j2 M# Z
<B>2. 编译:</B>
9 R: P3 Q0 ^3 H1 T; C1 M# I6 U- D/ y1 ?9 ^2 \
<CCID_NOBR>2 o9 n% y7 j& V& s
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>* q6 j# q  D  \! q5 ^- N" X! d* e* r+ I6 N

7 `( x* z. f5 M. B<TR>3 v5 a% l( E& e
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Javac Hello.Java</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
# B7 j( h  W2 L6 v/ ]% e& h, v9 F( q/ `/ B2 d8 g1 f  g
<B>3. 执行:</B>
. V- q( ?2 F; B9 P
1 I. E- Y* H6 L! G; b2 I<CCID_NOBR>
5 {5 [+ N+ W& N( ^& @<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
# D6 \9 U$ y5 S' W. E- e
: `0 d  S$ j/ b( U, \+ ?& A; S<TR>- w7 e! W" O# M8 a! r' ~
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Java Hello' W, _9 V& J0 o1 W7 y
     Hello Word!</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
* `  Y" ~/ H! v* y4 Z" b7 w# X5 I* k6 b$ n, O5 ~2 U; b5 W# p
成功了!这就是我的第一个Java程序。从那时起我知道已开始走进Java的世界,接下来就靠自己的努力了。在这个过程中,笔者认为有几点需要注意。 ( [1 D4 Q- i( b% y3 J% ^
: x$ n; o0 r2 _: e  }$ G) R
学习一门新的语言,参考书是离不开的。我的建议是开始最好找一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。此外,在这一阶段还应该多看JDK的联机帮助,尽量多地掌握JDK提供的Java基本类库API。 8 p- \5 J7 k% f+ l8 U  W
. W. h9 m1 d( h# g3 V
在有一定基础、能够写一些简单的程序后,可以开始看《Thinking in Java》这本书。它比较完整地介绍了Java的语法、面向对象的特性、核心类库等。通过这一层次的学习能够加深对Java的理解和底层原理的运用,同时又可以完整地了解Java的整个体系。在这一阶段,应该重点学习Java的面向对象编程语言的特性,比如继承、构造器、抽象类、接口、方法的多态、重载、覆盖、Java的异常处理机制等,要对上述概念有非常清楚的了解。这样做的目的,是要让自己把这些技术应用到实践中进行合理的程序设计(比如,你会考虑一个类是用抽象还是接口来设计等)。这就要求必须在大量的实践中去应用和学习。这也是当初很多朋友给我的建议。 1 x- Y2 j$ `+ q4 ^, S. w& R/ |; ^

; z* P# H- f# |: ?6 P" y7 |( N/ P5 x1 H1 v
<CENTER><FONT color=#000099><b>学习更多</b></FONT></CENTER>6 @/ a9 B0 }6 }/ X9 Y! c
  i$ A2 Z1 q" w. a5 X
如果要用Java来完成各种功能更强大的任务,那么就要学习语言以外的更多的东西。
0 \8 j0 p2 Y4 x
9 _7 w( x$ o% {, q& |6 A<B>1.Java Web编程</B> 8 _8 F# ~, \: p3 u7 D: j
- e5 V* Y# r# x5 M3 U* s5 ~  A
对于Java Web 编程来说,应该而且必须熟悉和掌握HTTP协议,可以参考 Stevens的《TCP/IP 详解》第三卷。Java Servlet技术提供了生成动态Web页面内容的能力,这在你的Java项目中是最基本的功能之一,所以必须学习。通过这一阶段的学习应该掌握Servlet/JSP的Web编程。
7 ^; I% L  D7 G) P. S/ d0 E0 e  X: _  i
<B>2. J2EE的学习</B>
6 P2 p. I3 \( ?( V9 [6 u3 j& w" j) ]
J2EE包含的技术太多了。如果你想坐在桌子旁边抱着一大堆书来学习的话,效果不大的。我建议在开始这一阶段的学习的时候,可以按以下步骤来做,总的思想是“总体把握,各个击破”。 . V+ S. u, z( N$ Y; {: a$ A
9 C5 o7 w5 J7 A0 u5 K1 I
◆ 了解J2EE中的技术术语的含义。
$ |( a8 I3 \  q) ?0 w+ b
  M4 y: ]; v0 ^8 Q2 l9 [我的感觉是J2EE标准中涉及到的各种技术很多,如果一开始就一个一个去学习的话是不现实的,也是没效果的。我的建议是,先对其中的技术有个大概的了解,比如EJB、JavaIDL、JTA等。可能你不知道怎么去写一个EJB,但是要知道什么是EJB、它能做什么,当有了这样的概念后,再去有目的地学习它就会快很多。我还要再重复一句——必须要在实践中动手去做才行。
$ N, r1 c/ M2 K0 k+ U' D; b1 g1 `5 \7 }
◆ 了解J2EE中的设计模式,这样能帮助你对J2EE做个整体把握。
* I. P+ _) h2 ~8 c4 Z# y0 |! G, N8 R3 j" i
MVC开发模式被证明是有效的处理方法之一。它可以分离数据访问和数据表现。你可以开发一个有伸缩性的、便于扩展的控制器,来维护整个流程。通过这一层次的学习,当你面对一个项目的时候,应该首先把握它的总体架构的设计,以及决定采用J2EE标准中的哪些技术。 ; _; {& o$ B. Y# U  R. c8 J
* c4 v+ j: L! U% F- J- p0 B
◆ 了解一些J2EE平台的典型案列,加深对这一技术的概念和理解。
' M( Y* d2 B$ z: k, A* f  B" \$ U. u5 f( S* {5 k& f+ p
平时可以多留意这方面,熟悉一些典型案例,分析它为什么要采用那个时间?那样做能达到什么样的目的?然后联系到自己身边的项目是否可以作为参考。
& [* {0 m  k. y, ~. O
7 X' q; R4 g' o◆ 学习J2EE下的各种技术。
4 g& t2 h9 c( w& }% S7 ], W
% A2 \9 h& l0 o4 y; l+ [* c9 {在有了前几阶段的学习后,可以自己搭建一个J2EE平台开始具体学习每一种技术。你可以参与公司相关项目进行学习,也可以自己搭建一个平台进行学习。这时候应该找点相关的书来一步一步学习,没有捷径可走。如果你不满足于这些,那么还应该更深入地学习UML、设计模式等方面的东西。
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
如果我没给你翅膀,你要学会用理想去飞翔!!!
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

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

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

蒙公网安备 15010502000194号

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

GMT+8, 2025-7-27 19:38 , Processed in 0.359053 second(s), 52 queries .

回顶部