QQ登录

只需要一步,快速开始

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

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

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

206

主题

2

听众

882

积分

升级  70.5%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-3-31 01:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
本文选自:开放系统世界——赛迪网  2002年12月18日 7 q# z. g+ A2 k
Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考。 - ?: p1 x, V; z5 n
+ m. {2 {1 V5 z# [3 y9 n( E
我在学习Java的过程中主要围绕以下几个方面来学习:
7 ^* }' T+ Z' O6 e& p/ x3 X2 V& s" s: v
1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java。 ( A" G2 |% B. O

4 i, A- v2 c- D! `+ U: p9 B2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。
9 t! v- g5 _: t0 ?# d
8 j# c1 B2 d4 c. ?: a3.在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,最好能参与一些实际的项目。 9 R. ?& E, M+ r
7 D$ r6 {0 e% [% H+ l+ l/ |
4.在学到一定阶段后,你开始希望用学过的东西做些什么。这时的你应该开始学习一些更多、更复杂的知识,比如J2EE平台的构建、EJB的开发等。对于这一部分,我建议最好找一本较薄的书先了解一个大概,心里有个总体的认识,对更多的技术术语做个初步掌握。我认为这个阶段看看《J2EE技术实践》很不错,它可以让你了解J2EE包含的各种技术和框架,同时提供很多实际的例子来加深对J2EE的整体了解。
4 K+ e5 x) c) v0 n$ l& r5 K  ]' }% m( E/ Z& M- U8 F
学习Java的兴趣和决心起了很关键的作用。在有了上述基础后,我便开始一步一步地学习Java。 ! }2 ^" l# o2 D1 c+ k2 ^

. g5 i3 V8 F3 @+ S* s
2 u! Z1 l; q: J  |# G<CENTER><FONT color=#000099><b>Java环境的搭建</b></FONT></CENTER>0 _9 j: W9 p& Z* N$ B

, d/ d9 f8 F$ B要运行Java程序,必须安装JDK。JDK是整个Java的核心,其中包括了Java编译器、JVM、大量的Java工具以及Java基础API。
; \" b3 a. n% v& U4 C9 q, g: E6 X; ^+ t7 M$ N
可以从http://Java.sun.com下载JDK,有1.4版本和1.31版本。我的学习环境中首先,采用的是1.31版本。 $ d9 F: m' ]- G" m: Z. h" S
" r6 X: _" g2 s! r+ s3 m! E
解压安装。然后,进行环境设置。 ! w0 Y9 l- A1 g* m

6 n9 T# O; D. ]6 O4 j+ ~8 n<B>1.对于Windows平台要进行以下设置:</B> 3 f2 p7 X: Z6 j% X
9 I; j# ^' a. ~. J
<CCID_NOBR>' T& C2 z& V& z
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
, ]+ \0 S$ K: x, G
! y6 f6 c- C- s1 p% U# `7 f7 ^<TR>9 g( Y; [# D. ~" M" @! f
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>set PATH=YOUR_INSTALL_ DIR\bin; C:\Windows;C:\Windows\Command
+ O6 u( u4 y; r% f9 z7 p# uset classpath=. ;YOUR_INSTALL_DIR\lib\tools.jar</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
  z0 g% P. j3 J
- o2 M8 A5 @. M: ]<B>2.对于Linux平台要编辑/etc/profile文件:</B>
; Y3 r+ C* d6 K5 V6 _4 U/ S* v' _8 N) h. l+ N8 t
<CCID_NOBR>
7 y& J5 \2 N. l4 K4 {# [<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>. \* B8 G& }5 |$ u( L

' `- H3 H& @* G" Z/ O  B$ O5 A0 {<TR>
. W/ N8 F# ~  I; d- h# Q) x<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>JAVA_HOME=your_install_dir/JDK/j2sdk- s0 q1 W4 A' N* E
CLASSPATH=$JAVA_HOME/lib/tools.jarJAVA_HOME/lib/td.jarJAVA_HOME/jr  5 J% M5 t) Q9 x* X
-e/lib/rt.jar:.) j& |7 }) H( E5 _( ]. b
PATH=$PATHJAVA_HOME/bin
5 x0 o0 q9 r, a4 v! \5 ]# Oexport PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE   
8 B2 Z& o& E& v& Y$ O3 y/ _INPUTRC JAVA_HOME CLASSPATH RESIN_HOME</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>- Q5 r. \. [3 i6 q+ a

" i( _6 ~# W1 J, z1 b' u最后,在终端上输入Java看能不能找到这个命令,如果能找到安装就成功了。
8 K' j8 |9 l" C! t
6 i0 ~# x1 B0 c下面介绍一下JDK的几个重要的命令: % m- o# {; u( w
& V6 L4 x' @$ ?9 l$ Y* ^( ]
◆Java执行工具,是启动JVM(虚拟机)并执行class(BYTE CODE)文件的命令;
' Q$ u3 V* S* g2 {) \" g9 ?6 V
. O0 K4 o  |4 ]7 F◆javac 编译器,由.java文件生成.class文件; ) }5 N  B, r/ R8 V4 o, q9 M. f
1 [- U+ W# I: S) d* E- q
◆jar Java压缩打包工具; : v* D. G2 F- [2 k2 C( X( C
. I4 n* b  D; C: W; m' S" ]) h
◆Javadoc 文档生成器。 # {/ F6 f& B" N' D0 a; E
' T" X5 `$ b. D
最后就是JDK Documentation,这是JDK的联机帮助文档,是最有用和最重要的学习参考文档,应该多看。 6 d: i( a& U" w) t5 x. m' Y
+ g7 G* A7 ~+ h, ~+ F# }
% m  l8 a2 [8 ~- M! V. D8 S
<CENTER><FONT color=#000099><b>开始写自己的代码</b></FONT></CENTER>
1 Y4 F' S) H( I) B$ @3 h) U
# O4 d: g9 s/ l4 D+ T: r: }现在环境有了,应该写个简单的代码进行测试了。还是从经典的“hello word”开始。 ! }  i! P7 h/ ?1 V7 @
( m  z5 W' a2 m
<B>1. 先用编辑器写一代码(我用的是Linux的vi):</B>
' _# {( e  N+ o6 m1 ?1 c0 @- c* A6 t
<CCID_NOBR>3 e- Q* j6 b& G  h  `
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
' @* B9 g5 I4 p  @
) B5 A4 S/ w0 J6 d<TR>
2 ]2 [2 I, E# Y  Y/ ?& Z<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ vi Hello.Java& E5 S' c: W/ C3 Z3 s# P
  public class Hello{
- v. w: x. |% T, }, d0 R        public static void main(String []argc){
/ Q3 }2 [, u8 _; {8 }5 C                System.out.println("Hello Word!");  S3 ~& P5 Q: A3 d- T
        }& G' W# R: n- ?* e& i
  }</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
4 d4 ~' S& ^' V$ ~* o; r  g1 ?& ^
2 A+ k, g  l' Y<B>2. 编译:</B> 0 o5 O1 }" G' q0 {; V% C

5 ^& d: x% ]+ e! J3 _) Z: s8 q  C3 Z<CCID_NOBR>  [1 m/ Z2 \" H* W: k$ h
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>0 Z- S* Y9 ]5 k* K7 M  j

6 l; A: g) M9 _& {0 c+ ]<TR>! A( d' |* z6 e
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Javac Hello.Java</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>. H1 i& |3 F& b
9 i! _8 z/ e' C: b- j
<B>3. 执行:</B> 3 ^! N; O3 q+ y! ~* F& t0 D
! w: G* u4 K; g1 y% E
<CCID_NOBR>
( {$ t8 n" ^( |<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>
- ^  u8 b/ }  z
$ F8 n7 d& C# R' l<TR>
0 M2 d1 i5 t5 E/ x! u( ?9 d<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Java Hello
8 h; ~! ]: C" X, o     Hello Word!</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
, E6 \) U! g+ z% U9 F) h  u7 {
! K  ?% {) H8 [& [5 }成功了!这就是我的第一个Java程序。从那时起我知道已开始走进Java的世界,接下来就靠自己的努力了。在这个过程中,笔者认为有几点需要注意。
5 f$ }, f/ f7 `, c# P
1 T3 o' O# N# P' W) J2 n学习一门新的语言,参考书是离不开的。我的建议是开始最好找一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。此外,在这一阶段还应该多看JDK的联机帮助,尽量多地掌握JDK提供的Java基本类库API。
2 n9 k. k  u$ ?2 ~2 Y# N- W) W* v3 h; E0 b) Q- l
在有一定基础、能够写一些简单的程序后,可以开始看《Thinking in Java》这本书。它比较完整地介绍了Java的语法、面向对象的特性、核心类库等。通过这一层次的学习能够加深对Java的理解和底层原理的运用,同时又可以完整地了解Java的整个体系。在这一阶段,应该重点学习Java的面向对象编程语言的特性,比如继承、构造器、抽象类、接口、方法的多态、重载、覆盖、Java的异常处理机制等,要对上述概念有非常清楚的了解。这样做的目的,是要让自己把这些技术应用到实践中进行合理的程序设计(比如,你会考虑一个类是用抽象还是接口来设计等)。这就要求必须在大量的实践中去应用和学习。这也是当初很多朋友给我的建议。
4 |  l7 K% ]$ l, X0 t$ }" D* z% ^# X9 A' V; f' N- w! [8 ^

* h0 R7 L1 l: o* A7 [6 O* U<CENTER><FONT color=#000099><b>学习更多</b></FONT></CENTER>8 T2 b' M" F5 ^4 }3 z/ C

- J2 A0 Q( w; X1 `6 F( V. Y1 F$ v, {如果要用Java来完成各种功能更强大的任务,那么就要学习语言以外的更多的东西。 5 E/ A7 `6 R2 U4 t3 b
) e6 A4 N4 m( |# W" u
<B>1.Java Web编程</B>
  u5 Q% e' [; P8 S% h- u4 f4 s1 I* Y$ g) Q  D3 P
对于Java Web 编程来说,应该而且必须熟悉和掌握HTTP协议,可以参考 Stevens的《TCP/IP 详解》第三卷。Java Servlet技术提供了生成动态Web页面内容的能力,这在你的Java项目中是最基本的功能之一,所以必须学习。通过这一阶段的学习应该掌握Servlet/JSP的Web编程。
* X" v! h/ J& b. O0 \1 d
6 q2 K9 E4 A* L8 k1 B' V<B>2. J2EE的学习</B> ; Z8 u1 B4 P& [" ?4 K9 v' w- s

$ S2 \* s8 K; Y% a  y5 UJ2EE包含的技术太多了。如果你想坐在桌子旁边抱着一大堆书来学习的话,效果不大的。我建议在开始这一阶段的学习的时候,可以按以下步骤来做,总的思想是“总体把握,各个击破”。
5 t6 Y+ ]* s+ b) ?/ r, U8 \) w# p# J. k
◆ 了解J2EE中的技术术语的含义。
8 X5 c' n+ u% ^( H3 G( ?4 Z3 l, n, k( Y$ Q7 _- v' N2 Y
我的感觉是J2EE标准中涉及到的各种技术很多,如果一开始就一个一个去学习的话是不现实的,也是没效果的。我的建议是,先对其中的技术有个大概的了解,比如EJB、JavaIDL、JTA等。可能你不知道怎么去写一个EJB,但是要知道什么是EJB、它能做什么,当有了这样的概念后,再去有目的地学习它就会快很多。我还要再重复一句——必须要在实践中动手去做才行。
4 a/ F; ]/ p3 e+ Z1 X! Z1 I3 w0 u# {% a2 j3 I! I! m
◆ 了解J2EE中的设计模式,这样能帮助你对J2EE做个整体把握。 $ n: t( f3 L, Q. S$ \  Z

+ n. u$ ?% b1 f% EMVC开发模式被证明是有效的处理方法之一。它可以分离数据访问和数据表现。你可以开发一个有伸缩性的、便于扩展的控制器,来维护整个流程。通过这一层次的学习,当你面对一个项目的时候,应该首先把握它的总体架构的设计,以及决定采用J2EE标准中的哪些技术。
( X/ X# j, g! ?7 U) j% E; u$ _5 q7 y3 b2 Z& |8 R& H- p
◆ 了解一些J2EE平台的典型案列,加深对这一技术的概念和理解。 + b. O" g7 \, s/ x9 {. w, Z
  _  D7 Q' ]9 V. c: b
平时可以多留意这方面,熟悉一些典型案例,分析它为什么要采用那个时间?那样做能达到什么样的目的?然后联系到自己身边的项目是否可以作为参考。
% G+ ~% v+ n& i5 u/ ?4 x4 S' r' ?( l/ M. }2 y8 i( I
◆ 学习J2EE下的各种技术。
0 |+ e/ t3 K6 Q7 i3 v1 q- j' y* W5 R) w4 c+ H
在有了前几阶段的学习后,可以自己搭建一个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 11:10 , Processed in 0.220061 second(s), 51 queries .

回顶部