欢迎来到it培训的黄埔军校——智游教育!

新手学java必须知道的事儿-永利国际

于2017-03-09 23:11:09 发表在java知识库

java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案。在本文中,笔者把自己学习java的一些切身体会和过程写出来,供初学者做个参考。

我在学习java的过程中主要围绕以下几个方面来学习:

1.时刻提醒自己java是一种oop语言工具,而不仅仅是编码,只有这样才能总体把握和运用java。
2.在学习的过程中,最好能够了解java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。
3.在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,最好能参与一些实际的项目。
4.在学到一定阶段后,你开始希望用学过的东西做些什么。这时的你应该开始学习一些更多、更复杂的知识,比如j2ee平台的构建、ejb的开发等。对于这一部分,我建议最好找一本较薄的书先了解一个大概,心里有个总体的认识,对更多的技术术语做个初步掌握。我认为这个阶段看看《j2ee技术实践》很不错,它可以让你了解j2ee包含的各种技术和框架,同时提供很多实际的例子来加深对j2ee的整体了解。

学习java的兴趣和决心起了很关键的作用。在有了上述基础后,我便开始一步一步地学习java。

java环境的搭建

要运行java程序,必须安装jdk。jdk是整个java的核心,其中包括了java编译器、jvm、大量的java工具以及java基础api。

可以从http://java.sun.com下载jdk,有1.4版本和1.31版本。我的学习环境中首先,采用的是1.31版本。

解压安装。然后,进行环境设置。

1.对于windows平台要进行以下设置:
  set path=your_install_dir\bin; c:\windows;c:\windows\command
  set classpath=.;your_install_dir\lib\tools.jar
  2.对于linux平台要编辑/etc/profile文件:
  java_home=your_install_dir/jdk/j2sdk
  classpath=$java_home/lib/tools.jar:$java_home/lib/td.jar:$java_home/jr
  -e/lib/rt.jar:.
  path=$path:$java_home/bin
  export path ps1 userlogname mail hostname histsize histfilesize
  inputrc java_home classpathresin_home

最后,在终端上输入java看能不能找到这个命令,如果能找到安装就成功了。

下面介绍一下jdk的几个重要的命令:

  ◆java执行工具,是启动jvm(虚拟机)并执行class(bytecode)文件的命令;
  ◆javac 编译器,由.java文件生成.class文件;
  ◆jar java压缩打包工具;
  ◆javadoc 文档生成器。

  最后就是jdk documentation,这是jdk的联机帮助文档,是最有用和最重要的学习参考文档,应该多看。


开始写自己的代码

现在环境有了,应该写个简单的代码进行测试了。还是从经典的“hello word”开始。

1. 先用编辑器写一代码(我用的是linux的vi):

  [[email protected] work]$ vihello.java
  public class hello{
  public static voidmain(string []argc){
  system.out.println("helloword!");
  }
  }

2. 编译:

  [[email protected] work]$ javachello.java

3. 执行:

  [[email protected] work]$ javahello
  hello word!

成功了!这就是我的第一个java程序。从那时起我知道已开始走进java的世界,接下来就靠自己的努力了。在这个过程中,笔者认为有几点需要注意。

学习一门新的语言,参考书是离不开的。我的建议是开始最好找一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习java语法等。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。此外,在这一阶段还应该多看jdk的联机帮助,尽量多地掌握jdk提供的java基本类库api。

在有一定基础、能够写一些简单的程序后,可以开始看《thinkingin java》这本书。它比较完整地介绍了java的语法、面向对象的特性、核心类库等。通过这一层次的学习能够加深对java的理解和底层原理的运用,同时又可以完整地了解java的整个体系。在这一阶段,应该重点学习java的面向对象编程语言的特性,比如继承、构造器、抽象类、接口、方法的多态、重载、覆盖、java的异常处理机制等,要对上述概念有非常清楚的了解。这样做的目的,是要让自己把这些技术应用到实践中进行合理的程序设计(比如,你会考虑一个类是用抽象还是接口来设计等)。这就要求必须在大量的实践中去应用和学习。这也是当初很多朋友给我的建议。

学习更多

如果要用java来完成各种功能更强大的任务,那么就要学习语言以外的更多的东西。

1.java web编程

对于java web 编程来说,应该而且必须熟悉和掌握http协议,可以参考 stevens的《tcp/ip 详解》第三卷。java servlet技术提供了生成动态web页面内容的能力,这在你的java项目中是最基本的功能之一,所以必须学习。通过这一阶段的学习应该掌握servlet/jsp的web编程。

2. j2ee的学习

j2ee包含的技术太多了。如果你想坐在桌子旁边抱着一大堆书来学习的话,效果不大的。我建议在开始这一阶段的学习的时候,可以按以下步骤来做,总的思想是“总体把握,各个击破”。

◆ 了解j2ee中的技术术语的含义。

我的感觉是j2ee标准中涉及到的各种技术很多,如果一开始就一个一个去学习的话是不现实的,也是没效果的。我的建议是,先对其中的技术有个大概的了解,比如ejb、javaidl、jta等。可能你不知道怎么去写一个ejb,但是要知道什么是ejb、它能做什么,当有了这样的概念后,再去有目的地学习它就会快很多。我还要再重复一句——必须要在实践中动手去做才行。


◆ 了解j2ee中的设计模式,这样能帮助你对j2ee做个整体把握。

mvc开发模式被证明是有效的处理方法之一。它可以分离数据访问和数据表现。你可以开发一个有伸缩性的、便于扩展的控制器,来维护整个流程。通过这一层次的学习,当你面对一个项目的时候,应该首先把握它的总体架构的设计,以及决定采用j2ee标准中的哪些技术。


◆ 了解一些j2ee平台的典型案列,加深对这一技术的概念和理解。

平时可以多留意这方面,熟悉一些典型案例,分析它为什么要采用那个时间?那样做能达到什么样的目的?然后联系到自己身边的项目是否可以作为参考。


◆ 学习j2ee下的各种技术。

在有了前几阶段的学习后,可以自己搭建一个j2ee平台开始具体学习每一种技术。你可以参与公司相关项目进行学习,也可以自己搭建一个平台进行学习。这时候应该找点相关的书来一步一步学习,没有捷径可走。如果你不满足于这些,那么还应该更深入地学习uml、设计模式等方面的东西。