构建自己的知识网络体系之高级篇
序言
上周扯了一下关于基础知识篇的理解与概括,本周继续下面的知识网络梳理。我们都知道一项基本的技能从基础入门到能够通过该技能用于实战,并能创造出有用价值的东西,必定有个质变的过程,需要不断思考总结,反复练习,反复揣摩,反复实战。久而久之才能能达到轻车熟路,固化自己的知识内容体系。本篇主要以对 Java高级-Web篇 和 Java系列-Spring系列篇 以自我知识构建为例,当然每项技能都有不同之处,但体系原理却都大致雷同。
个例
基础知识的完备后,通过进阶的实战学习和容错经验,能更好地让自己有明显的质变过程,对于Java开发而言,无论作为全栈还是纯后端开发,前后端的实战经验必不可少的,一些维护的老项目不一定都是前后端分离,然后不想只做一颗独专的螺丝钉,而是一颗万能的螺丝钉,就必须学会基本的进阶的技术开发流程,来巩固自己的开发思维以及不断优化自我的开发模式。
Java技术知识网络
Java-web的实战是在目前流行开发的潮流下应运而生的基本 B/C架构 开发模式的基础,早期的 C#/.NET 为基础语言的开发模式早已经不在畅行(基于windows桌面程序客户端还是必不可少的)。而对于Java相关的高级架构而言,以Spring为核心的基础框架,则更为便捷,拥有丰富开源生态的Java-web是我们开发的必选架构基础,提供了诸如后端的Spring、Mybatis、JPA以及Hibernate等优秀架构和前端的Vue、React以及AngularJS三足鼎立的SPA(Single page web application,单页面应用)的优秀前端框架,构成了整套应用开发的”前备“技术栈。
Java高级-Web篇
对于Java高级-Web篇是进阶入门知识大技能掌握点,包括Servlet的原理、Tomcat的基本部署流程以及底层组件原理,两大知识点构成了早期web单体应用的开发部署的基本配套,前端技术必不可少的基础js语言以及常用的Jquery、Bootstrap、Vue等基础框架,来完成包括老模式下的Springmvc开发和前后端分离独立开发。
Servlet
对于Java中Servlet而言,是web开发的必经之路,运行与web服务器的底层基础配套,通过引用javax.servlet 和 javax.servlet.http下的包来构建Java企业标准的业务开发流程,包括完成web前期最原始的Http基础业务请求体系,都是通过开发Servlet来实现的,一些比较老的项目中都会涉及到Servlet的编写,不过如今开发人员只需要关注Controller层的API编写即可,不必过多在意Servlet的基础生命周期中出现的各种多线程导致的并发问题,这就是目前优秀框架带来的便捷之处,不过最基础的原理还是需要了解,毕竟底层都是基于Servlet改造的,知其本质才尤为重要。
Tomcat
作为Java-web应用开发中最优秀的web容器之一,Tomcat必定会伴随着整个应用开发的全部流程。从基础的Request和Response来了解整个网络请求处理的一系列流程,对于开发而言,内部处理流程如果不了解器组件构件,只会是一个黑盒开发,了解整个容器的组件构成以及工作原理和处理流程,对基本的线上问题的Tomcat的性能参数调优更加清晰明确的理解。而对于目前流行的开发框架Springboot而言,将最基础的Tomcat核心组件作为独立部署应用中一个基本套件嵌套容器,以此来更加简化一款开箱即用的应用程序的开发部署流程,对于问题定位和原理深入理解而言确实是值得花时间了解的知识领域。
前端技术
作为曾经全栈的开发者而言,前端技术日益更新迭代,感觉就是学不完新技术,搞不完的新框架,优化不完的多端适配调优(H5端适配不同手机端、Android端以及IOS端都是令人头疼的事)。目前市面涌现出大量一站式开发框架,解决前端小白开发者的入门门槛难度问题,但是基本的弱语言Javascript的基础语法是要必备掌握的,在一些老项目中一定会遇到一些基础的Jquery开发,包括一些CSS样式调整以及基础的Html的页面开发。后面前后端分离之后,前后端工程师更加专注于自己的领域开发,常用的基于vue衍生出来的周边开源框架element-ui和iview、基于React衍生的Antd-design和Material-ui以及一站式开发框架uniapp。在开发环境的搭建中使用的常见依赖包管理工具npm以及yran也是必不可少的。
开源web框架
对于开源web框架而言是实战中最好练手的途径,国内有“码云”,国外有“GitHub”,优秀的开源框架应有尽有,选择性地吃透几个评分比较高的开源架构,对于基本业务开发肯定就不在话下了。
Java框架-Spring系列篇-预告
前面也说到,基于Java-web衍生出来的框架层出不穷,优秀框架也日益更新迭代,如何选择一款好的开源框架作为自己的项目业务架构的基础,确实是一件值得考究的学问,这也正是我们普通程序员与架构师的差距所在。以Spring为基层的架构生态,无疑是每个开发者都青睐的技术选型方向。包括其良好活跃的开源社区以及周边围绕着基于早期单体应用到后期业务转型的微服务架构体系,都能完美的驾驭以及满足日益更新的业务需求。未完,待续~~~
End
来源:码农进化史;