标签:
声明:这个问题困扰了我好久,今天在知乎找到了答案。知乎链接https://www.zhihu.com/question/24240982,感谢大神@Tony He的回答。
在补充Java学习路线问题之前先声明,参与最后一个Java项目距今已经8年了,此后一直沉迷在C#的温柔乡里,因此如果有对Java叙述不准确的地方,或者有偏见,请大神们随意批评、指教。
Java这货,以跨平台为核心卖点(有人说这是个笑话),基本上可以认定迄今为止,Java是除了C和C++之外运行环境最丰富的语言之一,这一点上C#还确实是差点。
Java的生态圈比较完整,从客户端(桌面和移动端),到服务器,到中间件,都可以用Java开发。
1. 客户端方面
在客户端,Java可以用来开发桌面应用和移动应用(比如安卓), 早年非安卓的智能机也可以运行Java程序。
2. 服务器应用
服务端是Java的长项,Java可以运行在Windows, Unix like服务器上,这一点C#望尘莫及,虽说C#也可以在Linux环境下运行,但毕竟还没有形成主流。C#的程序还是在Windows下运行最放心。
Java的学习路径
第一个阶段,作为初学者,通常刚开始接触Java都是学习"J2SE", 主要包括的内容包括:
1. Java开发环境的设置
2. Java程序的编译和运行方法
3. Java的基本概念(类、数据类型、变量、常量、表达式、函数、循环、分支、常用的类库......)
4. 编写控制台程序或者GUI程序(比如swing... )
基本上,在这个阶段的学习都不会太有困难,因为涉及到的问题都被局限在Java中,界面也很简单,不难学。
但是从Java EE(又称J2EE)开始,长得一点都不像的各路妖怪几乎同时出现,JSP/Servlet, Javabeans, EJB, RMI, WebService,数据库,JDBC,甚至HTML/CSS, 问题是,你根本不知道他们有啥关系,好忧伤啊!
所以,我一点都不建议你一开始就一头扎进这些具体的技术里,会被淹死的。
学JavaEE, 也可以从实际出发,先给自己设定一个项目目标,基于这个项目目标去达成自己的学习目标。
以你目前的状况,我建议你试着用从一个留言板做起,从用户注册、发表留言、留言显示开始,你至少可以了解:
1. HTML与CSS如何实现界面
2. 如何用JavaScript实现客户端交互,比如检查用户输入的信息是否有效(其实这货跟Java一毛钱关系都没有)
3. 如何用JSP处理客户端请求
4. 如何设计数据库以存储留言板信息
5. 如何在JSP中访问数据库
6. 如何查询数据库,并形成HTML页面发送到客户端。
上面阶段完成后,还可以试着克隆一个新浪微博,将重点放在客户端交互上,如何使页面更美观、界面更友好(用户体验)、后台处理更快,这时你将不得不去深入学习JavaScript, Jquery这些,后台编码的能力也会得到进一步的提高。
等你都能克隆一个新浪微博出来了,有一定的技术和经验积累,再去深入学习一些更深入的东西,比如EJB, WebService等等......
如果还有多余的时间,给你的微博做个安卓客户端,技术面就宽广了。
你要是把这些都做了还找不到工作,天理何在啊。
先就到这里吧,不清楚的在评论里继续提问,也欢迎各路大神前来拍砖。
PS:转来知乎的这篇回答,是为了解决自己的困惑,也希望看到这篇文章的人可以明确自己的学习方向。
标签:
原文地址:http://www.cnblogs.com/hk-ming/p/5865778.html