Java 会不会被新兴语言取代?看完之后我不冷静了

Java会被新兴语言取代吗?

虽然现在不能完全说Java 经久不衰,但是未来一段时间内,想要完全取代Java 并不是那么容易的事。

Java 为何经久不衰?

1995年5月23日 Java 诞生。

凭借着"Write Once,run Anywhere(一次编写,到处运行)"的经典宣言、每六个月更新一次的发版频率,其在Tiobe、Pypl 以及 RedMonk 等编程语榜上笑傲多年,并且在计算技术数十年的发展演变之后仍保持着旺盛的活力。

时至今日,Java 仍是后台开发人员最为可靠的技能储备之一。

1.Java 的定义

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

2、Java 的特性

2.1、简单性

跟C++相比较而言,因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

2.2、面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。

2.3、分布性

网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

2.4、编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

2.5、稳健性

比如异常处理是Java中使得程序更稳健的一个特征。异常是某种类似于错误的异常条件出现的信号。使用 try/catch/finally 语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。

2.6、安全性

Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

2.7、可移植性

Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。

Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。

2.8、高性能

Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。

Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。

2.9、多线程性

Java是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。

Java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由C.A.R.Haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。

2.10、动态性

Java语言设计成适应于变化的环境,它是一个动态的语言。例如,Java中的类是根据需要载入的,甚至有些是通过网络获取的。

3、Java 三剑客Jdk,Jre、Jvm之间啥关系呢?

JVM:英文全拼是 Java Virtual Machine,翻译过来就是Java虚拟机。它只认识class类型的文件,也就是Java文件被编译后生成的文件,它能够将class文件中的字节码指令进行识别并调用操作系统上的API完成作业。也是Java能够实现跨平台,一次编译,到处运行的核心。

JRE:英文全拼是Java Runtime Environment,翻译过来也就是Java运行时环境,它主要包含两个部分,JVM和运行时所需要的核心类库,负责提供Java运行环境和Java文件的编译工作。

在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre。

JDK:英文全拼是Java Development Kit,翻译过来就是Java开发工具包。是Java开发的核心,它集成了JRE和一些好用的工具命令。例如:java、javac、jar等常用命令。

4、Java 工作原理

把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。

5、我的第一个Java程序

打开我们的记事本,来展示我们的 Java 编程,创建文件 HelloWorld.java(文件名需与类名一致), 代码如下:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

Hello World 就这样,我们的 Java 程序就正式问世了。

javac 编译,java 执行我们的字节码 class文件就 Ok了。

是不是很简单呢?

6、 Jdk版本迭代

1990年末,Sun公司启“Green计划”,由James Gosling领导,旨在开发嵌入式系统,C++到 Oak。

1992 年 Oak 相关操作系统、类库等完成,11 月,“Green 计划”被转化成“FirstPerson 有限公司”(致力高度互动的设备),关于机顶盒的交易屡败,Green 项目几乎接近夭折。

1994 年互联网和浏览器出现,对 Oak 改进出现第一个 Java 语言的网页浏览器 WebRunner,并得到 Sun 的赏析,由于 Oak 已被别人注册,因此改名为 Java。

1995 年 Sun 公司发布了 Java 语言,并将源代码毫不保留地放到互联网上,几个月后,Java 成为互联网上最热门的宝贝,涌现了大量 Java 小程序(Applet),Java 在移动互联网上主要用于交互、动画。至此,Java 诞生。

1996 年 Flash 的出现逐渐吞噬了 Java 在网页上的应用。第一个 JDK 诞生。

1998 年定位到企业、桌面和移动 3 个领域,Java 飞速发展。

1999 年 Sun 公司发布 J2SE、J2EE、J2EE。

2004 年 Java SE5.0 发布。

2007 年 Google 推出的 Android 给 Java 带来了新的发展机会。

2009 年 Sun 公司被 Oracle 以总价值约 74 亿美元收购,获得两项软件资产,Java 和 Solaris。

2012 年,Java 7 发布 。

2014年3月,JavaSE 8 发布。

2017年9月,JavaSE 9 发布。

2018年3月,Java SE 10 发布。

2018年9月,Java SE 11 发布。

2019年3月,Java SE 12 发布。

2019年9月,Java SE 13 发布。

2020年3月,Java SE 14 发布。

2020年9月,Java SE 15 发布。

2021年3月,Java SE 16 发布。

2021年9月,Java SE 17 发布。

2022年3月,Java SE 18 发布。


不得不说版本的更新迭代类似社区用户的活跃度,更新越快,就代表它的活跃度越高。

7、中国编程语言排行榜

过去的十多年,java几乎每年都是全世界使用人数第一的语言。推荐:Java,屠榜之王!编程界的半壁山。

7.1、编程语言比例

7.2、Java 占比人数依然最多


8、广泛的应用领域


全世界数百万的IT企业构建了庞大的Java生态圈,大量的软件基于Java开发。

Java目前在企业级软件开发、安卓开发、大数据、云计算等方方面面都是主流的编程语言。

8.1、有关通信及网络的大型企业:移动、联通、电信、网通主要的信息化都是Java;
8.2、有关金融行的大型企业,所有的银行、证券公司如工商银行、建设银行;大型管理系统如供应链、客户管理系统等;
8.3、电子政务,主要使用JavaEE,相关的政府部门绝大多数的信息化系统是Java开发的;
8.4、游戏,很多手机游戏都是用Java的。

这个生态圈的影响力越来越大,需要的人才也越来越多。越多人会Java,就有越多软件使用Java编写,反过来促进需要更多的Java人才。

这就是著名的“马太效应”,即“强者越强,弱者越弱”。选择方向这件事,有时候就是看兴趣,看机遇,看你能坚持多久,如果你对一个方向感兴趣,并且愿意持续学习,不断深挖,这个方向可能就适合你,当你在这个方向投入了一定时间之后,有了一定积累和经验,就不太容易再改变方向了。如果你下定决心选择Java,就得在这条技术路上不断深挖,不可老是摇摆不定,否则只是浪费时间。

看到这里,你认为Java 会被新兴语言取代吗?

记得点赞评论哦!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 175,490评论 5 419
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 74,060评论 2 335
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 124,407评论 0 291
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 47,741评论 0 248
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 56,543评论 3 329
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 43,040评论 1 246
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 34,107评论 3 358
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 32,646评论 0 229
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 36,694评论 1 271
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 32,398评论 2 279
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 33,987评论 1 288
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 30,097评论 3 285
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 35,298评论 3 282
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 27,278评论 0 14
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 28,413评论 1 232
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 38,397评论 2 309
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 38,099评论 2 314

推荐阅读更多精彩内容