Java10年技术架构演进

一、前言

又快到了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不再是门槛搞的技术也不会显的很重要,在这几年吵吵嚷嚷的低代码平台和技术,就是为了一劳永逸解决建站。还有现在的什么人工智能,这些玩意,也将训练成会写代码。以后可能会出现另外一种业态才能拯救我们,可能与计算机无关。因为人总得有事情做,有工作做才能生存下去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/139719.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

List集合拆分为多个List

list 拆分 目录概述需求: 设计思路实现思路分析1.list 拆分是2.用stream的parallel实现list的分批处理3.使用stream的parallel实现list的分批处理 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full bus…

git 使用

参考 https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93 文件的状态变化周期 文章目录 git 基础检查当前文件状态、查看已暂存和未暂存的修改暂存前后的变化跟踪新文件提交更新移除文件移动文件、重命名操作查看提交历史撤消…

正点原子嵌入式linux驱动开发——pinctrl和gpio子系统

在上一篇笔记中,学习编写了基于设备树的LED驱动,但是驱动的本质还是没变,都是配置LED灯 所使用的GPIO寄存器,驱动开发方式和裸机基本没区别。Linux是一个庞大而完善的系统,尤其是驱动框架,像GPIO这种最基本…

sklearn处理离散变量的问题——以决策树为例

最近做项目遇到的数据集中,有许多高维类别特征。catboost是可以直接指定categorical_columns的【直接进行ordered TS编码】,但是XGboost和随机森林甚至决策树都没有这个接口。但是在学习决策树的时候(无论是ID3、C4.5还是CART)&am…

执法记录仪主板_基于MTK6877联发科5G主板方案

4G/5G智能执法记录仪是一种集成了先进的人工智能和传感器技术的设备,不仅可以记录事件发生的过程,还能够辅助工作人员进行人车识别、安全预警。这种记录仪使用联发科MT6877芯片作为主板方案,该芯片采用了6纳米工艺制程,拥有八核CP…

python二次开发CATIA:CATIA Automation

CATIA 软件中有一套逻辑与关系都十分严谨的自动化对象,它们从CATIA(Application)向下分支。每个自动化对象(Automation Object,以下简称Object)都有各自的属性与方法。我们通过程序语言调用这些 Object 的属性与方法,便…

latex:使用中文字体

解决方案 我这里使用的是gbsn(其他的字体我不知道,如果有补充请评价),详细说明如下:

[开源]MIT开源协议,基于Vue3.x可视化拖拽编辑,页面生成工具

一、开源项目简介 AS-Editor 基于 Vue3.x 可视化拖拽编辑,页面生成工具。提升前端开发效率,可集成至移动端项目作为通过定义 JSON 直接生成 UI 界面。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 基于Vue可视化拖拽编辑,…

【Eclipse】安装与卸载教程

目录 1.绿色版免安装版本 2.安装版本 3.卸载 首先打开官网:Eclipse Downloads | The Eclipse Foundation 选择download package 如图所示,到如下界面 1.绿色版免安装版本 按图片点击,即可开始下载 下载好后解压 ,在桌面创建…

35岁左右的项目经理,这5种能力一定要有​

大家好,我是老原。 经常有项目经理和我吐槽,现在不管是做项目,还是做管理,都太难了。 上有甲方和和老板给压力,下有团队成员叫苦连天,最后里外不是人。 刚毕业20多岁的时候还好,随着年龄的增…

网络工程师知识点6

91、3、IP ABC类私有地址和个数 A类私有地址1个:10.0.0.0/8 B类私有地址16个:172.16.0.0~172.31.0.0/16 C类私有地址256个:192.168.0.0~192.168.255.0/24 92、拥塞管理机制的实现过程分为哪两步? 第一步:将准备从一个…

【计算机毕设选题推荐】网络在线考试系统SpringBoot+SSM+Vue

前言:我是IT源码社,从事计算机开发行业数年,专注Java领域,专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务 项目名 网络在线考试系统 技术栈 SpringBootSSMVueMySQLMaven 文章目录 一、网络在线考试系统-环境…