java基础-java的发展进程和特性

2023-11-13

1、JAVA的发展历程

1.1上世纪90年代,由于单片机出现引起了自动控制领域的关注,单片机可以大幅度提升电子消费产品的智能化程度(比如电视机顶盒、烤箱、移动电话等)。Sun公司成立了Green的项目小组,专攻计算机在家电产品上的嵌入式开发。

a)     由于C++程序过于庞大繁杂。并且只能在固定的硬件平台运行,因此Green项目组开发出叫做Oak的面向对象语言,并且开发了运行Oak语言软件环境,使得Oak可以跨平台运行。

b)     由于硬件生产商认为采用全新的语言风险过大,因此没有在硬件上支持Oak语言,Oak项目也因此搁置下来。

c)      互联网的蓬勃发展使得人们急需一种能够跨平台运行的计算机语言,各大IT企业加足马力想要抢占先机,被搁置已久的Oak也获得新生,改名为JAVA,sun公司正式发布JAVA和HotJAVA浏览器之后,其他的IT公司纷纷停止了自己的相关开发项目,竞相购买JAVA的使用权来为自己的产品开发JAVA平台。

1.2版本历史

a)     1996年1月发布了JDK1.0,标志着JAVA成为了一种独立的语言。同年9月,约8.3万个网页使用了JAVA技术来制作。十月,sun公司开发了JAVA第一个翻译器JIT。

b)     1998年,第二代JAVA企业版J2EE发布,1996年6月,sun公司发布了二代JAVA的三个版本:

J2ME:用于嵌入式设备,比如手机、家电、便携式电子产品等。

J2SE:应用于电脑桌面软件开发。

J2EE:企业级,应用于基于JAVA的服务器。J2EE也是JAVA广泛流行的开始。

C)  2009年,Oracle(甲骨文)公司收购sun公司,JAVA版本的更新现在是 Oracle公司来做

2、JAVA的特性

a)     互联网成就了JAVA,让JAVA成为最流行的编程语言之一,而JAVA也促进了互联网,JAVA的各种特性让互联网得到更好的发展。

b)     面向对象:所谓面向对象,就是把具有一定功能的程序封装起来,当作一个对象来看待。我们面对的不再是繁琐的编码和硬件,而是一个功能模块;简而言之,面向对象就是我们只需要告诉计算机去做什么,而无需告诉计算机怎么去做。

c)      可移植性:软件是要在硬件系统上运行的,如果换一个硬件系统就不能运行,就需要修改程序,这样的软件要广泛普及起来就很困难。JAVA编写的程序并不直接面对硬件系统也不直接面对操作系统,而是面对中间人JVM虚拟机(JAVA语言解释器),由JVM去面对硬件系统和操作系统,因此我们编写JAVA程序无需考虑这个程序会在什么环境中运行,这个事情JVM帮我们处理了,JAVA具有很高的可移植性。

d)     健壮性

一个软件在不同的环境下可以正确地运行,那么可以认为这个软件的可移植性高,也可以称为在不用的平台下,是健壮的。

一个软件可以识别错误的输入,并且有办法处理这种错误,叫做处理能力的健壮性。

一个软件可以检测出自己内部的设计错误或者编码错误,并修正为正确的执行结果,这就是模块级的健壮性。

e)     分布式:JAVA的一些类库支持IP/TCP协议,分布于不同地方的计算机可以通过网络协同工作,比如服务器/客户端的软件系统。

f)       多线程:线程是操作系统的一个概念,相当于一个轻量的进程,多线程可以充分利用多核处理器的优势,让程序运行更加快速。

原文链接:http://edu.bjlemon.com/term/158

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java基础-java的发展进程和特性 的相关文章

随机推荐

  • 详谈redis之有序集合(ZSET)

    一 前言 有序集合存储着成员 member 和分值 score 的键值对 按照分值从小到大自动排序 具体细节在第一篇blog 详谈redis数据结构 中 不太熟悉的同学可以回去查看 对Java不太熟悉的同学可关注文章末尾的公众号 里面满满干
  • uniapp小程序的苹果 ios页面左右或上下滑动问题的解决方法效果damo(整理)

    一般来说 微信小程序的页面是不需要左右滑动的 甚至说是不允许左右滑动的 事实上 安卓手机在默认情况下就是左右不滑动的 但苹果IOS手机默认是左右可滑动的 其解决方法如下 在具体页面的顶级view元素设置class page 其CSS样式如下
  • eclipse中建动态web项目

    1 eclipse环境下配置tomcat 2 建项目 这就是一个建好的项目 3 将项目部署在tomcat服务器中 这个时候你的项目就部署在服务器上了
  • k8s 控制器:Replicaset 和 Deployment

    Deployment 官方文档 https kubernetes io docs concepts workloads controllers deployment k8s 在定义 pod 资源时 可以直接创建一个 kind Pod 类型的
  • 漫画告诉你:区块链到底是什么?

    区块链到底是什么 一幅漫画让你秒懂 区块链技术是指一种全民参与记账的方式 所有的系统背后都有一个数据库 你可以把数据库看成是就是一个大账本 目前是各自记各自的账 由于没有中心化的中介机构存在 让所有的东西都通过预先设定的程序自动运行 不仅能
  • JAVA垃圾分类网站计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA垃圾分类网站计算机毕业设计Mybatis 系统 数据库 调试部署 JAVA垃圾分类网站计算机毕业设计Mybatis 系统 数据库 调试部署 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 idea eclips
  • 第一篇 香橙派刷机和开发环境准备(ubuntu20.04版)

    目录 一 香橙派刷ubuntu系统和SSH登录 1 Ubuntu有趣的Codename 2 刷机步骤 ubuntu20 04 格式化TF卡 烧写系统到TF卡 调试串口登陆系统 SSH登陆系统 二 开发环境准备 1 香橙派ubuntu20 0
  • “宝藏”,实用网站整理 - 持续更新ing

    文章目录 一 编程类 1 在线编程工具 1 ideone com 2 Octave Online 3 Anycodes 在线编程 2 编程刷题网站 1 LeetCode 2 牛客网 二 在线工具类 1 菜鸟工具 2 在线工具 程序员的工具箱
  • P2P原理以及如何实现(整理)

    前言 这几天看了p2p的原理以及实现的demo 整理一下 一共分为三部分 第一是概念原理 第二是demo实现 第三是p2p协议相关以及分类 一 概念原理 比较全面的理解 https zhuanlan zhihu com p 30351943
  • 地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法

    原文 WGS 84 到 GCJ 02 的转换 即 GPS 加偏 算法是一个普通青年轻易无法接触到的 公开 的秘密 这个算法的代码在互联网上是公开的 详情请使用 Google 搜索 wgtochina lb 整理后的算法代码请参考 https
  • 什么是外包公司?要不要去外包公司?

    01 什么是软件外包 软件外包分为 人力外包和项目外包两个方向 1 1 劳务派遣 指的是把员工外派到对应的用工企业打 短工 比如很多工程师虽然签约了中软国际 东软 文思海辉 软通动力 润和等软件公司 但实际工作地点是在华为 接受华为员相关负
  • c语言还有用吗?

    c语言还有用吗 这个问题有很多人在问 c语言真的没用吗 答案是有用的 用处还很大呢 这门语言虽然是很早以前发明的 新兴语言如c vb 功能十分强大 但每一个能代替C语言 原因 C
  • 【MySQL-约束篇】

    目录 1 空值 Null 2 默认值 3 主键 4 自增 5 唯一键 6 外键 1 空值 Null 先看一个表结构 Field Type Null Key Default Extra id int 11 YES NULL name
  • Java Long类型的查询结果与前端TypeScript显示不一致,后端传值与前端对不上,出现精度损失

    自己折腾了一个项目 使用的技术是SpringBoot MP Vben admin MySql 今天瞎搞的时候发现了一个让我很懵逼的问题 如下图所示 上方是浏览器打印出来的log 下方是数据库实际存在的数据 或者也可以说是后台接口断点调试的数
  • 电赛猜题?我觉得没用,还不如做好这些!

    01 前言 大家好 我是张巧龙 转眼又到22年电赛 这个公众号上有很多同学可能都参加过电赛 有毕业的已经工作的 也有没毕业的今年要参加 我第一次接触电赛是在大一暑期 从参加电赛到指导学生参加电赛 转眼快十年了 20年省赛有6个省一等奖 21
  • 2021-04-09

    jar 自动装配 springboot帮我们配置了什么 xxxxAutoConfiguration 向容器中自动装配组件 xxxxProperties 自动装配类 装配配置文件中自定义的一些内容 要 导入静态资源 首页 jsp 装配扩展Sp
  • ubuntu安装llvm教程

    安装必要工具 sudo apt get install build essential sudo apt get install cmake sudo apt get install python3 8 安装llvm wget https
  • RabbitMQ--基础--7.4--工作模式--路由模式(Direct)

    RabbitMQ 基础 7 4 工作模式 路由模式 Direct 代码位置 https gitee com DanShenGuiZu learnDemo tree master rabbitMq learn rabbitMq 03 1 介绍
  • GB/T28181-2022图像抓拍规范解读及技术实现

    规范解读 GB28181 2022相对2016 增加了设备软件升级 图像抓拍信令流程和协议接口 我们先回顾下规范说明 图像抓拍基本要求 源设备向目标设备发送图像抓拍配置命令 携带传输路径 会话ID等信息 目标设备完成图像传输后 发送图像抓拍
  • java基础-java的发展进程和特性

    1 JAVA的发展历程 1 1上世纪90年代 由于单片机出现引起了自动控制领域的关注 单片机可以大幅度提升电子消费产品的智能化程度 比如电视机顶盒 烤箱 移动电话等 Sun公司成立了Green的项目小组 专攻计算机在家电产品上的嵌入式开发