QQ登录

只需要一步,快速开始

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

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

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

206

主题

2

听众

882

积分

升级  70.5%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-3-31 01:33 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
本文选自:开放系统世界——赛迪网  2002年12月18日 " Q; h# F- a) D9 q. u
Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考。 5 W! ^+ P; f3 ]. Q$ {5 u' E2 |

5 x/ H+ H% P: A3 o: z* q2 a我在学习Java的过程中主要围绕以下几个方面来学习:
4 @# m  S6 W; q+ V* B- B" Y
# l3 L5 c2 u- R9 }1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java。 : h6 Z  n# U, d+ Z  F# K

; w9 L, {  u2 z. ^2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。
. x7 g# E4 u0 n% O! h  P8 k  S8 o3 @0 i
3.在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,最好能参与一些实际的项目。
; C' j3 c+ @$ F( N/ r; F
9 E& M5 V2 v! F; O$ R2 C4.在学到一定阶段后,你开始希望用学过的东西做些什么。这时的你应该开始学习一些更多、更复杂的知识,比如J2EE平台的构建、EJB的开发等。对于这一部分,我建议最好找一本较薄的书先了解一个大概,心里有个总体的认识,对更多的技术术语做个初步掌握。我认为这个阶段看看《J2EE技术实践》很不错,它可以让你了解J2EE包含的各种技术和框架,同时提供很多实际的例子来加深对J2EE的整体了解。
' J+ ]( f5 F9 R( f7 J# C% A. s9 N* R- O% w1 T4 K
学习Java的兴趣和决心起了很关键的作用。在有了上述基础后,我便开始一步一步地学习Java。
+ U* f$ }' E8 c/ d, A4 c  B) \* D! g  [5 O; [5 e) [8 J
! R8 x! R5 d% ~
<CENTER><FONT color=#000099><b>Java环境的搭建</b></FONT></CENTER>8 v- [% D$ s9 u$ l9 B
  X; b+ w) p1 y
要运行Java程序,必须安装JDK。JDK是整个Java的核心,其中包括了Java编译器、JVM、大量的Java工具以及Java基础API。
" }& B1 O+ K9 m
4 p6 H8 s/ i1 ^* r  _7 V' }" `可以从http://Java.sun.com下载JDK,有1.4版本和1.31版本。我的学习环境中首先,采用的是1.31版本。 % D% J. ]. C0 u, z6 [
/ T: _. c! k' Z. f  ^  Q- X/ E  \. @
解压安装。然后,进行环境设置。 ; u! p; Y& A& T, g$ z* {% w
5 p8 o7 @0 {( G- _6 B  C# T4 ?1 w
<B>1.对于Windows平台要进行以下设置:</B> 6 l; W# e( A+ {  [* v. L

# U7 u% a( a0 B7 z<CCID_NOBR>
$ K% F! L) o  f) |( g; m<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>: I# A6 u4 l0 V9 e' f% k
/ i+ T& G+ g: y, \
<TR>' R. D5 T% e. U: I. j
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>set PATH=YOUR_INSTALL_ DIR\bin; C:\Windows;C:\Windows\Command
$ }: F' }6 L& g6 `( x- P( N. iset classpath=. ;YOUR_INSTALL_DIR\lib\tools.jar</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
( \- ]1 D/ X  C2 }% L6 l& h. B8 K) |- i$ b  G
<B>2.对于Linux平台要编辑/etc/profile文件:</B> 2 }# o6 J/ ]. v
) Q% e1 I5 q( L, c
<CCID_NOBR>1 P% J( [" j4 G9 F& T: i3 [
<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550># ?2 K% S. F) }: j8 P

. \; {% D# v+ N6 d1 h4 l6 K( `<TR>+ v4 C- ~* s; e  p& X: U
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>JAVA_HOME=your_install_dir/JDK/j2sdk4 x# S5 N, q  M- v7 J/ z; O
CLASSPATH=$JAVA_HOME/lib/tools.jarJAVA_HOME/lib/td.jarJAVA_HOME/jr  
) E, f+ q" i  e-e/lib/rt.jar:.
! W3 {9 T0 K/ g3 S0 XPATH=$PATHJAVA_HOME/bin* N. \+ V- S) u  Q
export PATH PS1 USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE   
1 e) L6 u& h6 b- m5 J0 V. ^INPUTRC JAVA_HOME CLASSPATH RESIN_HOME</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
9 A2 X' B+ G: Y# _: e3 J, j/ V0 U5 O5 S4 ]+ i& L+ ~8 l& w
最后,在终端上输入Java看能不能找到这个命令,如果能找到安装就成功了。 7 c3 P! l! F6 K0 {+ M: _, [% D

" j; n% p+ e, D0 }0 H5 E* C下面介绍一下JDK的几个重要的命令: 6 h0 O- T8 l8 g
1 x1 U) K8 J( }' I; x7 E* }
◆Java执行工具,是启动JVM(虚拟机)并执行class(BYTE CODE)文件的命令; $ Q( K  F. Y5 u. v6 R

6 V9 j8 h: [$ y◆javac 编译器,由.java文件生成.class文件; 7 a2 K  |7 g3 e5 ~. h( W
8 {* e5 X, T& u( `1 p
◆jar Java压缩打包工具;
/ `, G7 z9 ?; K( R- O4 N3 q9 w0 r+ M& i" v; H8 @! D, y0 ?! w& P
◆Javadoc 文档生成器。 ! N# E: B* U. o; K8 r, ~$ v3 q& c
( r" @4 }& Q  Q9 c
最后就是JDK Documentation,这是JDK的联机帮助文档,是最有用和最重要的学习参考文档,应该多看。
8 c. o: d, x) ^! q" i+ q  W% ~
9 H' c* R3 h+ N( F% M$ S
<CENTER><FONT color=#000099><b>开始写自己的代码</b></FONT></CENTER>
' p) T6 ^! f/ G6 I) V
2 |4 W5 b( l. o! ~% V) @现在环境有了,应该写个简单的代码进行测试了。还是从经典的“hello word”开始。
* U; b: c$ s- p5 \+ D
; A. L: u3 h5 `% [3 w: X- a2 I<B>1. 先用编辑器写一代码(我用的是Linux的vi):</B> " t5 s+ V& q) q

) F) ^+ g  }$ R$ R2 \# Q6 ?<CCID_NOBR>
. I# S& h$ S" t! N, T& i<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550># [7 V. j: g; H1 Z' q, r

3 ]# m: J1 q+ n! O* e, Z<TR>: q/ s- }' Q6 f  [+ s+ s/ h
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ vi Hello.Java
& Y; M% ]' }  u3 ^8 T2 c  o  public class Hello{
. m+ q( v0 s, E1 H  S        public static void main(String []argc){
, @: A( n8 G9 y9 }6 Z7 u                System.out.println("Hello Word!");
' ]) l  W; i3 I- ~        }
/ m! A$ _, x1 R3 @" i  }</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
& F* Z3 \. z5 G6 Z
1 @6 D; r* P8 k. f0 k2 {<B>2. 编译:</B> 6 {! ~4 f$ R3 f: C3 D+ I

# L- t) c0 h9 C6 u* i<CCID_NOBR>
% K3 k" u3 |$ j7 S4 \/ z: h<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>7 _7 }) q0 W) t  {" S! }$ m

/ U* m% g2 l' r' _+ C* L4 k<TR>7 o4 C0 `9 Y9 ]) H6 T* E2 r% Z
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Javac Hello.Java</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>! {8 z7 K1 f0 f! N) M, E! G

; \5 O, w1 h/ f; u<B>3. 执行:</B> % K5 Y6 Y+ w  D( N) p7 d

. ]- j$ \" h4 _<CCID_NOBR>
; y, t" p! ]( N! F$ d# Q5 P& X<TABLE align=center border=1 borderColorDark=#ffffff borderColorLight=black cellPadding=2 cellSpacing=0 width=550>% x0 J; i" p8 \! r; C  K

" A7 R! q" w; {6 U& M$ D8 K; z  J<TR>" c, \: W7 y7 l  L# s# c
<TD bgColor=#e6e6e6 class=code><RE><CCID_CODE>[stone@coremsg work]$ Java Hello. M6 w) Z; u$ H# {0 z* v
     Hello Word!</CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR>
+ Q2 Z- e% k! ]# e6 E
$ z6 x$ }/ @9 I& a& f成功了!这就是我的第一个Java程序。从那时起我知道已开始走进Java的世界,接下来就靠自己的努力了。在这个过程中,笔者认为有几点需要注意。 8 G3 H; H0 d8 N& G

1 |; e6 e& D" |. P9 j学习一门新的语言,参考书是离不开的。我的建议是开始最好找一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。此外,在这一阶段还应该多看JDK的联机帮助,尽量多地掌握JDK提供的Java基本类库API。
! }' _# ~! M* E6 ~/ z5 f) a, y( d" U4 q, G1 f
在有一定基础、能够写一些简单的程序后,可以开始看《Thinking in Java》这本书。它比较完整地介绍了Java的语法、面向对象的特性、核心类库等。通过这一层次的学习能够加深对Java的理解和底层原理的运用,同时又可以完整地了解Java的整个体系。在这一阶段,应该重点学习Java的面向对象编程语言的特性,比如继承、构造器、抽象类、接口、方法的多态、重载、覆盖、Java的异常处理机制等,要对上述概念有非常清楚的了解。这样做的目的,是要让自己把这些技术应用到实践中进行合理的程序设计(比如,你会考虑一个类是用抽象还是接口来设计等)。这就要求必须在大量的实践中去应用和学习。这也是当初很多朋友给我的建议。 ) v$ r$ w1 w3 K( H( n1 u
( S! v& G# Y+ R( W- g# @

2 H& {4 M4 s# a, K<CENTER><FONT color=#000099><b>学习更多</b></FONT></CENTER>
+ n# W" I, e6 A3 Z% Z; h, J# J% D0 Z  Q$ J( A* H
如果要用Java来完成各种功能更强大的任务,那么就要学习语言以外的更多的东西。
* r# a+ F; M0 s; F: `, s0 s% d  ^. F* G
<B>1.Java Web编程</B>
) J% {7 y) a- ^
# \# z- ^% y! i对于Java Web 编程来说,应该而且必须熟悉和掌握HTTP协议,可以参考 Stevens的《TCP/IP 详解》第三卷。Java Servlet技术提供了生成动态Web页面内容的能力,这在你的Java项目中是最基本的功能之一,所以必须学习。通过这一阶段的学习应该掌握Servlet/JSP的Web编程。 # m; M7 v5 y4 \. H

2 o% h& B; y) [<B>2. J2EE的学习</B>
+ H- K! I, O2 a, i: V, T* X4 s( Y/ b/ X9 u& ~2 V7 `5 C& z
J2EE包含的技术太多了。如果你想坐在桌子旁边抱着一大堆书来学习的话,效果不大的。我建议在开始这一阶段的学习的时候,可以按以下步骤来做,总的思想是“总体把握,各个击破”。   u0 O! W- r2 d  w
9 k6 D& J8 |/ N3 c
◆ 了解J2EE中的技术术语的含义。
( @# q. u' h, k0 g
- j9 g+ q3 E, \我的感觉是J2EE标准中涉及到的各种技术很多,如果一开始就一个一个去学习的话是不现实的,也是没效果的。我的建议是,先对其中的技术有个大概的了解,比如EJB、JavaIDL、JTA等。可能你不知道怎么去写一个EJB,但是要知道什么是EJB、它能做什么,当有了这样的概念后,再去有目的地学习它就会快很多。我还要再重复一句——必须要在实践中动手去做才行。 : G: M7 R7 \. r; B

5 ?, H5 V, q0 W7 @: P◆ 了解J2EE中的设计模式,这样能帮助你对J2EE做个整体把握。
8 y5 h5 p1 @  V! R0 G
0 C' [. C0 E7 T9 D$ ~/ U4 gMVC开发模式被证明是有效的处理方法之一。它可以分离数据访问和数据表现。你可以开发一个有伸缩性的、便于扩展的控制器,来维护整个流程。通过这一层次的学习,当你面对一个项目的时候,应该首先把握它的总体架构的设计,以及决定采用J2EE标准中的哪些技术。
' L# {8 C6 }* _$ Z7 a  H
, r* L8 h6 `1 }7 H% {◆ 了解一些J2EE平台的典型案列,加深对这一技术的概念和理解。 9 }. ], Q( N2 U& j2 h) d$ r

, v8 ^- |+ e" F. o$ [平时可以多留意这方面,熟悉一些典型案例,分析它为什么要采用那个时间?那样做能达到什么样的目的?然后联系到自己身边的项目是否可以作为参考。
9 a  U; @: a+ n* G
- Q2 y$ j: {& R/ k4 a◆ 学习J2EE下的各种技术。
8 I- L+ B* ]# @6 b6 h4 ?' ~+ ^- i" }6 _: O' z# k  l# P
在有了前几阶段的学习后,可以自己搭建一个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-7-27 18:40 , Processed in 0.420823 second(s), 51 queries .

回顶部