Java 语言概述

news2024/12/23 6:37:50

Java 概述

  • SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言

  • 是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web 浏览器中运行。这些 Java 程序被称为 Java 小程序(applet),内嵌在 HTML 代码中

  • 伴随着互联网的迅猛发展,以及 Java 技术在 web 方面的不断成熟,已经成为 Web 应用程序的首选开发语言

Java语言简史

起步阶段:

1991年,Sun 公司的工程师小组想要设计一种语言,应用在电视机电话闹钟烤面包机等家用电器的控制和通信。由于这些设备的处理能力内存都很有限,并且不同的厂商会选择不同的中央处理器(CPU),因此这种语言的关键是代码短小紧凑与平台无关(即不能与任何特定的体系结构捆绑在一起)

Gosling 团队率先创造了这个语言,并命名为 Oak(起名的原因是因为他非常喜欢自己办公室外的橡树)。后因智能化家电的市场需求没有预期的高,Sun 公司放弃了该项计划

随着20世纪90年代互联网的发展,Sun 公司发现该语言在互联网上应用的前景,于是改造了 Oak,于1995年5月以 Java 的名称正式发布。(Java 是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名)

在这里插入图片描述

发展阶段:

发行版本发行时间备注
Java 1.01996.01.23Sun公司发布了Java的第一个开发工具包
Java 1.11997.02.19JavaOne会议召开,创当时全球同类会议规模之最。
Java 1.21998.12.08Java拆分成:J2SE(标准版)、J2EE(企业版)、J2ME(小型版)
Java 1.32000.05.08
Java1.42004.02.06
Java 5.02004.09.30①版本号从1.4直接更新至5.0;②平台更名为JavaSE、JavaEE、JavaME
Java 6.02006.12.112009.04.20 Oracle宣布收购SUN公司
2009.04.20Oracle公司收购SUN,交易价格74亿美元。
Java 7.02011.07.02
Java 8.02014.03.18此版本是继Java 5.0以来变化最大的版本。是长期支持版本(LTS)
Java 9.02017.09.22①此版本开始,每半年更新一次;②Java 9.0开始不再支持windows 32位系统
Java 10.02018.03.21
Java 11.02018.09.25JDK安装包取消独立JRE安装包,是长期支持版本(LTS)
Java 12.02019.03.19
Java17.02021.09发布Java 17.0,版本号也称为21.9,是长期支持版本。
Java19.02022.09发布Java19.0,版本号也称为22.9。

Java技术体系平台

  • Java SE(Java Standard Edition)标准版
    • 支持面向桌面级应用(如 Windows 下的应用程序)的Java平台,即定位个人计算机的应用开发
    • 包括用户界面接口 AWT 及 Swing,网络功能与国际化、图像处理能力以及输入输出支持等
    • 此版本以前称为 J2SE
  • Java EE(Java Enterprise Edition)企业版
    • 为开发企业环境下的应用程序提供的一套解决方案,即定位在服务器端的 Web 应用开发
    • JavaEE 是 JavaSE 的扩展,增加了用于服务器开发的类库。如:Servlet 能够延伸服务器的功能,通过请求-响应的模式来处理客户端的请求;JSP 是一种可以将 Java 程序代码内嵌在网页内的技术
    • 版本以前称为 J2EE
  • Java ME(Java Micro Edition)小型版
    • 支持 Java 程序运行在移动终端(手机、机顶盒)上的平台,即定位在消费性电子产品的应用开发
    • JavaME 是 JavaSE 的内伸,精简了JavaSE 的核心类库,同时也提供自己的扩展类。增加了适合微小装置的类库:javax.microedition.io.* 等。
    • 此版本以前称为 J2ME

在这里插入图片描述

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

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

相关文章

深入研究矫正单应性矩阵用于立体相机在线自标定

文章:Dive Deeper into Rectifying Homography for Stereo Camera Online Self-Calibration 作者:Hongbo Zhao, Yikang Zhang, Qijun Chen,, and Rui Fan 编辑:点云PCL 欢迎各位加入知识星球,获取PDF论文,欢迎转发朋…

文件监控软件丨文件权限管理工具

文件已经成为企业最重要的资产之一。然而,文件的安全性和完整性经常受到威胁,如恶意软件感染、人为误操作、内部泄密等。 为了确保文件的安全,文件监控软件应运而生。本文将深入探讨文件监控软件的概念、功能、应用场景和未来发展等方面。 文…

Deep Q-Network (DQN)理解

DQN(Deep Q-Network)是深度强化学习(Deep Reinforcement Learning)的开山之作,将深度学习引入强化学习中,构建了 Perception 到 Decision 的 End-to-end 架构。DQN 最开始由 DeepMind 发表在 NIPS 2013&…

中兴通讯携手龙蜥社区,共创繁荣生态 | 2023龙蜥操作系统大会

12 月 17-18 日,由开放原子开源基金会指导,龙蜥社区主办,阿里云、中兴通讯、浪潮信息、Arm、Intel 等 24 家理事单位共同承办,主题为“云智融合共筑未来”的 2023 龙蜥操作系统大会在北京圆满结束。本次大会上,中兴通讯…

海外静态IP和动态IP有什么区别?推荐哪种?

什么是静态ip、动态ip,二者有什么区别?哪种好?关于这个问题,不难发现,在知道、知乎上面的解释有很多,但据小编的发现,这些回答都是关于静态ip和动态ip的专业术语解释,普通非专业人事…

java生产设备效率管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web生产设备效率管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为ac…

web自动化(6)——项目配置和Grid分布式

1. 框架的可配置性 项目之间的区别: 兼容性:有些项目只兼容chrome,有些只兼容Firefox等元素定位特点:有些项目闪现快,有的项目很慢有些项目集成Jenkins,不需要用python生成allure报告 如果想要我们的框架…

分布式(8)

目录 36.什么是TCC? 37.分布式系统中常用的缓存方案有哪些? 38.分布式系统缓存的更新模式? 39.分布式缓存的淘汰策略? 40.Java中定时任务有哪些?如何演化的? 36.什么是TCC? TCC&#xff08…

HTML5+CSS3③——无语义布局标签、画盒子、CSS定义、CSS引入方式

目录 无语义布局标签 画盒子 CSS定义 小结 CSS引入方式 小结 无语义布局标签 画盒子 CSS定义 小结 CSS引入方式 小结

潮玩宇宙大逃杀游戏搭建

潮玩宇宙是当下较火的社交互动平台,它不仅涵盖了各种潮玩商品,还拥有各种游戏玩法,尤其是大逃杀游戏非常火爆!本文将介绍大逃杀游戏的开发和发展前景。 大逃杀游戏 大逃杀游戏是当下的一种新型游戏模式,旨在为玩家提供…

十分钟带你学会用python3网络爬虫抓取猫眼电影排行!

本节中,我们利用requests库和正则表达式来抓取猫眼电影TOP100的相关内容。requests比urllib使用更加方便,而且目前我们还没有系统学习HTML解析库,所以这里就选用正则表达式来作为解析工具。 1. 本节目标 本节中,我们要提取出猫眼…

ConcurrentHashMap源码学习

实现接口 ConcurrentMap(Map的基础方法)、Serializable(序列化) 基础属性 最大容量:2^30 默认容量:16 常用方法 PUT 调用PutVal方法进行插入。 判断key或value是否为空: 是:抛出空指针一场 否&#xff…

系列六、RestTemplate

一、RestTemplate 1.1、概述 RestTemplate是一种便捷的访问RestFul服务的模板类,是Spring提供的用于访问Rest服务的客户端模板工具集,它提供了多种便捷访问远程HTTP服务的方法。 1.2、API https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE…

【中小型企业网络实战案例 七】配置限速

相关学习文章: 【中小型企业网络实战案例 一】规划、需求和基本配置 【中小型企业网络实战案例 二】配置网络互连互通【中小型企业网络实战案例 三】配置DHCP动态分配地址 【中小型企业网络实战案例 四】配置OSPF动态路由协议【中小型企业网络实战案例 五】配置可…

听GPT 讲Rust源代码--compiler(1)

File: rust/compiler/rustc_errors/src/diagnostic_builder.rs 在Rust编译器源代码中,rust/compiler/rustc_errors/src/diagnostic_builder.rs文件的作用是定义错误和警告的构建器,用于生成编译器诊断信息。这个文件是Rust编译器错误报告系统的一部分&am…

8个超高清图片素材网站,免费下载,真的很实用~

图片真的是我们日常生活中必不可少的一部分,大到工作,小到发朋友圈都需要配图,那除了自己拍摄之外,哪里还能找到精美又高清的图片素材呢?本期就给大家整理了8个可免费下载的图片素材网站,真的免费下载&…

【JAVA】AI医疗导诊系统源码

智能导诊系统是一种基于人工智能和大数据技术开发的医疗辅助软件,它能够通过对患者的症状、病史等信息进行计算分析,快速推荐科室和医生。通过简单的描述自身症状,系统即可找到最适合的科室,实现线上高效挂号,线下门诊…

Acrel-EIoT能源物联网云平台助力电力物联网数据服务 ——安科瑞 顾烊宇

摘要:Acrel-EIOT能源物联网云平台是一个结合在线销售的互联网商业模式,为分布广泛的互联网用户提供PAAS服务的平台。安科瑞物联网产品安装完成后,用户可以通过手机扫描代码轻松实现产品访问平台,无需注意调试和平台运行过程&#…

tp5 console.php 里的Console类的init();

1 加载的默认配置文件:/www/wwwroot/xxx/thinkphp/convention.php 3 CONF_PATH 和EXE /www/wwwroot/xxx/thinkphp/base.php 里定义的常量 is_file() 检查指定的文件名是否是正常的文件。 CONF_PATH . command . EXT 路径是:/www/wwwroot/xxx/applicati…

【华为机试】2023年真题B卷(python)-考古问题

一、题目 题目描述: 考古问题,假设以前的石碑被打碎成了很多块,每块上面都有一个或若干个字符,请你写个程序来把之前石碑上文字可能的组合全部写出来,按升序进行排列。 二、输入输出 三、示例 示例1: 输入输出示例仅供…