转眼已经在黑马学习了4个月了,总的来说内容很全很广,需要反复的研究消化以及练习才能真正变成自己的,这里的老师技术很好,有讲扩展,有讲工作当中需要注意的问题,对之后找工作很有帮助,接下我简单讲下java学习路线
学习Java的第一步是安装好JDK,写一个Hello World,J 其实JDK的学习没有那么简单,关于JDK有两个问题是很轻易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。
学习Java的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注重的是有几个不轻易搞清楚的要害字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。
熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个,我没有统计过。但是真正对于我们来说最核心的只有4个,分别是java.lang,java.io,java.util,;java.sql。
这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而O'reilly也确实是这样做的。我觉得假如时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:
首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。
对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能具体的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。编码的时候,具体的方法调用,是边写代码,边查document.tion,所有的东西都在document.tion里面,不要求你一定记住,实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。
Web编程的核心是HTTP协议,HTTP协议和Java无关,假如不熟悉HTTP协议的话,虽然也可以学好Servlet/jsp编程,但是达不到举一反三,一通百通的境界。所以HTTP协议的学习是必备的。假如熟悉了HTTP协议的话,又有了Java编程的良好的基础,学习Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了。
在Servlet/JSP的学习中,重头仍然是Servlet document.tion。Servlet API最常用的类很少,花比较少的时间就可以把握了。把这些类都看一遍,多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP,还需要熟悉几个常用JSP的标记,具体的写法记不住的话,临时查就是了。
此外Java Web编程学习的重点要放在Web Application的设计模式上,如何进行业务逻辑的分析,并且进行合理的设计,按照MVC设计模式的要求,运用Servlet和JSP分别完成不同的逻辑层,把握如何在Servlet和JSP之间进行流程的控制和数据的共享,以及Web Application应该如何配置和部署。
最后是ssm框架Spring+Spring-MVC+Mybatis,轻量级开源框架对代码进行高度封装,目前刚学完,主要就是配置环境,目前阶段只要会用,知道配置主要是干嘛的,进行公司这些环境基本都是配置好的,等有点经验,遇到瓶颈的时候,那就需要来研究这些框架的原理和底层实现。
大概就这些,主要还是要多练,多敲代码,看懂真没用,这是我最真实的感受。 |
|