高级语言——java
高级语言——java
起源与发展
1991 年,James Gosling 博士发布产品 Oak,这是 Java 语言的前身。
1995 年,Oak 语言改名为 Java。
1996 年,JDK(Java开发所使用的工具包)1.0 发布,提供了纯解释执行的 Java 虚拟机实现:Sun Classic VM。
1997 年,JDK1.1 发布,代表技术有:JDBC、JavaBeans、内部类、反射。
1998 年,JDK1.2 发布,Java 技术体系被拆分为 J2SE、J2EE、J2ME 三大体系。
2000 年,JDK1.3 发布,默认的 Java 虚拟机由 Sun Classic VM 改为 HotSopt。
2002 年,JDK1.4 发布,Java 真正走向成熟,代表技术有:正则表达式、NIO等。
2004 年,JDK1.5 发布,对语法易用性做了很大改进,新增了泛型、枚举等,代表技术有:并发包等。
2006 年,JDK1.6 发布,将 J2EE/J2SE/J2ME 的命名方式改为 Java SE 6、Java EE 6、Java ME 6。
2009 年,Sun 公司因为经营不善被 Oracle 公司收购。
2011 年,JDK1.7 发布。
2013 年,JDK1.8 发布。
java的优势
java起初是为了解决其他语言移植性差的问题,比如说c或者c++编写的程序只能在单一系统上面跑,要想移植代码几乎需要完全重写一遍程序,java在底层系统之上建立了一个叫做JVM(Java虚拟机)的东西,来隔绝因系统不同产生的影响,所以java一出来就广受欢迎,随着规模的壮大,参与的人员越来越多,java形成了一个庞大而完善的社区。
java后端和MVC架构
架构是一种软件设计典范,将整个前端请求数据服务器端处理数据的过程分为三个部分:
M:Model(模型)定义数据的增删查改 例如Mybatis、Hibernate
V:View(视图)负责处理前端的请求以 例如SpringMVC、Struts
C:Controller(控制器)负责逻辑的处理。
介绍框架之前不得不介绍下Spring框架,Spring是框架的框架,本身并不处理具体的业务,例如将MyBatis和SpringMVC直接连接在一起似乎有点强人所难,毕竟 强扭的瓜不甜,但是Spring这个中间媒人的存在就提供了极大的便利,因为Spring几乎拥有所以框架的接口,直接调用即可。
SSH
Struts、Spring、Hibernate


早期的javaWeb三大框架,由图可见Spring负责全局控制,而其他框架之间并不之间进行交互,都是通过Spring完成的
SSM
SpringMVC、Spring、Mybatis


SSH框架更替为SSM主要是Struts和SpringMVC、以及Hibernate和Mybatis之间的优胜劣汰,当然并不是前者完全不行,只是大众选择了后者,前者也有很多可取之处胜过后者的。
SpringBoot和SpringCloud
当然没有什么东西永远是最好的,Spring已经开始被人嫌弃了(==!),因为其繁琐的配置文件,往往整合一个SSH或者SSM项目就需要半天时间,这对于当前高效开发的社会来说简直太慢了,so,SpringBoot应运而生,其实SpringBoot就是简化的Spring,做了更加简洁的封装,再配合Maven搭建一个JavaWeb项目只需要几分钟。
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。这已经不是一个简单的后端程序员能涉及到的了。什么是微服务架构,改天再议。
高级语言——java的更多相关文章
- JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?
JAVA.C.C++.Python这四种编程语言,前三种玩的比较多,python做为兴趣爱好或者玩脚本的时候弄过,编程语言在使用的时候主要还是适合不合适,单片机使用的场景属于功能简单,成本相对较低,现 ...
- 40个Java多线程问题总结
前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...
- JAVA基础篇NO1--环境变量的配置及命名规则
标签(空格分隔): java基础 一:计算机概述 计算机:硬件和软件 硬件:控制器 运算器 存储器 输入和输出设备 存储器:外存(硬盘) 内存 软件:系统软件 应用软件 系统软件:wi ...
- Java多线程问题总结
前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...
- [java] 40个Java多线程问题总结
40个问题汇总 1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓"知其然知其所以然","会用 ...
- 学习Java第一天,大致了解
第一章: java核心 1 了解 java的产生背景 2 了解java的体系结构和组成 3 了解java程序的编写 编译 运行 4 掌握java的 api文档的使用 5 了解 jdk的组成 1. ja ...
- Java 多线程的一些问题
1.volatile关键字的作用 一个非常重要的问题,是每个学习.应用多线程的Java程序员都必须掌握的.理解volatile关键字的作用的前提是要理解Java内存模型,volatile关键字的作用主 ...
- 40个Java多线程问题
1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...
- 拼多多、饿了么、蚂蚁金服Java面试题大集合
自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...
随机推荐
- webpack 使用style-loader,css-loader添加css样式
// 注意:webpack 默认只能打包处理js类型的文件// 如果要处理非js类型文件,需要手动安装第三方加载器// 1安装npm install style-loader css-loader - ...
- 求连通块的面积 - BFS、DFS实现
本文以Leetcode中695.岛屿的最大面积题目为基础进行展开(题目
- Jmeter性能测试插件jpgc的安装
一.获取插件包 1.访问官网获取 官网地址:https://jmeter-plugins.org/install/Install/ 2.百度网盘下载 链接:https://pan.baidu.com/ ...
- WebShell代码分析溯源(八)
WebShell代码分析溯源(八) 一.一句话变形马样本 <?php $e=$_REQUEST['e'];$arr= array('test', $_REQUEST['POST']);uasor ...
- C#通用查询器
很多通用查询器,对查询条件中的AND及OR的支持度不是很好,要么全部是AND要么全部是OR.笔者通过一段时间的摸索,终于完成了一个自己较为满意的通用查询器, 可以实现多条件的AND及OR,现将实现过程 ...
- sap-abap 权限控制
FORM AUTH_CHECK . "工厂 LOOP AT S_WERKS. AUTHORITY-CHECK OBJECT 'M_BANF_WRK' ID 'WERKS' FIELD S_W ...
- JDK新特性关于流操作部分
// array 工具类 可以用来快捷的将数组转化为list List<String> strings = Arrays.asList("zhongguo", &quo ...
- Mac环境下执行npm install报权限错误解决办法
1. 一般情况 sudo npm install 注:这相当于windows系统中的 以管理员身份执行,加上sudo后会要求你输入苹果账号密码,而且在输入的时候是没有字符提示的,密码输入完直接按回车就 ...
- 更新阿里yum源并重建缓存
[第一种方式]1.下载安装wget /如果没有装的话yum install -y wget 2.备份默认的yummv /etc/yum.repos.d /etc/yum.repos.d.backup ...
- 【西北师大-2108Java】第十次作业成绩汇总
[西北师大-2108Java]第十次作业成绩汇总 作业题目 面向对象程序设计(JAVA) 第12周学习指导及要求 实验目的与要求 (1)掌握Vetor.Stack.Hashtable三个类的用途及常用 ...