我们知道Java有三个方向,JavaSE,JavaME,JavaEE(老程序员可能会叫J2EE等,不过SUN已经改名了)。JavaME主要是嵌入式与游戏开发。那我们先看JavaSE,因为只有学好了JavaSE才可以学JavaEE,所以说JavaSE是JavaEE的根基。
Java的历史当然得了解,但除去与别人讨论卖弄工作基本用不到,您可以暂时放放,那天累了调剂学习。那能知道他的历史呢?google,baidu搜吧!以后要养成个意识,凡是不了解想明白的东西就上google,baidu,不仅仅限于编程知识。
下面我们详细看JavaSE学习路线:
1.Java跨平台原理,JDK的部署与HelloWorld。您得知道Java跨平台原理,知道怎么配置环境变量以及编写一个HelloWorld程序。
2.程序的基本语法,比如什么是常量变量流程控制循环等任何一门编程语言都必备的知识,再学习下冒泡啊递归啊等算法,然后给数组排个序,打印个或实心或空心三角形等这些玩意。如果您学过C,C++这会非常轻松。
3.学习Java的OOP,这是重点也是难点。你们要想听一遍课就熟练应用这些知识基本是不可能的。一个优秀的老师能把这些给你讲清楚就已经非常了不起了,同样一个优秀的学生能把这些概念背下来在看到类似的代码知道原因也非常了不起。至于创造,建议先别要求那么高。先把OOP众多概念背下来,以后JavaEE的学习中,在项目代码中再体会理解。所以这部分重点是理解加背概念。
学习类和对象的知识,知道什么是类与对象以及在java中如何创建类与对象。
包的知识
java中数据类型的分类(值类型,引用类型)声明对象与创建对象Java中方法参数的两种传递方式。构造方法继承以及继承的特点(this与super关键字)封装,包括访问修饰符抽象类,接口多态(方法重载与方法重写),知道抽象类接口都是为多态服务static与final关键字用以上的知识做一个面向对象的某某管理系统
4.异常包括分类以及五个关键字try catch finally throw throws
5.集合框架
6.到这如果想做个有成就感的程序可以直接学习JDBC,当然这需要您数据库的知识的支持(比如能建库建表,会增删改查的sql语句),然后可以做个控制台版本的某某管理软件。当然您这个系统一定要使用vo类,要使用DAO模式,最好能加上接口编写两个DAO实现,Statement与PreparedStatement各一个,在此基础上更深刻的理解OOP编程。
7.设计模式的知识这时您也可以学习一些,了解工厂,单态这两种设计模式,然后使用它重构您上面做好的管理系统。
(到这里,如果您急的找工作就业,也算小有所成,可以做个合格的小师弟了,然后向大师兄努力,学习JavaWeb;如果您不急着就业,可以把基本功练的更扎实些,可以接着学习下面三部分的知识)
8.多线程编程
9.网络编程
10.Java中的I/O操作
(以上三部分知识有个共同的特点是相对于前面七点在工作项目代码中使用很少,但理论还是相当重要,比如作为程序员您总得知道进程线程的区别联系吧,而且好多工具的底层就用到这些知识,比如JavaWeb部分我们使用的WebServer一定是个多线程的容器,它要与客户端通信一定需要网络编程,要处理用户的请求数据给客户端相应数据一定需要流来读写,所以这部分知识必须学,只不过您可以先暂时放放以后再学)
11.AWT-SWING/SWT:
有会问java是不是不能进行C/S结构程序开发,当然可以了。Java开发C/S 结构程序可以使用两个技术,一个是AWT/SWING,这个是SUN搞出来的,比如Java以前非常火的一个IDE工具JBuilder就是用它开发的;还有一个是SWT,这个最早是由IBM发明的,用的语言还是JAVA,但API已经与SWING不同了,比如现在非常好用的Eclipse就是用它开发的。 我做开发十多年的时间,如果大家对于学习java的学习方法,学习路线以及你不知道自己应该是自学还是培训的疑问,都可以随时来问我,大家可以加我的java交流学习qun: 六一五,七四一,六三六。qun内有学习教程以及开发工具。
用java开发C/S程序相对于winform除了能夸平台并没有什么优势可言,比如复杂的技术,比如没有很好的开发工具支持快速开发(jb还可以eclipse生成的代码太乱了),比如运行超多内存的占用,所以现在使用Java开发C/S程序的少之有少,企业的招聘岗位少之有少,那就不讲不学了吧!但您搞软件开发总得写过些C/S程序吧,总得知道C/S下如何做权限,如何共享数据这些基本知识吧,而且AWT/SWING中用到了很多优秀OO设计思想,更高兴的是学习完这可以把我们前面做的控制台版本的管理系统挂上形成一个可给用户交互使用的系统,所以您有时间,学吧,急着找工作,就别学了(如果找工作顺利,那以后估计永远也不会学了。)。
12.Java的新特性
以前喜欢说JDK1.5的新特性,现在Java7也出来了,也不算啥新特性,这部分知识包括:static import,泛型,注解,可变参数等,比如泛型应该在讲解集合框架中说明,这部分也应该学习,但注解建议了解。
13.反射
反射的知识也属于JavaSE的内容,也建议暂时不要学习,等到高级阶段,自己有一些代码经验积累后再详细学习,反射的代码虽然工作项目代码使用较少,但很多框架或者你搞底层开发也一定是用得到的。
总结:以上的学习路线虽然写了13条,但如果您想速成的话先学习前面七条就可以了,或者从另外一个角度说,掌握了前面七条暂时可以像更高的阶段JavaWeb进发了!