Java 开发技术演变的个人心得
最近对所学知识点进行了重新的回顾与思考对整个JAVA的开发流程及知识点有一个更新的认识和总结,在此记录下来,以供后期回顾学习及进一步的思考和总结。
JAVA开发主要分为前端页面、后台执行及数据库存储三大块。
最原始的前端是纯静态的页面,每个页面的数据都是提前定义好的,访问过程中不会有任何改变,和其他地方不存在任何交互。技术主要是 HTML CSS javaScript。前端的”动”就是从一个页面跳到另一个页面。能做的事只是简单的页面信息浏览。
后来出现了java Servlet技术可以存在一些逻辑操作生成数据,此技术也能生成浏览器显示的页面,现在就相对存在某种形式的交互。但用java Servlet绘制页面太复杂也不好操作,就出现了JSP技术,即将用java代码编写的脚本语言嵌套到html页面中,生成jsp文件,这样html绘制页面是强项,java代码编写的脚本语言可以做一些逻辑处理(jsp文件会被jsp引擎进过一些列操作转换成java类的Servlet,就和最开始执行Servlet是一样的了。脚本语言能够进行逻辑处理获取数据填入html中生成新的页面)。这样前端就变成html css javaScript jsp 了,原来的html格式的文件变成jsp格式的文件。
后来又发现将逻辑代码嵌入到html 文件中,文件看起来太乱了,还不好维护。就出现一种设计模式---视图和逻辑分开,jsp里只负责绘制页面和显示数据,逻辑部分都放到Servlet里面。到这里页面所有操作和处理的数据都是存在变量中的,在页面之间传递。
Java JDBC技术的出现带来了数据的存储,随着发展的需要,数据是要求被存储在本地的,后续需要做一些查询、修改等等的动态操作的,储存的介质就是数据库了,最开始出现的是关系型数据库,像oracle mysql sql servle,由于数据量的增大及对数据操作性能的要求越来越高,就出现了非关系型数据库,像redis mogoDB。
这里主要总结的JAVA开发技术,后台执行用的就是java语言了。到这里后台的逻辑和数据库操作还都写在了Servlet里面,为了程序更好维护、代码更清晰,就出现了一种新的开发模式---大名鼎鼎的MVC开发模式,jsp负责V(视图层),Servlet负责C(控制层),和数据库交互的M (数据层)也单独分出来(model、dao、service)。这就是开发的完整雏形。
后来有人觉得程序用jdbc 操作数据有点复杂,数据持久层就出现了一些封装好的、操作更方便的技术(框架)像 Hibernate、Mybatis。控制层出现了Struts1、Struts2、springmvc等框架。为了更好的对程序接耦合、更好管理每个类就出现了容器框架Spring---IOC和AOP是它的核心。
nodejs的出现使得前后端测底的分离,开发技术又跨越了一大步。
前端javaScript也出现了很多框架,像jQuery、Anglajs、vue.js。
现在springbot springclod springdate成了新的主流技术,AI(人工智能)像暴风雨一样席卷蔓延。
当然中间还有很多很多的技术,像多线程开发、分布式等等,由于才疏学浅知识面有限,目前还总结不了,只待后续。
个人的一点总结,若发现问题之处,欢迎指正,感激不尽。