高级语言——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的更多相关文章

  1. JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?

    JAVA.C.C++.Python这四种编程语言,前三种玩的比较多,python做为兴趣爱好或者玩脚本的时候弄过,编程语言在使用的时候主要还是适合不合适,单片机使用的场景属于功能简单,成本相对较低,现 ...

  2. 40个Java多线程问题总结

    前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...

  3. JAVA基础篇NO1--环境变量的配置及命名规则

    标签(空格分隔): java基础 一:计算机概述 计算机:硬件和软件 硬件:控制器 运算器 存储器 输入和输出设备       存储器:外存(硬盘) 内存 软件:系统软件 应用软件   系统软件:wi ...

  4. Java多线程问题总结

    前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行 ...

  5. [java] 40个Java多线程问题总结

    40个问题汇总 1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓"知其然知其所以然","会用 ...

  6. 学习Java第一天,大致了解

    第一章: java核心 1 了解 java的产生背景 2 了解java的体系结构和组成 3 了解java程序的编写 编译 运行 4 掌握java的 api文档的使用 5 了解 jdk的组成 1. ja ...

  7. Java 多线程的一些问题

    1.volatile关键字的作用 一个非常重要的问题,是每个学习.应用多线程的Java程序员都必须掌握的.理解volatile关键字的作用的前提是要理解Java内存模型,volatile关键字的作用主 ...

  8. 40个Java多线程问题

    1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...

  9. 拼多多、饿了么、蚂蚁金服Java面试题大集合

    自己当初找工作时参加过众多一线互联网公司的Java研发面试,这段时间处于寒冬,然而前几天跳槽找工作,两天面了3家,已经拿了两个offer,觉得可以和大家分享下: 下面为拼多多.饿了么.蚂蚁金服.哈啰出 ...

随机推荐

  1. Mysql被黑客入侵及安全措施总结

    情况概述 今天登陆在腾讯云服务器上搭建的 MySQL 数据库,发现数据库被黑了,黑客提示十分明显. MySQL 中只剩下两个数据库,一个是information_schema,另一个是黑客创建的PLE ...

  2. kibana的query string syntax 笔记

    kibana的query string syntax 并不是 Query String Query,只能说类似.kibana的 Lucene query string syntax(es的query ...

  3. gitlab如何从Github导入项目

    本文简单演示如何Github上导入项目到私人搭建的Gitlab中,搭建过程参考:CentOS7 搭建gitlab服务器. Gitlab版本是gitlab-ce-12.0.2,界面可能稍有差异,但应该影 ...

  4. Apollo 分布式配置中心(补充)

    1.   Namespace 1.1.  什么是Namespace Namespace是配置项的集合,类似于一个配置文件的概念. Apollo在创建项目的时候,都会默认创建一个“application ...

  5. Spring 核心技术与产品理念剖析【下】

    3. Spring Cloud 蝶变重生 Spring 框架的升级演进都是围绕分层架构进行的,从简单到复杂,再回到简单的过程.如果我们没有经历过 Spring 最开始繁琐的配置,然后一步步精简,就根本 ...

  6. LINE 项目总结

    前段时间做了一个“国外的公众号”,为什么说是国外的公众号呢,因为他和微信的公众号有很多共通之处.当然了也有很多不同的地方,第一个要说的就是,我在打印信息的时候,使用的alert()弹窗,但是后台才发现 ...

  7. 龙芯(mips64)电脑安装NodeJS

    背景 龙芯是国产的cpu,采用是mips架构,就类似大家熟知的x86.arm. 最近在一台龙芯电脑(系统是中兴新支点,Linux)上调试前端应用(electron),于是就需要安装NodeJS. 但是 ...

  8. js中关于constructor与prototype的理解

    1.①__proto__和constructor属性是对象所独有的:② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性. 2. ...

  9. 在linux环境下重启oracle数据库,解决密码过期的问题

    (1) 以oracle身份登录数据库,命令:su – oracle (2) 进入Sqlplus控制台,命令:sqlplus /nolog (3) 以系统管理员登录,命令:connect /as sys ...

  10. HAProxy实现网站高并发集群

    简介:HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会 ...