傻大方


首页 > 人文 >

Java|回顾2020年Java的表现是否依旧强势的?



按关键词阅读:

Java|回顾2020年Java的表现是否依旧强势的?

文章图片

Java|回顾2020年Java的表现是否依旧强势的?

文章图片


尽管全球动荡不安 , 但2020年的Java充斥着新功能 , 并且如期发布了两次 。 Java将仍然是开发企业应用程序(即大公司用来赚钱的企业应用程序)的主要平台之一 。
每年 , 他们都预测Java会很快死亡 , 但这不会发生 , 并且不会很快发生(我猜永远不会发生! , 哈哈) 。
Java及其重要创新Java将仍然是开发企业应用程序(即大公司用来赚钱的公司应用程序 。 此类应用程序具有大量代码库和高可靠性要求)的主要平台之一 。 Java非常适合微服务架构 , 尽管它不是微服务架构的唯一选择 。
Java变得更加可预测 。 这些发布大概每六个月发生一次 , 与灾难 , 大流行和危机无关 。 很好:在这样一个不稳定的世界中 , 有一点稳定的小岛不会受到伤害 。 2020年 , 我们收到了两个更新 , 分别是14和15 。
但是 , 根据JetBrains进行的一项调查 , Java 8仍然是最受欢迎的版本(占受访者的75%) , 而Java 11排名第二(占受访者的32%) 。 这是为什么?

这很简单 。 正是在Java 8中 , 出现了最具革命性的创新 , 这些创新有助于加速程序员的工作并使之更加舒适 。 这主要是关于lambda表达式和函数式接口 。 关于Java 11的流行 , 秘密也很简单:它是LTS版本 , 即长期支持版本 。 LTS的下一个发行版是Java 17 , 它应该在2021年9月发布 。 因此 , 有一些有趣的创新是合理的 , 并且其中包含以前版本的JEP(Java增强提案) 。

2020版本的新重要功能(14和15)密封类(Sealed Classes) 这是Java 15中最重要的新功能之一 , 也是对该语言的唯一更改 。 现在 , 它作为预览功能引入 。
Java作为OOP语言是一种面向对象的语言 , 因此它支持继承 。 这意味着可以将公共状态和行为抽象为超类并由子类共享 。 因此 , 您不应该在每个子类中复制父类的实例变量或方法 。 在JDK 15之前 , 控制继承的唯一正确方法是final修饰符 , 因为它阻止任何类使用修饰符来扩展类 。 继承控制的替代方法是声明一个类或其构造函数包私有的 。 不是最好的方法!密封的类允许限制哪些其他类和接口可以扩展它们 。
JDK 15的第二个预览中提供了Records (Second Preview) , 这对Java来说是全新的东西 。 实际上 , 我们在Valhalla项目期间开发了一种新的数据类型 。 记录类似于枚举 , 它们使您可以简化代码 。 本质上 , 它们替换具有状态但没有行为的类 。 简而言之 , 有领域 , 没有方法 。 记录使您可以非常简短地声明一个类 , 然后将自动添加构造函数 , getter , equals方法 , hashCode和toString 。
文本块首先出现在Java 13中 , 随后出现在JDK 14中作为第二个预览 。 它们是多行字符串文字 , 可以用于大多数转义序列的需要 , 自动格式化字符串 , 还允许开发人员根据需要格式化字符串 。 作为Java语言的最终和永久功能 , 该实用功能现已在Java 15中提供 。
在运行时动态生成的隐藏类 。 “普通”软件开发人员可能不会估计它们 , 但是使用动态字节码的每个人都会发现它们的好处 。 它们不能直接链接到其他类的字节码 。 此类无法通过名称访问 , 并且它们会被积极地抛出内存 。
好吧 , 我们很有可能在将来的版本中满足这些功能 , 包括重要的JDK 17 。
春季框架:继续扩展其生态系统Spring是最流行的Java框架 , 几乎在每个项目中都使用它 。 包罗万象 , 即使是经验丰富的开发人员也可以发现他们从未见过的子项目 。 因此 , 毫无疑问 , Spring的生态系统将继续发展 。
我还要说 , Project Reactor和r2dbc起源于Spring的子项目 , 现在转向反应式开发方法的标准 。
Project Reactor是一个Java 8库 , 它实现了反应式编程模型 。 它是建立在反应式流规范的基础上的 , 反应式流规范是构建反应式应用程序的标准 。 R2DBC(反应式关系数据库连接)是一个开放源代码项目 , 专门用于SQL的反应式编程 。


新人:GraalVM本机映像仍在增长的最有趣的趋势之一是GraalVM本机映像 , 它使您可以将传统的Java应用程序转换为不需要JVM及其随附库的二进制应用程序 。
这样的二进制文件非常适合微服务体系结构和无服务器方法 , 因为它使您可以非常快速地启动应用程序的新实例 , 而无需“预热” JVM 。分页标题#e#

【Java|回顾2020年Java的表现是否依旧强势的?】Java将开发哪些与Java相关的领域
所有远程访问的东西正如2020年所显示的那样 , 预测有时会非常不准确 。 一只名为Covid-19的黑天鹅来访我们 , 破坏了我们的所有计划和许多预报 。 但是 , IT行业遭受的损失少于其他行业 , 并且在某些方面取得了胜利 。 首先 , 我们正在谈论与远程工作和学习以及分布式计算相关的技术 。
音频和视频会议系统 , 数据传输技术 , 用于一般访问的云(随着许多员工向远程模式过渡)已变得比以前更加重要 。 已经开发了用于在云和本地数据中心中部署应用程序的混合解决方案 。 安全远程工作的服务也非常重要 。 如果没有其他巨大的意外问题(例如COVID-19) , 但另一方面 , IT将会在2021年继续增长 。
此类大型系统 , 在线平台和Web应用程序的大多数后端都是用Java编写的 。 这种通用且功能强大的语言使您可以创建可以维护多年的容错 , 安全系统 。 当然 , 旧版代码在某种程度上是Java问题 , 但这也是力量 。 我的意思是 , 即使所有新事物的开发在一瞬间就停止了 , 那么仍然需要能够支持遗留代码的Java程序员再十年 。
移动开发移动应用市场将继续以前所未有的速度增长 。 由于SpaceX计划在2021年完全部署Starlink , 因此该全球卫星系统应该可以带来以前不可靠 , 昂贵或完全无法访问的高速宽带互联网访问 。 无论人们身在何处 , 它都将极大地帮助人们使用手机中的服务 。 因此 , Starlink很有可能刺激移动市场 。
根据IDC的数据 , 2020年第二季度 , 智能手机的出货量中有85%是通过Android设备生产的 , 这一结果或多或少是稳定的 。 当今的Android编程基于Java和Kotlin这两种语言 。 因此 , 这两种语言的需求量很大 。 顺便说一句 , 它们都是JVM语言 , 有些是亲戚 , 而年轻的Kotlin的唯一问题是 , 如果您不懂Java , 就很难学习它 。
人工智能发展您可能已经注意到 , 人工智能是如何从高度专业化的东西转变为生活在我们的电话 , 电视机顶盒 , 网站中的日常事物的……它在确定我们想要的东西变得更加准确 , 并且说实话 , 它会插入合适的广告 , 从而影响我们的需求 。 这将是2021年及以后的趋势 。
深度学习 , 机器学习 , 语音处理 , 复杂模式识别和其他人工智能技术很可能会继续发展 。 我想这些技术将变得更加普遍 , 并进一步了解我们!AI技术是使用多种工具和语言开发的 , 包括Python和Java 。
大数据Java是开发大数据项目的最受欢迎的语言之一 。 大数据正在持续增长 , 因此建议在这里Java也将增长是合乎逻辑的 。
我认为2021年最流行的大数据Java工具集Apache Hadoop将会增长 。
Apache Hadoop是大数据的基础技术之一 , 它是用Java编写的 。 Hadoop是一个免费的开源框架 , 其中包含实用程序 , 库和由Apache Software Foundation管理的框架 。 Hadoop最初是为可扩展和分布式但可靠的计算和存储大量信息而构建的 , 因此自然成为许多公司的大数据基础设施的枢纽 。 Hadoop生态系统包括软件工具 , 例如Apache Spark , Apache Hive , Apache HBase , Kafka等 。
SaaS , PaaS , FaS和微服务我想在未来几年中 , 产品将朝着SaaS和PaaS模式发展 。 对于此类模型 , 编程语言不是很重要 。 您可以从顶部选择适合您的任何一种 , 例如Java或Python 。 交互根据REST进行 , 这是事实上的标准 。 主要目标是灵活性 , 因此微服务也将成为趋势 。 这样可以降低开发成本 , 测试复杂性和开发时间 。 但是 , 这增加了系统的基础设施复杂性 。 在这方面 , DevOps专业正日益普及 。
这种趋势非常适合移动开发 , 因为逻辑是在服务器 , 群集或云上处理的 , 并且移动设备仅充当视图(有一些例外) 。 因此 , 很容易为移动设备编写应用程序 。
在2021年将变得更加普遍的另一趋势是无服务器架构或FaaS(作为服务器的功能) 。 但是 , 不要以为这种架构中没有服务器 。 实际上 , 该解决方案是基于服务器构建的 , 只是在此模型中 , 开发人员只专注于编码 , 而不是基础架构 。
也就是说 , 设置操作系统和硬件 , 网络配置以及应用程序扩展是无服务器服务提供商(例如Amazon或Google)的责任 。 从理论上讲 , 所有主要的云提供商都将为其客户提供无服务器选项 。
这种方法降低了运营成本 , 在软件开发过程中提供了更大的灵活性和动态性 。
这里的主要工具仍然是Kubernetes及其周围的服务网格形式的基础架构 。 每个重要的云提供商都提供使用Kubernetes集群的机会 。 并且如果考虑到应用程序是在Kubernetes中启动时编写的 , 这将使部署和扩展变得更加容易 。分页标题#e#
Kubernetes(K8s)是用于自动化容器化应用程序的部署 , 扩展和管理的开源软件 。
Kubernetes将组成应用程序的容器分组为逻辑单元 , 以便于管理和发现 。
Kubernetes在大量主机上管理和运行容器 , 并提供大量容器的共置和复制 。 该项目由Google启动 , 现在得到许多公司的支持 , 包括Microsoft , RedHat , IBM和Docker 。


    来源:(Java斗帝)

    【】网址:/a/2021/0227/kd746851.html

    标题:Java|回顾2020年Java的表现是否依旧强势的?


    上一篇:超暖|正月十六超暖心早上好问候祝福语唯美图片,最美早晨好问候祝福语短信

    下一篇:米聊|将权利交于用户,Flyme9安全隐私防护更牢固


    人文

    申通|申通入局社区团购

    阅读(36)

    社区团购市场规模已经突破千亿元,社区团购对于物流的要求也发生了极大的变化,从包裹演变为SKU颗粒度。“我们统计申通包裹平均的里程数,会发现八百公里以上的占65%。”王文彬...

    人文

    排煎|怎么判断鸡排煎熟了?小火慢煎,外表焦黄才是熟

    阅读(42)

    今天我们要学做的是炸鸡排,煎鸡排在外面很常见,一份鸡排价格快二十块钱了,而且油一般都是反复使用的。所以自己炸的话会更加的为生和健康,肉质也可以自己去选择。【菜名】柠檬煎鸡排【配料】鸡胸肉一块,玉米淀粉,适量的食用盐,黑胡椒,橄榄油,柠檬汁,...