java技术出来这么久了,会不会被淘汰啊?

2020-05-22 15:53发布

13条回答

短时间内是不会淘汰的,Java 是 1995年诞生的,距今已经有 23 年的历史,依然保持着强劲的生命力,是目前世界上最流行的编程语言之一。


首先,Java语言代码健壮、逻辑清晰,框架成熟稳定,能适应大中小型各类项目的开发。Java 应用运行在 Java 虚拟机上,有着其它语言所不具备的良好的跨平台性,又能兼顾不错的运行性能。


另外,Java 在 Web 开发和安卓应用开发上有天然的优势,目前相当大一部分手机应用都是用 Java 开发的,鉴于互联网和手机行业在未来十年的发展前景,Java 语言极有可能还会兴盛相当长一段时间。


还有就是 Java 语言也并非一成不变,自其诞生之日起,它就一直在不断地更新和演化,近些年 Java 自身在性能、语法、编程范式等方面也做了不少的提高改进,譬如 Java 8 引入了 Lambda 表达式、Optional、Streams、Date/Time API 等,Java 9 带来了 Jigsaw(模块化)等。这些新特性的不断引入,可以使 Java 语言与时俱进,长葆生机。


Java 是目前使用人数最多的编程语言,有专业的开源项目团队,有庞大的开发人才,还有专业的机构进行维护,因此可以预见的是 Java 在很长一段时间内是不会被淘汰的。

水煮美人鱼
3楼 · 2021-12-24 19:27
Java 过时了,但是,不会被淘汰。不被淘汰,是因为历史原因,很多金融系统使用 Java Web 开发,是无法切换的。倘若说彻底淘汰 Java,恐怕也需要 50 年以上,直到那些旧有的系统淘汰掉,同时新系统使用其他语言编写。 过时,是因为不知道是不是语言过于厚重,Java 到现在也无法支持 async/await 或者协程,Java 在非阻塞 IO 方面停滞不前,流行的spring 和 jdbc 都是阻塞 IO,这让 Java 比起 Nodejs,Go 效率低下,虽然可以使用 nginx 之类的非阻塞负载均衡器抵消这种影响,但是却更耗费硬件资源。比方说,Java Spring 写的服务,用 8 个 cpu 跑满后面的数据库读写,而 Nodejs Go 只需要 2 个 cpu。 备注: Java netty 受制于 Java 语言,不支持 async await,也不支持协程,使用 netty 你面临 callback hell,另外,非阻塞数据库连接规范 rdbc 至今仍然不成熟,代码仓库不完备,缺乏足够测试,缺乏应用,而 jdbc 仍然是阻塞 IO,所有基于 jdbc 的软件库都不适用 netty。
油炸小可爱
4楼 · 2021-12-24 19:27
不会的,至少短期内不会!Java应用广泛主要在:大型企业级应用,主要使用Java EE,比如大型企业管理系统,最典型的就是:1.有关通信及网络的大型企业:移动、联通、电信、网通主要的信息化都是Java2.有关金融行的大型企业,所有的银行、证券公司,比如工商银行、建设银行;大型管理系统,如:供应链、客户管理系统……3.电子政务,主要使用Java EE,相关的政府部门绝大多数的信息化系统是Java开发的;4.游戏,很多手机游戏都是用Java开发的。5. 嵌入式设备及消费类电子产品,主要用 Java ME或现在很流行的andriod,无线手持设备、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等是比较热门的Java应用领域。技术都是在一直发展的,包括Java技术,Java开发人员在工作中也是不断学习新技术抛弃旧知识,所以不用担心未来是否会淘汰,当下好好学技术找一个好工作才是正确的!
西瓜奶昔
5楼 · 2021-12-24 19:27
首先,作为一个用在工作中用JAVA吃饭的前码农,我想说,那些大部分口口声声说JAVA过时的人,一部分是java用的不好的人,还有一大大大部分是根本不会java的人!其次再来说为什么java有点过时,我个人感觉不是java不先进,而是有更先进的低代码模式来临了!java本身没有过时,过时的是只会用java粘贴复制的码农!
甜味超标
6楼 · 2021-12-24 19:27
Java仍旧是当今的主流开发语言,其生态十分繁荣,国内基本所有大的互联网公司也都在用,特别是阿里系的公司,在移动端开发(Android)、服务端开发(Spring全家桶)、大数据处理(Hadoop系)中占有绝对地位,所以目前不能认为是过时的。对于会不会被淘汰,现在出现了一些挑战者,比如Go、Kotlin、.Net Core、Rust等等,他们在不同的领域对Java构成了一些威胁,其中服务端领域最有可能挤出Java的就是Go,Github上搜索某些热门关键词,Go的仓库数量已经超过Java,招聘领域也很火,这既有Java语言历史包袱过重的问题,也有新兴语言设计更优的原因。从长远看有逐渐被替代的趋势,但是短时期还不至于被淘汰,毕竟用的地方很多,从业人员很多,从成本上不允许。从开发人员的角度来看,不能把自己绑定在一门语言上,需要更大的视角,成为软件工程师,而不是某某语言工程师。这就需要扎实的技术基础知识,计算机、操作系统、网络相关原理需要搞清楚,各种架构思想、编程范式、设计模式需要有所认识和理解。了解上边这些内容对于使用各种语言才不会迷失,然后各种语言设计出来都是应对当时技术界面临的挑战,都有自己的解决问题的范围,选择合适的语言和框架解决问题才是正确的选择。
朝三暮你
7楼 · 2022-01-07 11:00
spring还在频繁的升版。甚至还在推出云原生开发,spring不倒,怎么就说java过时了呢?
桃酥萝莉
8楼 · 2022-01-07 11:00
除了汇编和c语言,任何一门语言未来都可能淘汰,问题是多远的未来。java在走下坡路,但过时还早着呢
打不倒的小乖兽
9楼 · 2022-01-07 11:00
java可能以后会被淘汰,但是未来的5年、10年肯定不会java诞生这么久,直到现在java的人才还没有任何饱满的迹象,社会上大多依然是供不应求的状态;虽然技术是不断发展的,但是别忘了,技术与技术之间都是相通的,拿现在安卓和大数据相比,这都是基于java语言实现的,所以这就能体现出java语言的重要性,你想接触大数据这类的新技术,还是要学习java。换句话说,即使java岗位在未来真的饱和了,他们这类技术之间都是相联系的,新技术或者新语言里一定会有java的内容。但是现在,不可能被取代!

相关问题推荐

  • 回答 2

    Statement的execute(String query)方法用来执行任意的SQL查询,如果查询的结果是一个ResultSet,这个方法就返回true。如果结果不是ResultSet,比如insert或者update查询,它就会返回false。我们可以通过它的getResultSet方法来获取ResultSet,或者通过getUpda...

  • 回答 22

    忙的时候项目期肯定要加班 但是每天加班应该还不至于

  • 回答 108
    已采纳

    虽然Java人才越来越多,但是人才缺口也是很大的,我国对JAVA工程师的需求是所有软件工程师当中需求大的,达到全部需求量的60%-70%,所以Java市场在短时间内不可能饱和。其次,Java市场不断变化,人才需求也会不断增加。马云说过,未来的制造业要的不是石油,...

  • 回答 5
    已采纳

    工信部证书含金量较高。工信部是国务院的下属结构,具有发放资质、证书的资格。其所发放的证书具有较强的权威性,在全国范围内收到认可,含金量通常都比较高。 工信部证书,其含义也就是工信部颁发并承认的某项技能证书,是具有法律效力的,并且是国家认可的...

  • 回答 70
    已采纳

    学Java好不好找工作?看学完Java后能做些什么吧。一、大数据技术Hadoop以及其他大数据处理技术都是用Java或者其他,例如Apache的基于Java 的 HBase和Accumulo以及ElasticSearchas。但是Java在此领域并未占太大空间,但只要Hadoop和ElasticSearchas能够成长壮...

  • 回答 16
    已采纳

    就是java的基础知识啊,比如Java 集合框架;Java 多线程;线程的五种状态;Java 虚拟机;MySQL (InnoDB);Spring 相关;计算机网络;MQ 消息队列诸如此类

  • 回答 12

    #{}和${}这两个语法是为了动态传递参数而存在的,是Mybatis实现动态SQL的基础,总体上他们的作用是一致的(为了动态传参),但是在编译过程、是否自动加单引号、安全性、使用场景等方面有很多不同,下面详细比较两者间的区别:1.#{} 是 占位符 :动态解析 ...

  • 回答 62

    没问题的,专科学历也能学习Java开发的,主要看自己感不感兴趣,只要认真学,市面上的培训机构不少都是零基础课程,能跟得上,或是自己先找些资料学习一下。

  • 回答 4

    1、反射对单例模式的破坏采用反射的方式另辟蹊径实例了该类,导致程序中会存在不止一个实例。解决方案其思想就是采用一个全局变量,来标记是否已经实例化过了,如果已经实例化过了,第 二次实例化的时候,抛出异常2、clone()对单例模式的破坏当需要实现单例的...

  • 回答 5

     优点: 一、实例控制  单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。 二、灵活性  因为类控制了实例化过程,所以类可以灵活更改实例化过程。 缺点: 一、开销  虽然数量很少,但如果每次对象请求引用时都要...

  • 回答 4

    这个主要是看你数组的长度是多少, 比如之前写过的一个程序有个数组存的是各个客户端的ip地址:string clientIp[4]={XXX, xxx, xxx, xxx};这个时候如果想把hash值对应到上面四个地址的话,就应该对4取余,这个时候p就应该为4...

  • 回答 6

     哈希表的大小 · 关键字的分布情况 · 记录的查找频率 1.直接寻址法:取关键字或关键字的某个线性函数值为散列地址。即H(key)=key或H(key) = a·key + b,其中a和b为常数(这种散列函数叫做自身函数)。...

  • 回答 6

    哈希表的大小取决于一组质数,原因是在hash函数中,你要用这些质数来做模运算(%)。而分析发现,如果不是用质数来做模运算的话,很多生活中的数据分布,会集中在某些点上。所以这里最后采用了质数做模的除数。 因为用质数做了模的除数,自然存储空间的大小也用质数了...

  • 回答 2

    是啊,哈希函数的设计至关重要,好的哈希函数会尽可能地保证计算简单和散列地址分布均匀,但是,我们需要清楚的是,数组是一块连续的固定长度的内存空间

  • 回答 3

     解码查表优化算法,seo优化

  • 回答 5

    1.对对象元素中的关键字(对象中的特有数据),进行哈希算法的运算,并得出一个具体的算法值,这个值 称为哈希值。2.哈希值就是这个元素的位置。3.如果哈希值出现冲突,再次判断这个关键字对应的对象是否相同。如果对象相同,就不存储,因为元素重复。如果对象不同,就...

没有解决我的问题,去提问