对于企业界来说,很多服务器都部署着Java应用程序,许多物联网设备也都是基于Java技术开发。

20年前,Java为人们带来前所未有的科技理念:一次编写,到处运行。

在此之前,编程语言的种类寥寥无几,而且大多针对固定用途:Fortran用作科学计算,COBOL是针对商业方面,C以及逐渐兴起的C++则用于商业编程。

除此之外,还有一些非主流语言。例如,用于国防项目的Ada,在爱好者以及中小企业顾问间流行的Pascal,在学术界流传甚广的Smalltalk以及Lisp,深受系统管理员喜爱的Perl等等。但是,前文所述的3大语言在当时占据着主导地位。

疲惫不堪的C语言

人们日渐对C语言感到厌烦,其具备2个不利因素:首先,C过于针对底层需求,仅仅执行简单任务就需要大量指令。其次,可移植性差,这意味着针对PC撰写的代码无法便捷地移植到小型设备或大型主机中去运行。

当然,如果针对底层应用开发,C的性能相当强大,可以让开发者随心所欲地发挥自己的创造力。然而,针对大型软件项目而言,C会给相关实施人员带来不可想象的痛苦。

尽管到了1995年的时候,许多C语言厂商纷纷推出符合1989 ISO标准的工具,但随之而来的众多扩展功能让跨平台移植成为不可能的任务。

C语言的种种弊端最终催生出新一代编程语言。光是在1995年,就出现了Ruby、PHP、Java以及JavaScript。

由于Java拥有强大的可移植性以及丰富的功能库,其迅速变得流行起来。“一次编写,到处运行”的口号在严格意义上无法实现,但较以前的语言已经大幅提高。

其后,IBM对Java的认可奠定了其在商业编程领域的重要地位。

一旦一门语言成为主流,其生命周期会变得格外长久。

Java引入的虚拟机技术是其最为独特的理念之一,该技术让可移植性植根于项目的最初阶段。然而,高度可移植性带来的弊端就是启动和运行速度缓慢。

持续完善

今天,Java的运行效率已经非常之高,同时还具备巨大的吞吐能力,这一点已经在各种大数据项目上得到了证实。现在的Java已经变得可以胜任各种任务。

随着Java 8的出现,该语言已经具备了各种流行的编程理念,代码更短小、更可靠且表达能力更强。

Java的历史为我们所熟知。然而,我们很容易忽视掉一点,那就是:Java的成功来自持续大规模的技术投入,没有多少语言可以获得厂商的青睐从而进行各种完善。除了Java之外,恐怕只有微软的C#受到这种待遇。

20岁的Java已经步入成熟期,让我们期待它的未来变得更加辉煌。

为了让学习变得轻松、高效,今天给大家免费分享一套Java入门教学资源。帮助大家在成为Java架构师的道路上披荆斩棘。需要资料的欢迎加入学习交流群:9285,05736

Java历经20年沧桑,将持续革新相关推荐

  1. #102030:在30天内运行20 10K来庆祝Java的20年

    1995年5月23日是技术史上的重要时刻. 业界似乎并没有意识到当天发布的语言会在未来几年内完全改变技术的格局. Java将在今年的同一天庆祝20岁生日. Java 20年,哇! 回顾20年前的存储器 ...

  2. 持续集成与持续部署(四)01-Jenkins——简介-基于Java开发的一种开源持续集成工具

    持续集成与持续部署(四)01-Jenkins--简介-基于Java开发的一种开源持续集成工具 Jenkins 使用简介 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控 ...

  3. 2021最新Java面经系列整理,持续更新

    2021最新Java面经系列整理,持续更新... 欢迎大家关注收藏,一起加油O(∩_∩)O哈~ 2021最新Java面经系列 系列 内容 地址 框架篇 2021最新Java面经整理 | 框架篇(一)S ...

  4. Java工作面试必问(持续更新)

    SSM  1. GET和POST请求的区别? ① GET(获取&检索)从服务器上获取数据. ① POST(创建&更新)向服务器传送数据. 误区:不是获取数据只能用GET,只是通常用GE ...

  5. Java经典面试宝典及答案(持续收录)

    文章目录 前言 一.Java基础 1.Java中有几种基本数据类型? 2.equals 和 == 的区别? 3. Integer a =128; Integer b = Integer.valueOf ...

  6. java史上最全面试题--持续更新中(一)

    1.面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类. 继承:基于基类创建新类. 封装:将数据隐藏起来,对数据的访问只能通过特定接口. 多态性:不同子类型对象对相同消息作出不同响应 ...

  7. java后端面试题总结(持续更新)

    (一) java基础 1.封装.继承.多态 封装:封装是指将对象的属性私有化,对外提供一些公共的方法来访问这些私有属性. 继承:如果一个类继承了另一个类,这个类就叫做子类,另一个类就叫父类,那么子类就 ...

  8. java expextion_Java(20~24)

    1.Collection中的集合称为单列集合,Map中的集合称为双列集合(键值对集合). 2.Map常用方法:map.put()   map.get()   map.remove()   map.ke ...

  9. java 路径 20,java中得到classpath和当前类的绝对路径的一些方法(路径中的%20进行替换空格)...

    原网址:http://blog.csdn.net/shendl/article/details/1427475 (注意:利用下面方式得到路径,如果路径中有空格字符, 那么会有"%20&quo ...

最新文章

  1. Android项目:proguard混淆之常见开源项目混淆配置
  2. 计算机缺少log怎么解决方法,win10 计算机丢失logmanager怎么办_win10丢失log.dll文件的解决方法-win7之家...
  3. 直播 NO.5 | Facebook 田渊栋:用深度(强化)学习为组合优化寻找更好的启发式搜索策略...
  4. 帝国cms php sql,帝国CMS下在PHP文件中调用数据库类执行SQL语句实例
  5. python webui测试ie浏览器环境配置_python+selenium做ui自动化测试用法必会
  6. 聚类分析(一)基本思想
  7. Apache+Tomcat实现动静分离
  8. matlab/simulink通...,详解MATLAB Simulink通信系统建模与仿真
  9. Word可折叠多级标题
  10. 无人机底层开发-MPU6050六轴传感器+磁力计初始化
  11. antd修改Tooltip背景色
  12. ArcGIS server9.3实现根据坐标定位
  13. Windows登录多微信
  14. 【使用Unity开发Windows Phone上的2D游戏】(1)千里之行始于足下
  15. java实训报告前言_Java学习第一阶段总结
  16. vue如何实现打印功能
  17. ROS入门(九)——机器人自动导航(介绍、地图、定位和路径规划)
  18. 回顾 Exchange 2007 SCC 安装-供需要的人参考!
  19. 安装配置webpack webpack不是内部或外部命令
  20. HTML+CSS+JavaScript实现的动态爱心,超简单直接用!

热门文章

  1. MATLAB图自编码器
  2. 计算机网络(一)-概述(补充)
  3. iis设置导致python调用urllib.request.urlopen出错问题
  4. 空间连接时计算总和_学习CALCULATE函数(六)丨帕累托之累计求和
  5. php字符串反转abcdefg_php中实现字符串翻转的方法
  6. tensorflow中创建多个计算图(Graph)
  7. Python 的垃圾回收回收机制(源码)
  8. 边缘检测中非极大值抑制简单解释
  9. 组合数学基本工具-- 排列与组合以及简单公式
  10. 利用TabWidget实现底部菜单