新手入门之如何掌握Java(J2SE篇)

j2se

  本文是另外一篇文章《如何才算掌握Java(J2SE篇)》(后面简称标准篇)的姊妹篇,提出了标准,但是不告诉新手如何才能达到那个标准似乎说不过去。
  首先需要说的是达到这个标准是比较困难的,没有三年的时间一般是不可能的,没有实际的项目的经验的熏陶也是不可能的,下文会说明为什么。然后给出两个宝典:一个就是TIJ(Thinking in Java),另外一个就是chm格式的JDK的API。 TIJ可以看看(javaresearch.org/download/thread.jsp?thread=21158 )Java编程思想(完整的中文简体第二版),如果英文可以的话强烈要求看英文原版,而chm格式的JDK的API的下载地址可以看看javaresearch.org/forum/thread.jsp?column=61&thread=4921 Cherami站长的推荐。虽然我没有把TIJ看完(我开始用Java做项目的时候TIJ还没有出来),但是我浏览过目录和看过一些章节的内容,感觉作者对Java非常的熟悉,实际经验也非常的丰富,很多内容一看就是经验之谈。

  需要说明的是,我说的看包括内容和领会作者的意思,如果用Java做过一些项目以后你再回头看看TIJ你会发现如果你刚开始就记得并掌握了TIJ所讲的内容后会对的项目有多大的帮助。

  掌握TIJ的内容至少可以达到标准篇中所讲的语法、思想以及规范的标准,对于API的掌握也有很大的助益。之所以需要chm格式的JDK的API是因为JDK的API实在是很大,个人认为不大可能记得那么多,而站长推荐的那个API可以非常方便的根据类名或者方法名查到对应的说明,有时候我们就是大致记得应该用哪个类或者某个方法,但是忘记了具体的细节,这个时候就可以查那个东东了,我现在已经养成先把那个chm打开再开始做事情的习惯了。

  需要提醒的是你不能完全依赖它,有些东西还是需要自己记的,如果你都不知道要用什么你怎么去查呢?你至少要记得一个索引,哪个类或者方法可以完成什么样的功能的索引。接下来就是实际项目的熏陶了。如果你不做applet,你就不会去用appletviewer和HtmlConverter,如果你不打包你就不会用jar,如果你不做类库你可能就不会用javadoc,如果你对系统的运行性能不关心你可能根本不会考虑使用javap,如果你不做独立运行的程序你可能根本就不会注意到我们有时候是多么的讨厌那个多于的dos窗口而用javaw代替java来运行你的程序,如果你没有做过国际化,你怎么可能去使用native2ascii进行转换编码呢,如果你没有做序列化并且升级你的类你是不会知道你为什么需要serialver的。而离开了这些命令或者说工具,你可能不知道java到底都能做哪些内容。这些命令都是基于命令行的,对于习惯的图形界面的新时代来说可能会很不习惯,但是你必须知道在命令行下如何使用他们,因为很可能你真正项目中需要运行的环境就是一个命令行(UNIX/Linux服务器)。

  在开发一个实际的系统的时候,你不可能使用editplus或者notepad或者vi或者emcs写代码,因此你必须有一个你熟悉的IDE工具,这样你才能管理庞大的工程,而这些IDE工具不可能仅仅用来做编辑器,你可能更需要的是使用他们的调试功能追踪疑难杂症(如何设置各种断点,特别是在循环里面设置条件断点),另外就是他们的代码提示功能以及集成的版本控制功能。

  实际项目对API的掌握也是一个莫大的考验,真正的项目的工期都会比较紧凑,因此要完成什么功能需要使用什么那些类以及如何完成都是对你对API掌握情况的真正考验。如果你没有做过需求频繁变更的项目,那你很幸运,但是实际情况往往不是这样。你修改代码以后以为没有问题了,你往往只是测试了你眼前的部分,但是其他的部分怎么办?难道都要我测试一下,天哪!是的,情况往往就是这样的,因为需求变更导致的回归错误可能是我们最大的噩梦!如果你的代码结构良好,那么你可以使用JUnit编写单元测试用例来保证你的修改对各个部分的接口没有造成不良的影响。

  一个符合OO的系统应该也是一个易于测试或者易于编写单元测试用例的系统!如果你没有完整的参与过一个项目,你不会知道拷贝文件、发布版本、打包、生成javadoc、运行测试用例、版本维护、建立里程碑、建立基准版本、增量更新版本是多么痛苦的事情,但是如果你使用Ant编写一个脚本帮你完成这些项目必须而又琐碎的事情,你会觉得其实开发项目有时候也是很轻松的。

  一旦你经历了这些项目的真正的磨难的时候,你看到错误信息的时候就不会手忙脚乱了,你可以很清楚的知道是哪个地方出问题了,可能的原因以及解决方法是什么。没有遇到问题,你就不会学会解决问题,你也就不可能提高!

  最后总结一下:掌握TIJ,你对Java的语法、API、思想和规范会有一个比较好的基础,而通过实际项目的锻炼,你对API会更熟悉、你也会掌握那些基本的命令在命令行下怎么用,怎么选用一个IDE以及最重要的:如何排错、调试程序、测试程序以及使用工具让电脑完成那些琐碎的例行工作。

  以上只是个人的一点看法,希望对于那些迫切的想掌握Java的新手有所启迪和帮助。

时间: 2024-11-18 22:24:25

新手入门之如何掌握Java(J2SE篇)的相关文章

新手入门:Java Swing的基础知识全接触

1.前言: 当我们学习过了java中的基本语法,并且熟悉java的面向对象基础以后,我们就可以开始简单的Swing程序的设计,用过Vb的朋友可能会被它的简单的设计用户界面方法所吸引,只需要拖几个控件到窗体上,为每个空件编写event就可以简单的实现界面设计.但是强大的java也不比vb逊色.同样可以设计出精美的界面. 2.Swing概述: 当java1.0刚刚出现时还没有swing,当时的GUI基本编程库,sun取名叫AWT(Abstract Window Tookit),基本AWT库处理用户界

mac book新手入门-快捷键

mac book新手入门-快捷键 (1)快速启动应用程序 Control+space(空格) 可以启动spotlight search 然后输入你要启动的程序,回车即可启动  类似于IDEA 中的双击Shift     (2)截图 全屏截图:Shift+cmd+3 选择区域截图:Shift+cmd+4   (3)连接远程主机的共享目录 先启动Finder cmd+k     (4)打开本地指定目录 先启动finder Shift+cmd+g   (5)触摸板 三指 往上滑,显示当前打开的程序 类

新手 帮忙 网页-新手入门 请大神告知怎么在网页上设置 能进入后台数据库查询资料

问题描述 新手入门 请大神告知怎么在网页上设置 能进入后台数据库查询资料 以下是公司前辈让我参考已有文档自己做的程序 也不知道对不对 package com.zjxcsoft.ge.user.action; import java.sql.*; import com.opensymphony.xwork.ActionSupport; import java.sql.Connection; public class UserAction extends ActionSupport { public

新手提问大神,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法

问题描述 新手提问大神,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法 有开发经验的大神告诉我,java源代码写好后该怎么用,打包成exe?还是有别的更好的方法,有的提到了脚本之类的 解决方案 点进去看看,试着去用用http://jingyan.baidu.com/article/358570f6727bb7ce4724fc88.html 解决方案二: 点进去看看,试着去用用http://jingyan.baidu.com/article/358570f6727bb7ce472

图像处理-opencv新手入门方法介绍

问题描述 opencv新手入门方法介绍 本人大二,刚刚接触科研方面内容,想入门opencv图像处理技术,但是由于接触的还不多,c++也处于入门级水平,一些opencv里面的算法都不怎么看得懂数学原理,现在不知道是怎么入门,望高人指教 解决方案 你最好还是把C++的基础弄扎实一点,然后推荐一本书,<学习OpenCv中文版>个人觉得还是挺不错的,是C语言写的.然后边看书边在csdn上找一些相关的博客 解决方案二: opencv是一个计算机视觉库,包含很多图像处理和计算机视觉方面的通用算法,所以学习

新手求教:从零开始学java,那本书好点?

问题描述 新手求教:从零开始学java,那本书好点? 解决方案 解决方案二:corejava解决方案三:先找个视频看看解决方案四:买本高教的书吧,权威解决方案五:我是看先看张孝祥,再看尚学堂(看了半截),现在看韩顺平.基础学了一年,还没完.你总不比我笨吧?解决方案六:ThinkinJava看上两遍,基本概念就会了.解决方案七:不是选书的问题任何书都是差不多的还是要自己多动手推荐java核心技术里面讲的都是基础我这里有pdf文件需要的话传给你解决方案八:不知道你有没有其他语言的基础,要是有的话,上

MindManager新手入门教程

MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强大的功能可以快速捕捉.组织和共享思维.想法.资源和项目进程等等.MindManager新手入门教程专为新手用户设计,包含创建思维导图基本入门操作,让用户快速上手. MindManager思维导图主要由中心主题.主题.子主题.附注主题.浮动主题.关系线等模块构成,通过这些导图模块可以快速创建您需要的思维导图,以下步骤教您如何使用MindManager创建思维导图: 第一步 打开MindManager软件,软件

新手求解答一下-asp.net新手入门,的不理解

问题描述 asp.net新手入门,的不理解 不理解在项目列表添加引用和在后台文件的上方通过use指令添加引用的区别.还有就是有什么快速添加引用打方式吗?跪求大神指点 解决方案 using命令是告诉编译器,我这个类里,使用某个命名空间是,不用再写空间的名字了,让编译器帮你去找

事件处理-新手求教大神,java事件监听问题

问题描述 新手求教大神,java事件监听问题 import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JLabel; public class EventModelDemo implements ActionListener{ JLabel tips=new