东莞折扣网
东莞广告联盟 东莞本土门户网站

解读Java【绿芽君】

2 个月前,InfoQ 英文站发布了一份《2019 Java 发展趋势报告》,有些开发者对 Java 产生了深深的怀疑,基于这个原因,分享一下对 Java 有一个正确的认识:既不捧杀,也不要妖魔化。

毫不惭愧的说,来自阿里、腾讯、华为、美团、今日头条、小米、红帽… 多家技术实践前沿企业,报告范畴不仅包括 Java、JVM、Java EE 主流框架,还包括了各企业的 Java 应用实践访谈以及对 Java 趋势的点评。话不多说,切入正题。

一个新的技术,从一开始出现到最后走向成熟,必然会经历创新者、早期采用者、早期大众、晚期大众的阶段。

虽然每个人群间都会有裂缝,但是早期采用者和早期大众之间的那条裂缝最大,这条裂缝就是传说中的“鸿沟”,只有跨越过这条鸿沟,渗透到早期大众这个人群,产品才等于是进入了主流市场。

重要结论

1、Java 13 处于创新者阶段,Java 11 处于早期采用者阶段,Java 8 处于晚期大众阶段。

  • Java 11 将是未来 Java 用户的最可能选项;
  • 如果一个公司对大堆栈 GC 能力、延迟 SLA 等方面要求没有那么高,就没有足够动力去做相关升级,也未必有技术力量解决版本评估、兼容性修正等现实问题;
  • Java 新版本升级在中国的宣传还是不够,如果很多企业看不到技术升级的红利,势必也影响升级的积极性。

2、OpenJDK 处于创新者阶段。

  • 虽然国内很多头部厂商都在定制 OpenJDK,但是目前定制 OpenJDK 被采用范围还都有限,主体使用还是 Oracle JDK(根据《JVM 生态系统报告 2018》调查显示,70% 的开发者选择使用 Oracle JDK,21% 的开发者选择使用 OpenJDK)
  • 厂商是否转向 OpenJDK,还有一个重要考量因素就是看他们是否愿意付费使用 OracleJDK,如果不是的话,未来 OpenJDK 可能会逐渐取代 Oracle JDK,目前国内头部厂商都在 OpenJDK 上有所动作;(对于参与 OpenJDK 的国内头部厂商来说,可能他们的看法更加积极,他们把 OpenJDK 定义在早期大众阶段)
  • 大家在公有云、私有云等方面的竞争格局,深刻影响着在 OpenJDK 上的竞争格局;
  • OpenJDK 很可能被认为是一种退⽽求其次的选择。
  • Groovy 已快成为明日黄花,往昔的光芒逐渐地被后起之秀 Kotlin 替代;
  • Scala 在适合的领域做王者就够了,主流不主流没那么重要;
  • Kotlin 被谷歌强推,谷歌支持的基本上都成功了,但是对 Kotlin 未来发展空间还是表示怀疑;
  • 网上很多文章都在鼓吹,说 Kotlin 最终会取代 Java 成为新一代 JVM 主流语言, 但是从诞生到现在,好像依然没有语言能取代 Java。
  • Java 不再是微服务唯一的选择;
  • 在技术多元化的今天,支持多语言的微服务开发框架是个必须品。

Java/JVM

其实在 Java 版本方面,各位专家的观点完全一致:Java 13 处于创新者阶段,Java 11 处于早期采用者阶段,Java 8 处于晚期大众阶段。

在 InfoQ 面向开发者的 Java 使用版本调查中,毫无悬念,在参与问卷调研的开发者中,88.7% 正在使用 Java8 版本,这些人当中只有 35% 有升级计划,剩余 65% 并没有升级计划。

所以结论就是:Java11 处于早期采用者阶段。

OpenJDK 定制版或者公开发行版

目前国内开发者使用最多的依旧是 Oracle JDK,其次是 IBM JDK,也有部分企业采用 OpenJDK。

据来自美团的吴革介绍:美团现阶段正在测试基于 OpenJDK 的 MtJDK,作为美团 JDK 基础服务。此外,美团主要会关注 Redhat 和 Amazon 的升级。由于 Azul 没有公开 OpenJDK 源代码,所以美团没有基于 Azul 进行研发。

在 Java 收费的情况下,OpenJDK 一定是大势所趋,Java 会越来越开放,深度参与 OpenJDK 也是为了通过社区驱动 Java 往前走;这也是符合客户的诉求。

主要是国内公司大都在强调业务创新的速度,没有做如此深度的底层更新的耐心和业务必要性。而且从技术上来看,在动态特性支持等需求没有平滑解决方案之前,迁移难度很高,会带来很高的开发和运维成本。所以对于国内普通企业用户来说,没有单独关注的价值。

Java 不再是微服务唯一的选择。

Java 应用实践

目前阿里巴巴大部分的应用运行在 Dragonwell  8,有些已经运行在了 Dragonwell 11, 我们正在逐步推动从 Java8 到 Java11 的升级,充分享受技术红利。

美团吴革:美团现阶段主要使用 Java8,很少一部分是 Java7。部分核心团队正在尝试 Java 11。在美团内部采用的开发版本 JDK 主要还是 Oracle JDK。我们在服务器上的 JDK 版本主要是美团自己的 MtJDK 和 Oracle JDK。美团现阶段正在测试基于 OpenJDK 的 MtJDK,作为美团 JDK 基础服务。

Java 作为使用最为广泛的语言,最近几年还是有比较大进步的,无论从语法的易用性上还是性能上都有很大程度的提升。

美团吴革:美团在 2015 年开始微服务架构演进,核心系统已经 100% 微服务化。

红帽陈楚晖:已经进行了微服务实践,在整体系统架构中占比不超过 30%。

华为田晓亮:华为云的所有服务都采用微服务架构,但并非所有服务都用了某种微服务解决方案——比如 ServiceComb,Istio 或者 Spring cloud,各服务主要是自行实践微服务设计模式。但几乎所有应用服务都采用了华为云容器服务 CCE(Cloud Container Engine) 的 kubernetes 集群。

华为许多的云服务和内部项目采用了 ServiceComb 的微服务解决方案,比如消费者云,在全世界运行着数千微服务实例来为手机用户提供服务。此外,华为云的音视频服务也运行着数千的微服务实例,来提供视频通话、音视频解码等服务。并且我们也向社区(通过 ServiceComb)和商业用户(通过 ServiceStage)提供解决方案。

大环境来看,传统企业面临的挑战依然是业务系统如何向微服务转型,以构建自己的业务平台,在这其中微服务框架是一种手段。为了寻求更快速地微服务化,开发人员就会避免学习陡峭的开发框架,而转向使用 Service Mesh。开发者将结合轻量的 SDK(例如对接监控系统、配置管理、AI 平台,而不是微服务框架)与 Service Mesh 来实现自己的业务系统,从繁重的架构工作中解放出来。

在可预见的将来,Java 依旧是企业软件、大数据、电商等等最核心的技术栈。但是目前 Java/JVM 能力在云时代有一定局限性,比如云里强调的无服务器、微服务等场景,Java/JVM 都有一定短板。

但是 Java 会被取代吗?应该也不会,目前在社区、工具、类库等等方面,Java 还没有真正意义的对手,但是最大的威胁是新的需求浪潮是否与你有关。Java 目前仍具在编程语言排⾏榜上夺魁的能力,不过在整体比重上微幅下滑。个⼈看来,未来这个趋势还将持续。究其原因,一⽅⾯是由于新语种出现的中短期效应,一方面是 Java 的编程复杂度并没有明显的降低,比如 I/O 处理、并发 / 并⾏计算,以及类加载等等。再者是 Java 与操作系统之间的交互仍不够充分,尽管 Java 9 开始提供了不少的 API,然⽽了解和使用的群体不⾜。Java 在这方面明显不及 GO 语言。

字节跳动王石冲:Scala 语言目前有两个大的目标运行平台——JVM 和 js,所以 Scala 作为一个语言和生态并不敢完全投资在单一目标平台上。虽然 JVM 本身在不断进步,但是 Java 已经被同平台的多种语言赶超,比如 Kotlin、Clojure、Groovy。

 

广东善财网络_软件系统开发,小程序开发,网站建设,推广获客!
广东省企业管理研究院、龙商荟刊编辑部、东莞折扣网官媒
广告投放企业营销流量引流,东莞广告联盟!
谢谢你,成为东莞折扣网的好友!送您4节企业文化课程【0769】限时领取。请关注微信号:DGHF0769 领取(暗号:绿芽君) 联系电话13751333123

免费学习国学文化,请点击国学讲堂

 

赞(1) 打赏
未经允许不得转载:东莞折扣网 » 解读Java【绿芽君】
分享到: 更多 (0)
广告也精彩
广告也精彩
在线客服
在线客服
热线电话

美惠家商城 万江新村店

美惠家商城万江新村店

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

站点地图