QQ登录

只需要一步,快速开始

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

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

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

206

主题

2

听众

882

积分

升级  70.5%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-3-31 01:33 |只看该作者 |正序浏览
|招呼Ta 关注Ta
本文选自:开放系统世界——赛迪网  2002年12月18日 + s  [# \0 U5 V( ]' B" r
Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考。
9 t( p- C+ @# _- F* U0 b
- L( G4 A4 `4 Z+ h# `我在学习Java的过程中主要围绕以下几个方面来学习:
2 G( {/ ]0 v- a9 N6 \7 G) O' `% E8 B+ W& P/ U5 Y' U1 v/ u
1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java。 & g6 X5 x! R& J

+ o7 V& R1 i( F6 N$ ~2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。 ( S: Q  j0 X2 f. x' ?+ i( o+ U
+ ~9 p% W! {. D  E7 J
3.在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,最好能参与一些实际的项目。 2 J: z4 @8 k: q9 ^6 K
' S1 J6 V- h1 r& f) q0 o
4.在学到一定阶段后,你开始希望用学过的东西做些什么。这时的你应该开始学习一些更多、更复杂的知识,比如J2EE平台的构建、EJB的开发等。对于这一部分,我建议最好找一本较薄的书先了解一个大概,心里有个总体的认识,对更多的技术术语做个初步掌握。我认为这个阶段看看《J2EE技术实践》很不错,它可以让你了解J2EE包含的各种技术和框架,同时提供很多实际的例子来加深对J2EE的整体了解。
1 k7 k6 d5 n$ b, t" g
* d! q, u+ o" D学习Java的兴趣和决心起了很关键的作用。在有了上述基础后,我便开始一步一步地学习Java。 ' a- F; z* e: _8 @$ w
4 y2 x9 R0 X7 c6 r6 O

" Y! L3 f4 M. W* ]6 z<CENTER><FONT color=#000099><b>Java环境的搭建</b></FONT></CENTER>
, p5 R. A' Q& x/ I2 H, w1 ?* l6 v0 h) u' k7 o
要运行Java程序,必须安装JDK。JDK是整个Java的核心,其中包括了Java编译器、JVM、大量的Java工具以及Java基础API。 7 h7 ~  f; d+ k5 S

  i; l* H3 M. [3 Q# \3 _4 C' J可以从http://Java.sun.com下载JDK,有1.4版本和1.31版本。我的学习环境中首先,采用的是1.31版本。 + }) C5 s8 ~5 j3 _% ^: a
8 y! M- ?, F- u$ _+ J
解压安装。然后,进行环境设置。 " l6 G2 d9 B+ H$ n- s3 P
6 k, n! p: q) P6 {0 y6 q  u6 H
<B>1.对于Windows平台要进行以下设置:</B>
" a# H" x( J6 X, V7 v4 L
6 E, `6 }& S$ j9 Q0 y7 X! P& F$ R<CCID_NOBR>
) a" ~5 m$ F6 i! b5 F3 C) X4 v! Z<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>8 }$ a7 Y" T0 |# f* _
* K: Z5 N, E3 l; {2 P7 P' r
<TR>
2 @/ a2 R" g. Q8 L# x3 i: \<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>set PATH=YOUR_INSTALL_ DIR\bin; C:\Windows;C:\Windows\Command8 U) M1 g$ k5 h0 d, O7 C& c5 y* w
set classpath=. ;YOUR_INSTALL_DIR\lib\tools.jar</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
; ]$ |. X/ m! r& ^+ Q2 v# i7 }$ G  F& q& K
<B>2.对于Linux平台要编辑/etc/profile文件:</B>
% C2 k7 `7 p; C
# s: B% L5 m& A/ f, X9 N<CCID_NOBR>; R- F' B! h3 H/ Z% q7 T
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>2 B9 Z/ j( `/ R' U* T( Q! [

/ p9 `" R7 T& K<TR>* a4 Y) H# G! ^' S3 w5 j
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>JAVA_HOME=your_install_dir/JDK/j2sdk
7 p4 h6 I! H8 _! HCLASSPATH=$JAVA_HOME/lib/tools.jarJAVA_HOME/lib/td.jarJAVA_HOME/jr  
7 r" V/ L! f. q-e/lib/rt.jar:.
5 y0 p" e5 E* j5 B9 O( APATH=$PATHJAVA_HOME/bin
2 @. W8 y& p) ^8 z( {8 Hexport PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE   
+ L+ {+ ~- o; u9 M( S/ `8 [7 yINPUTRC JAVA_HOME CLASSPATH RESIN_HOME</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
: v/ {/ P! x  j% w1 r
- K! N) l6 s6 k# L+ Z最后,在终端上输入Java看能不能找到这个命令,如果能找到安装就成功了。
3 H0 h0 Q4 I3 G2 H' T- r
* W! O' m# h* h& q/ P, K7 g下面介绍一下JDK的几个重要的命令: 7 T$ f9 j) `: P; D8 ?3 l

5 R- z3 }% j. U4 A' j( w' G( t9 j◆Java执行工具,是启动JVM(虚拟机)并执行class(BYTE CODE)文件的命令;
6 W% y. W$ H+ |: {. h3 E2 S2 V. ^% N! h% K
◆javac 编译器,由.java文件生成.class文件;
5 [( ]7 E$ k- g4 e  I* V) {  Z1 I% ]; X' P) J; t5 Q8 t
◆jar Java压缩打包工具;
# J) p2 M$ \/ H6 ]8 P$ u. k6 p! v* c: A, D% ~
◆Javadoc 文档生成器。
" {1 {! g3 _( s5 o% o6 H6 |: f# {' `* U2 O* r# w) x  P8 d
最后就是JDK Documentation,这是JDK的联机帮助文档,是最有用和最重要的学习参考文档,应该多看。
4 W+ `1 Q5 \! p! _0 Q: h# _  Z) Y' y; v
4 Z+ a. x8 a0 k
<CENTER><FONT color=#000099><b>开始写自己的代码</b></FONT></CENTER>9 O) P9 E9 h* {; O7 L! k

4 W" U/ N4 j/ }4 ~现在环境有了,应该写个简单的代码进行测试了。还是从经典的“hello word”开始。
% R! b) p1 m! M. S9 h5 @- V
# c9 {7 `' C9 y5 S. `- n7 Z' ?, _<B>1. 先用编辑器写一代码(我用的是Linux的vi):</B> / e+ N& g3 @3 c. A. g' {

. T: i# [" Z4 L, ]<CCID_NOBR>
  J, N: q2 O- f. [) _7 R" I<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
- ]# E! a; _; r/ ~" w6 N
/ I1 q* a/ N% [<TR>* i. H1 W! w% m, e% W: ?1 Y" o5 _' m
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ vi Hello.Java# g! T0 d4 _+ \# ~8 j- U1 a
  public class Hello{
$ E! S+ W3 ?7 N, r% i        public static void main(String []argc){/ B$ K$ T7 x" `) m9 c: F3 ^8 V
                System.out.println("Hello Word!");
  g" P+ z. \* _4 V* P# c        }
* a3 y* k) }  z' m9 `; i  }</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>$ v$ ~; a& f7 \0 [( |
" T+ t5 Q9 {6 u2 J$ C
<B>2. 编译:</B> : q$ T6 H5 d+ ^7 K
9 n' g" a  a  k9 t  k
<CCID_NOBR>( ~* u" q- o: n( S
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>) b+ j- M$ A! x/ q0 ~* F

" E. Y6 E( ?7 O<TR>
& n2 x( l! X& i4 m7 y, q% _<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Javac Hello.Java</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
$ i, V& b0 l- t+ Y; z
! O5 {' c/ Z9 D) j<B>3. 执行:</B>
, j* a% \( J! s! N9 Q/ i) R, u) \9 u. B0 T7 j
<CCID_NOBR>: y- c1 F# H! `) w  D
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
, x' c" O# J' ^: ^0 {2 l
+ a: K3 M5 E6 ?! w& [<TR>
7 Y% i& ]# K. a: j9 f6 k<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Java Hello
" g& }; N: Y) z4 ^' X     Hello Word!</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
1 M; V5 D6 q% W- T- e, f) ?- E- E+ J# [- ~* m
成功了!这就是我的第一个Java程序。从那时起我知道已开始走进Java的世界,接下来就靠自己的努力了。在这个过程中,笔者认为有几点需要注意。 7 b4 x6 s2 g5 m6 A+ b

; k+ j& Y1 ~0 Q6 |* E' B学习一门新的语言,参考书是离不开的。我的建议是开始最好找一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。此外,在这一阶段还应该多看JDK的联机帮助,尽量多地掌握JDK提供的Java基本类库API。
8 d4 Q( \$ M9 R4 a6 c' d$ F
5 g  o2 \* V- h' `: L在有一定基础、能够写一些简单的程序后,可以开始看《Thinking in Java》这本书。它比较完整地介绍了Java的语法、面向对象的特性、核心类库等。通过这一层次的学习能够加深对Java的理解和底层原理的运用,同时又可以完整地了解Java的整个体系。在这一阶段,应该重点学习Java的面向对象编程语言的特性,比如继承、构造器、抽象类、接口、方法的多态、重载、覆盖、Java的异常处理机制等,要对上述概念有非常清楚的了解。这样做的目的,是要让自己把这些技术应用到实践中进行合理的程序设计(比如,你会考虑一个类是用抽象还是接口来设计等)。这就要求必须在大量的实践中去应用和学习。这也是当初很多朋友给我的建议。
( o) Z' |4 e  `+ y+ [; x' U' K4 ~8 q: v7 n  a- g

+ |  s( q! v- N* q0 l9 g<CENTER><FONT color=#000099><b>学习更多</b></FONT></CENTER>- ?% n7 [( Y  }9 ~
( o  h1 C0 V. T3 D2 s
如果要用Java来完成各种功能更强大的任务,那么就要学习语言以外的更多的东西。
' {8 [/ y. X2 B) L+ S5 L
3 W% T  l! r  I/ i7 B, t<B>1.Java Web编程</B> : V5 b6 G9 N* _

9 U9 a& J8 l' y7 C, {9 r9 o对于Java Web 编程来说,应该而且必须熟悉和掌握HTTP协议,可以参考 Stevens的《TCP/IP 详解》第三卷。Java Servlet技术提供了生成动态Web页面内容的能力,这在你的Java项目中是最基本的功能之一,所以必须学习。通过这一阶段的学习应该掌握Servlet/JSP的Web编程。 , s' c! s4 U0 k2 j! o; Y

2 |: J* y0 x/ m<B>2. J2EE的学习</B> 1 Z& \% R4 Y. H3 j

& ~+ d) C3 {2 G2 I  i8 J! kJ2EE包含的技术太多了。如果你想坐在桌子旁边抱着一大堆书来学习的话,效果不大的。我建议在开始这一阶段的学习的时候,可以按以下步骤来做,总的思想是“总体把握,各个击破”。
' Z1 n: ?. T: k0 \- y; K2 {# Z; L$ t
$ L2 |5 O, x4 b- X1 j9 e7 }◆ 了解J2EE中的技术术语的含义。 + v7 k' T- d8 X! }( o7 {

5 W; T$ ]$ w5 T" o% `我的感觉是J2EE标准中涉及到的各种技术很多,如果一开始就一个一个去学习的话是不现实的,也是没效果的。我的建议是,先对其中的技术有个大概的了解,比如EJB、JavaIDL、JTA等。可能你不知道怎么去写一个EJB,但是要知道什么是EJB、它能做什么,当有了这样的概念后,再去有目的地学习它就会快很多。我还要再重复一句——必须要在实践中动手去做才行。 , @) |2 I* s* z0 R5 T

- H( h1 @+ s( c2 x◆ 了解J2EE中的设计模式,这样能帮助你对J2EE做个整体把握。 , `8 q( r8 x- R7 o7 n5 S- k2 o0 T
* C$ J/ ]' w- x$ F
MVC开发模式被证明是有效的处理方法之一。它可以分离数据访问和数据表现。你可以开发一个有伸缩性的、便于扩展的控制器,来维护整个流程。通过这一层次的学习,当你面对一个项目的时候,应该首先把握它的总体架构的设计,以及决定采用J2EE标准中的哪些技术。
$ F3 O+ ?8 l, s7 O5 h" h  N" E* i1 [# s% A  v7 W0 g
◆ 了解一些J2EE平台的典型案列,加深对这一技术的概念和理解。 : T, A. ^; j" q

% q( V" ]. @% D7 ?' L平时可以多留意这方面,熟悉一些典型案例,分析它为什么要采用那个时间?那样做能达到什么样的目的?然后联系到自己身边的项目是否可以作为参考。 * D& h0 M! F8 j! R2 D

/ b' h6 E" k4 f. L( z/ v/ E◆ 学习J2EE下的各种技术。 6 x( R( }9 h) D/ w+ D5 c- D
- ~0 m5 H6 R3 H* m
在有了前几阶段的学习后,可以自己搭建一个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, 2026-4-22 16:13 , Processed in 0.423861 second(s), 52 queries .

回顶部