作为一个长期写企业管理软件开发的从业人员,我越来越觉得在“埋头做事”的同时,需要时常“抬头看路”,总结下Java学习路线。
{0}Hello World
我想大部分的程序员都写过Hello World,但我要说的不仅仅是能在控制台输出Hello World,还包括程序语言的基本功能(变量、分支判断、循环控制、类、接口、对象等)。
通过
Hello World,了解基本的开发环境搭建、代码编写、编译、运行、Debug;了解开发工具的基本使用,代码视图、资源视图、调试视图等。
{1}基础
这里说的基础不是一个大而全的东西,也就是最基本、最常用的内容。
(1)面向对象(OOP)
(2)lang(String、封装类)、Collections、concurrent、io
{2}技能
学习技术的目的是为了解决实际问题,在掌握基础的同时学习一些技能,通常可让我们更好、更快的解决问题。说技能太泛了,到底我们该学哪些内容?
(1)Spring:IoC、DI、AOP
(2)View:Velocity、Freemarker、Html、CSS、JavaScript
(3)Web Framework: Struts、SpringMVC、JSF
(4)NoSQL:Redis(偏向缓存应用)、MongoDB、HBase
(5)SQL:MySql、Oracle
(6)Data Access:MyBatis、Hibernate、Spring Data
{3}延伸
(1)JVM:从JVM层面分析对象的内存使用、线程的调度运行和延时情况。
(2)网络I/O模型
> - BIO --》Socket Stream
> - NIO --》Netty,Mina
> - AIO --》JDK7 NIO2
(3)NIO相关的衍生技术
> 1. NIO(Java New IO) 与传统IO的区别
> 2. NIO框架:Netty、mina
> 3. 分布式服务框架:[Dubbo][1]、[Zookeeper][2]
{4}指引
也许我们把上面的都学完了,但是还是做不出一个像样的系统,是因为上面的内容仅仅是内容,如何学并学的快是我们所希望的。推荐两个BLOG,也许会给我们一些启发。