一、前言
又快到了1024,现代人都喜欢以日期的特殊含义来纪念属于自己的节日。虽然有点牵强,但是做件事情,中国人总喜欢找个节日来纪念,程序员也是一样。甚至连1111被定义成光棍节,这也算再无聊不过了。不过作为程序员,一年中找到属于自己的一个节日,做做总结也不错。Java从1995年诞生以来,已经走过了28个年头。博主就根据自己的经验总结一下java 10年来的技术架构演进。这些都是属于主观记忆,没有经过查证的,若有错误,请直接忽略。
二、java 10年技术演进
jdk1.5,10年前使用的应该是jdk1.5,记得那时候学习java课,首先学习怎么安装jdk和查看jdk是否安装成功。以前安装jdk的方法,现在依然 有效,以jdk1.8作为演示
1、此电脑-右键-属性-系统-关于
2、环境变量-系统变量配置-新建-变量名:JAVA_HOME 变量值:C:\Program Files\java\jre1.8.0_92
3、(path本身电脑上自带,只需把这两个添加上)配置path:新增或编辑加上:%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
4、环境变量-系统变量配置-新建-变量名:CLASSPATH 变量值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
‘%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar’(安装jdk是为了用jmeter,由于我的电脑java变量值不能使用,直接配置了jmeter的变量,jmeter可正常使用)
5、查看配置的jdk可不可以使用。cmd打开命令提示符输入:java -version。如图所示为jdk配置成功。本人配置完后需要重启电脑,才有如图提示,未重启时不是这个提示
jdk1.5的时代,那时候还没有什么前后端分离的开发模式,java开发的注解也很有,那时候经常写的后端代码是servlet
servlet:
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
10年前能够通过servlet编写网站,算是技术不错的了,前后端都是java程序员在编写。
后面有了JSP技术,页面和后端的偶尔就主键分开。
那时候使用的比较多的java web架构是 java+Tomcat+mysql+JSP技术。连现在使用的什么缓存,消息队列这种东西都很少使用。 那时候如果说会个什么redis rabbitMQ什么的,算是技术大牛。
在JSP时代,前后端还是java程序员在编写。
那时候就是填各种表单,调css样式,写javascript脚本。那时候比较流行的有一个ajax的,异步请求,局部刷新。 一般面试都会问会不会使用这个。
再过了几年,随着网站越来越复杂,各种电商还有各种游戏公司的兴趣,对系统的性能要求越来越高,
就出现了分布式系统的架构和缓存的使用,一般架构都使用分层的架构
那个时代主要是BAT几家在主导国内的技术架构
就出现了 springMVC+mybatis+redis+mysql+jsp 然后继续演进 SpringBoot+Dubbo+MybatisPlus+Redis+mysql+RockMQ+VUE的这样技术架构
再就是这几年,出现了云的概念,很多架构都是基于云的生态了发展。
现在一般就是 云+springBoot+springCloud+Redis+MybatisPlus+mysql+RockMQ+docker或k8s+vue等等
一个比较重要的分工是现在一般都使用前端后分离的开发模式。这算是一个里程碑,专门的人做专门的事情,因为以前的java开发人员写页面的真的没什么美感,只在乎功能的实现,再说一个人的精力有限,什么都做自然什么都不精。
三、未来技术
个人认为未来搞java不再是门槛搞的技术也不会显的很重要,在这几年吵吵嚷嚷的低代码平台和技术,就是为了一劳永逸解决建站。还有现在的什么人工智能,这些玩意,也将训练成会写代码。以后可能会出现另外一种业态才能拯救我们,可能与计算机无关。因为人总得有事情做,有工作做才能生存下去。