文档章节

Java学习路线

大侠柳云枫
 大侠柳云枫
发布于 2014/04/18 10:04
字数 1934
阅读 280
收藏 25

1 Java学习路线&怎么学习Java

1        概述

学过一段时间的同学一定会觉得Java学习最头疼的不是语法结构的繁杂,而是Java本身体系结构的庞大。以至于自己不知道接下去该学什么,或者什么样的知识才会对后续的学习有帮助。本节内容将让大家对Java学习的路线有个宏观的把握。在与市场接轨的前提下,我们会推荐给各位同学相关学习的方向和技术,以及学习到何种程度才能适应基本的工作。

好多同学可能会有如下的疑问:

l  我已经学完JDBC了,那样参加工作够用了吗?

l  Java SE学到什么样的程度算是OK了呢?

l  东西好多啊,我改怎么学啊?我想做项目,不想学原理!

l  我把SSH都学完了,这样出去能找到工作吗?

l  我把SSH都学完了,那接下去我该学什么呢?

l  Android我到底要不要学呢?我看好多人都在学啊!

……

下面的内容将会带你理清这些甚至更多疑问。

 

1.1  Java学习总体方向

对于刚学习Java的同学,应该了解下面这张图1-1,了解Java学习的大致结构。当然你能在Oracle Java的主页上看到还有如Java FXJava DB这样的技术。但是既然要和市场接轨,必然要有所取舍。

对于图1-1Java SE是我们Java入门的开端,这块内容也就是大家所熟悉的坦克大战、聊天软件、五子棋这些桌面级项目所组成的。学完了Java SE部分,接下来就该选择方向了。

图上标注的很明显,但这里有亮点需要提出:

1)        往分布式方向并不是一定要经过Java EE阶段,但是,学习Java EE对后续分布式的开发有莫大的好处。

2)        Java ME虽然还在Oracle官网上屹立,但就市场来看,它的地位已经明显不如android高了。所以从目前来看,没有必要学习Java ME

1-1 Java学习总体方向

 

1.2  Java SE中应该关注的内容

在这一节中,将列出Java SE的学习中应该关注的方面,以及这些方面里主要涉及哪些核心内容。大家可以根据自己的学习情况,对照这些条目,看看有没有缺漏的内容。在之前提到过如坦克大战这样的项目,这些确实能很好的涵盖了大部分Java SE的内容,所以必要的项目是很关键的。

1-2 Java SE组织结构

如图1-2所示, Java SE大致可分为以下几块内容:

n  对象导论:如何用面向对象的思路来开发

n  深入JVMJava运行机制以及JVM原理

n  面向对象的特征:封装、继承、抽象、多态

n  数组和容器:容器的线程安全问题

n  I/ONIONIO工作原理和应用

n  并发编程:concurrent

n  网络编程:TCP/IP+BIO/NIO UDP/IP+BIO/NIO

n  JDBC框架和反射:JNDI、连接池、annotation

n  其他:正则表达式、字符串等

在这里我还想多提一点,关于Java SE学到什么深度才合适。其实对于后续学习Java EE或者是Android来说,Java SE你只要学会皮毛就足够应付了,当然这里的皮毛是要求你熟练Java语法结构和基本CRUD操作。

可是这样真的又够了么?好多工作了一两年的程序员肯定又会慢慢怀疑自己的基础是否足够扎实,于是他们又拿出了《Thinking In Java》重新通读一遍。基础的重要性毋庸置疑,越到后面你越会觉得框架什么的对你的提升帮助很小。而真正有用的还是对Java的深入理解。所以如果你正在担心你的Java基础够不够,层次到没到应该有的深度,那你应该先庆幸下,至少你还想着如何提高自己的水平。

在这一阶段,你应该看看专门针对每一章节讲解的书,比如:《Java Concurrency in Practice》、《Java NIO》、《深入Java虚拟机》等。资料很多,但是需要你细细的去琢磨。

 

1.3  Java EE中该学点什么

Java EE很杂,但是也很容易学,因为你做几个网站大概就能把所有知识点串联起来。所以Java EE方向说好听点儿的叫企业级应用开发,说难听点儿的其实就是做网站。当然并不局限于做网站。

对于Java EE方向的学习,重点在于能够熟练的运用各种框架,以及掌握各种框架构成的核心思想。至于学什么框架,用什么应用服务器,在学习的时候可以采用容易配置的,所有的同类服务都是类似的,精通了一个,相似的学习就很快了。

1-3 Java EE方向学习内容

下面来具体的看各个模块应该学点儿什么:

n  序列化:XMLJSONJava之间的序列化和反序列化

n  ORM:推荐学习Hibernate

n  JSP/Servlet:可以顺带着把JS学习了

n  SpringIOCAOPSpring MVC

n  MVC:推荐学习Struts

n  Web ServiceJDK自带web serviceCXF等框架

n  SOA:了解ESBMQ等企业级应用架构。

n  EJB:主要了解思路。可顺带着学习JBOSS

n  其他:会使用JMS。了解JTA

还是一点,Java EE方向的学习主要是会熟练运用即可。大点儿的企业都会有自己的框架,技术含量大同小异。会用即可。当然到了这个阶段设计模式的学习也必不可少,设计模式可以穿插于各个框架中进行学习。

 

1.4  关于Java EE之后应该学点儿什么

对于大多数企业来说,如果你能掌握上面提到的相关技术,并且熟悉SQLLinux,那找个Java相关工作应该是没有问题的了。如果你想更深入的去应用上面所学的知识,分布式、搜索引擎、大数据处理等互联网热门技术都是你扩宽技能的方向。

开源的Lucene是搜索引擎技术最好的入门,简单易学,而且很多企业对搜索引擎的需求越来越大。

诸如MINAKafka这样的开源框架,是你步入分布式方向很好的基石。

如果你能了解HBaseMongo这样的非关系型数据库,那就更有利于你思考大数据的问题。

技术是学不完的,而且更新的速度一定比你学习的速度还要快。所以了解市场需求,了解技术的核心理念尤为重要。至于这一阶段可以看什么书,有如下推荐:《分布式Java应用 基础与实践》、《Hadoop权威指南》等。

 

1.5  你还需要了解点什么

学无止境,要想在计算机里走的顺利点儿,你真的需要不断的学习。

当然有几点我认为在计算机学习中相当重要:

1)        学好英语:最好的资料往往都是英文的文档。

2)        学好专业基础课:数据结构、操作系统、网络这些核心课程都是后续提高的基石。

3)        多关心技术发展。

 

本文转载自:http://my.oschina.net/ielts0909/blog/72686

大侠柳云枫

大侠柳云枫

粉丝 10
博文 58
码字总数 2831
作品 0
长沙
程序员
私信 提问
加载中

评论(2)

whatwhowhy
whatwhowhy
我也觉得说的很好,值的推广。
PacoXie
PacoXie
好文,顶79
干货系列1:Java互联网网站开发工程师 的技术提高与晋升路线(技术专精)

前几天写了自己对于Java软件开发工程师职业发展规划方面的一些感悟,陆续收到一些反馈,希望我能再就Java工程师不同的开发(职责)方向谈谈职业发展问题。(上一篇:Java软件开发工程师的自我...

半饱即好
2018/06/26
0
0
好程序员告诉你Java架构师学习路线

好程序员告诉你Java架构师学习路线,从初级Java工程师成长为Java架构师,你需要走很长的路,很多有计划的人在学习之初就在做准备。你知道Java架构师学习路线该怎么走吗?成为一个优秀的Java架...

好程序员IT
06/19
0
0
如果你想学习Java,那么就来看这篇文章

一、前言 我是从大二开始学习的Java,当时的目标是Java Web开发,当时并不想考研,所以当时的学习是以就业为主,现在我大三了,学习Java Web开发已经一年了,因为种种原因,决定要考研,所以...

Jivanmoon
2018/08/27
0
0
论java语言的未来10年,及大数据方面

各位大神: 讨论一下java语言示来10年的发展,以及java web,android的走势? 马上就要进入大数据时代了,各语言对大数据的支持的,和学习的方面? 我现在是做java的,有意转大数据方向,担心未来jav...

jers
2015/10/28
3.1K
15
几种主流编程语言的优点和缺点比较,不服来怼

在初级程序员阶段,每个人都不可避免遇到选择编程语言和职业方向的难题。我挑选了几个常见的编程语言,分析了优缺点和职业方向,以供想当程序员的人参考。 C/C++ 一句话概括:大多数中国程序...

达尔文
2017/07/22
2.9K
68

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 带这么多钱,你要泡我吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :白给?#今日歌曲推荐# 分享Lana Del Rey的单曲《Yayo》: 《Yayo》- Lana Del Rey 手机党少年们想听歌,请使劲儿戳(这里) @红薯...

小小编辑
26分钟前
85
5
搭建tftp服务

前言: 最近整理一些以前的学习笔记。 过去都是存储在本地,此次传到网络留待备用。 TFTP服务: TFTP:Trivial File Transfer Protocol 不重要文件传输协议 主要用来传送小文件,不支持认证和...

迷失De挣扎
今天
4
0
rest 的理解

rest:表现层状态转移。 什么是restful协议?https://en.wikipedia.org/wiki/Representational_state_transfer 使用restful的好处。 Rest是一种体系结构样式,他定义了一组用于创建web服务的...

xiaoxiao_go
今天
5
0
聊聊spring cloud的CachingSpringLoadBalancerFactory

序 本文主要研究一下spring cloud的CachingSpringLoadBalancerFactory CachingSpringLoadBalancerFactory spring-cloud-openfeign-core-2.2.0.M1-sources.jar!/org/springframework/cloud/o......

go4it
昨天
8
0
一篇文章搞定——JDK8中新增的StampedLock

一、StampedLock类简介 StampedLock类,在JDK1.8时引入,是对读写锁ReentrantReadWriteLock的增强,该类提供了一些功能,优化了读锁、写锁的访问,同时使读写锁之间可以互相转换,更细粒度控...

须臾之余
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部