如何从零开始学习java web开发?
时间:2023-12-04 17:12:01 | 来源:网站运营
时间:2023-12-04 17:12:01 来源:网站运营
如何从零开始学习java web开发?:你已经有一些安卓的背景了,基本上就不算是从零开始了,大概是从1开始,这样不用去了解JAVA基础语法。
首先已经有无数人问我看哪些书了,我一直回答,我不太看书,因为书更新不快,而经典的东西,我已经很久不看了,但是还是贴给你一个书单,这是广为赞同的书单。如果是只能买几本书的话,那么应该看这基本,而且我建议你看原文,不建议看翻译稿,同时又锻炼了英文何乐而不为。
- Head First Java, 2nd Edition.
- Thinking in Java (4th Edition)
- Think Java.
- Introduction to Java by Sedgewick.
- Java in a Nutshell.
- Core Java Volume I--Fundamentals (9th Edition) (Core Series): Cay S. Horstmann.
- Java How To Program (late objects) by Paul Deitel, Harvey Deitel.
入门的网站你可以看看这个journaldev,很系统化,分类做得比较好,提供了很多入门级别的教程还有免费的PDF可以下载。
好,你要的路线基本上是这样的:
JAVA WEB,首先你要明白,不是做网站的,不是所有用浏览器的东西都是网站,有很多商用的系统也是broswer based,但是他们是系统,不是网站,现在网站和系统的分区越来越模糊,但是你要有这个概念,所以JAVA WEB,多数情况下你不是去做网站的,做的是系统,做系统,自然有领域知识需要处理。这一块你需要去了解。
纯技术方面,入门的人以这几个方面入门:
HTTP请求处理,这个基础是纯servlet开始,你先尝试使用纯JSP+servlet来接收请求,返回前台,这个能让你了解前后台的处理。等你脑子里面全流程比较清楚了,能知道什么时候数据在什么地方了,下游是谁的时候,你转去应用框架(这个接下来再讲)
前台展现处理,这个就是所谓的前端,前端最基础的就是JS+CSS控制展示,你无须花费太多时间在这个上面,自然有大量廉价的前端人员负责处理,你要了解的只是HTML展示数据的方法,这样可以让你清晰的知道需要如何从后台返回数据,不过很多人入行的时候,可能是从做页面开始的,加强一下这一点对就业有好处
数据持久层处理,任何数据最后都是要持久化的,进数据库,进文本,进随便什么东西,你可以挑选最简单最主流的,也就是关系型数据库来入门,这是比较容易的,这里你会涉及到数据库。数据库是一个和JAVA无关的部分,有特别强化数据库技能的人,数据库的不同种类和不同语言一样也有很多不同,MSSQL,oracle,DB2,现在流行的noSQL等等,你入手可以从mysql开始,这个比较容易,你现在的目标只是T-SQL的增删改查而已,以后你可能会需要学设计,所以了解下范式也是不错的概念。
容器,也就是服务器,JAVA容器很多种,各自配置都不一样,当然有各种不同功能的分别,你要从Tomcat开始,这个最容易,了解一下哪些是静态内容,哪些是动态内容,如何部署。
开发工具,你可能会用eclipse,他现在集成了相当多的功能
其他的方面,你可能会要补强两点,一个是spring boot这个能节省你很多开发调试的时间,一个是docker技术,这个技术能减少你部署的时间,当然这两个不是必须的,只是nice2have
看上去字数多,我觉得你认认真真看,静下心来看,大约100个有效小时左右就可以完全掌握这些事情,换算成calendar时间大约是1到2个月以内。
再接下去,你要开始了解使用框架,目前来说,JAVA web你可以只懂spring,spring集团已经能把几乎所有的事情完成了。这里要做一个科普,我反复说了,spring不是一个东西,很多人脑子里提到spring,即是spring core而已,其实spring基本上可以支撑整个JAVAEE世界
这些基本上全掌握是不可能的,你只要了解什么功能要用到哪个,到时候再来看文档就好了。
到这里,基本上你开发编码没问题了,所有JAVA coding的部分你已经自如了。
接下来
JAVAEE的世界,要开始真正展露他狰狞的面容了:
打包编译,你要了解MAVEN,GITHUB,JENKINS
数据库调优,你要了解oracle AWR report(别提MSSQL 的trace log,谁提我X死谁)
infra,你要了解无限多种集群技术和转发代理技术
JAVAEE世界最复杂的东西,全部不是JAVA相关的,桀桀桀桀桀桀桀。
再这之上,你基本上已经算是架构师入门了,之后你就能看到更恐怖的地狱了:
按需设计系统群
以及无限多个系统之间的集成
祝你在JAVA的世界里玩的高兴,cheers!