Java10年技术架构演进

news2024/10/6 2:30:34

一、前言

又快到了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.coloradmin.cn/o/1106955.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于百度API的车牌识别计费系统

1,车牌识别API 介绍: 百度车牌识别API是一款基于人工智能算法的车牌识别服务,可以识别包括普通车牌、新能源车牌在内的多种车牌类型,并支持高精度的识别结果输出。其主要功能特点包括: 普通车牌和新能源车牌的识别&a…

首发AI原生应用开发平台——千帆AI原生应用开发工作台,加速企业AI应用落地

为了满足企业对于敏捷和高效地进行AI原生应用开发与运维的需求,并降低相关开发的门槛,百度智能云最新发布了“千帆AI原生应用开发工作台”。该工作台将开发大型模型应用程序的常见模式、工具和流程进行了整合,使得开发者可以聚焦于自身业务&a…

深度学习 | Pytorch深度学习实践

一、overview 基于pytorch的深度学习的四个步骤基本如下: 二、线性模型 Linear Model 基本概念 数据集分为测试集和训练集(训练集、开发集)训练集(x,y)测试集只给(x)过拟合&#xf…

【网络安全 --- xss-labs通关】xss-labs靶场通关,让你巩固对xss漏洞的理解及绕过技巧和方法(提供资源)

一,资源下载准备 1-1 VMware 16.0 安装请参考以下博客,若已经安装请忽略: 【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客【网络安全 --- 工具安装】VMware 16.0 详细安装过程(…

IPIDEA代理IP如何帮助企业采集市场信息

在当今数字化的时代,市场信息对于企业的发展至关重要。然而,如何高效地收集市场信息成为了每个企业都需要面对的问题。爬虫技术的出现为企业提供了一种高效、便捷的信息采集方式。然而,由于爬虫的请求频率较高,目标网站可能会将频…

Linux | gcc/g++的使用

目录 前言 一、程序的翻译过程 1、预编译 2、编译 3、汇编 4、链接 (1)链接做了什么 (2)动态链接 (3)静态链接 (4)如何使用gcc进行动态链接和静态链接 前言 本章主要带着大…

【实战】学习 Electron:构建跨平台桌面应用

文章目录 一、Electron 简介二、Electron 的优势1. 学习曲线平缓2. 丰富的生态系统3. 跨平台支持4. 开源和社区支持 三、Electron 的使用1. 安装 Node.js2. 安装 Electron3. 创建项目4. 初始化项目5. 安装依赖6. 创建主进程文件7. 创建渲染进程文件8. 打包应用程序9. 运行应用程…

【AI视野·今日NLP 自然语言处理论文速览 第五十六期】Tue, 17 Oct 2023

AI视野今日CS.NLP 自然语言处理论文速览 Tue, 17 Oct 2023 (showing first 100 of 135 entries) Totally 100 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Step-by-Step Remediation of Students Mathematical Mistakes Authors…

泛微e-office json_common.php SQL注入漏洞

一、漏洞描述 泛微e-office为企业办公提供丰富应用,覆盖常见协作场景,开箱即用。满足人事、行政、财务、销售、运营、市场等不同部门协作需求,帮助组织高效管事理人。 系统 json_common.php 文件存在SQL注入漏洞 二、网络空间搜索引擎搜索 …

【前端学习】—Vuex(十八)

【前端学习】—Vuex(十八) 一、Vuex Vuex是一个专门为Vue.js应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

虚拟机zeppelin安装

一、解压 tar -zxvf ./zeppelin-0.10.0-bin-all.tgz -C /opt/soft/ 二、改名字 mv ./zeppelin-0.10.0-bin-all.tgz zeppelin010 三、配置/etc/profile #ZEPPELIN export ZEPPELIN_HOME/opt/soft/zeppelin010 export PATH$ZEPPELIN_HOME/bin:$PATH source /etc/profile 四…

Vue笔记_插件组件_lucky-canvas抽奖转盘

文章目录 官网使用(vue2.x)[1] 下载[2] 引入[3] 使用配置项-width/height配置项-blocks配置项-prizes配置项-buttons优化案例 lucky-canvas 是一个基于 Js Canvas 的抽奖 web 前端组件,提供 大转盘和 九宫格两种抽奖界面,UI 精美,功能强大…

Linux创建与删除用户

Linux创建与删除用户 新增用户: adduser 用户名【添加用户】 passwd 用户名【设置用户密码】删除用户: userdel -r 用户名【删除用户】

C++QT---QT-day2

/*使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中, 在槽函数中判断ui界面上输入的账号是否为"admin",密码是否…

THE PLANETS:EARTH vulnhub

信息收集 netdiscover -i eth0 -r 192.168.239.0,扫描存活主机,发现目标主机 对目标主机进行端口扫描:nmap -p- -sV -O -Pn -A 192.168.239.186,发现443端口存在DNS,域名 在本地得/etc/hosts中添加域名信息 浏览…

地垫/毛绒地毯/地毯GCC认证测试项目介绍

出口美国地垫GCC清关认证 美国联邦法律规定,地毯和垫子要符合易燃性标准和其它要求, 包括2008年《美国消费品安全改进法》的要求。 在地毯和垫子经过检测或合理检测项目后,作为一般用途的 地毯和垫子的生产商和进口商必须在一般合规证书&…

在 Python 中如何向列表或数组添加元素

在这篇文章中,你将了解 Python 中的 .append() 方法。你还会看到 .append() 与其他用于向列表添加元素的方法有什么不同。 让我们开始吧! Python 中的列表是什么?给初学者的定义 编程中的数组是一个有序的项目集合,所有的项目都…

开关电源EMC整改案例-辐射骚扰

1. 测试结果 产品 Coconut1首次 EMC 测试时,辐射、静电、浪涌均失败。本篇先讨论辐射超标. 1.1 辐射超标 50MHz 、100MHz 、130MHz 、200MHz ,4 个频点明显超标,其中 130MHz 左右最明显, 超出 19dB;后将电路板仅…

龙芯S-2K2000板卡测试记录,安装loongnix系统已知问题及DPDK

S-2K2000板卡已知问题 安装系统时PMON需要使用acpi传参pmon下USB键盘不支持热插拔pmon下插入部分USB键盘 进pmon特别慢,兼容性问题,后续统一解决不支持emmc,等待更新pmon S-2K2000板卡手动引导USB命令 load (usb0,0)/boot/vmlinuz. initr…

Julia 笔记:初识julia

1 变量 Julia 不需要指定变量类型,它可以自动推断等号右侧的对象类型 x 10 # 将 10 赋值给变量 xstr "hello" # 将字符串赋值给变量 site_nameflt 9.5 # 浮点型数据 2 注释 单行注释以 # 开头多行注释用 # 与 # 将注释括起来 3 数组 可以存储一个…