0

0

微软全力拥抱 Java !

星夢妙者

星夢妙者

发布时间:2025-09-04 09:04:19

|

804人浏览过

|

来源于php中文网

原创

来源:csdn(id:csdnnews)

虽然一直以来,微软的不少产品在很多层面都有使用 Java 语言,但近日其官网上的一则「Microsoft is committed to the success of Java developers」(微软致力于 Java 开发者的成功)的公告正式吹响了微软全面拥抱 Java 的号角。

对此,我们也不禁好奇,继构建 C#、.NET、TypeScript、Visual BASIC、JScript 等语言之外,微软为何要大费周章地再去深入 Java?在本文中,我们将从近年来微软的种种足迹中探寻原因。

微软全力拥抱 Java !

微软对 Java 的最新动作

在这篇公告中,微软开发者部总裁潘正磊(Julia Liuson)表示,“作为一家公司,我们致力于使 Java 开发人员尽可能地高效和高产。这一承诺意味着开发者能够在任何操作系统上使用任何工具、框架和应用服务器。”

立即学习Java免费学习笔记(深入)”;

为此,微软推出了一个专门针对 Java 所有相关内容的新网站(developer.microsoft.com/java),该网站提供了微软 Java 云开发团队的最新内容以及技术文档、工具、资源、教程、视频和代码示例。

微软全力拥抱 Java !

除此之外,微软也在工具方向增加了对 Java 的诸多支持,其中,在新版本的 VS Code 中带来了更多 Spring 相关的新功能更新,譬如:

其一,增加了查看实时进程中的 Spring Bean 属性。

如果没有 IDE 的支持,开发者必须编写代码来获取 ApplicationContext 和调用 .getBeanDefinitionNames() 才能得到同样的结果。比如说:

代码语言:javascript代码运行次数:0运行复制
System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames());

在添加了这一功能之后,VS Code 可以展现 Bean 的属性信息,即它们是否是 Singleton、prototype 等,同时还可以用“defined”来标记自己的 Bean,以保持事情的条理性。

微软全力拥抱 Java !
其二,更好的 Spring 入门体验。

通过让 IDE 自动加载 Initializr 的 HELP.md 文件,为使用 Spring Initializr 初始化的项目提供了更好的启动体验。事实上,HELP.md 包含了有用的信息,但过去大部分开发者都忽略了它的存在,如今随着这一功能的改进,方便开发者上手。

其三,Java Project Explorer 集成了 Maven 和 Gradle

有点像 Intellij,微软加强了 VS Code,使其更容易访问最频繁的构建操作,如访问访问 POM 或调用 Maven。

与此同时,微软并没有把对 Java 和 Spring 的支持局限于 VSCode,它还加强了对 Intellij 和 Azure 的支持。

微软与 Java 的爱恨情仇

当然,以上仅是微软近段时间为扩建自己的 Java 生态版图所做的一些工作。其实,微软对拿下 Java 开发者的“野心”也非一两天之间才有的。

如果说曾经依靠 Windows 构建起生态帝国的微软不可一世,从藐视开源、嫌弃 Linux,再到开源、数字化浪潮下的“微软爱 Linux”并稳居开源贡献榜单的 Top 之列,那么,它对 Java 的态度也有这样的一个转变过程。

在 Java 诞生的第二年,一群有敏锐的前瞻意识的人发现了这门语言的潜力,其中就包括了来自微软的专家们。时任微软 CEO 的比尔·盖茨也曾评价道,“Java 是很长时间以来最优秀的程序设计语言。”

在此趋势之下,微软在 1996 年 3 月与还没有被 Oracle 收购的 Sun Microsystems 签订了一份 Java 许可协议。可以说,微软应用 Java 的这一举措也极大地推动了 Java 自身的普及与发展。不过,好景并不长。

在 1996 年 9 月的某一天,微软浏览器部门主管向时任微软 CEO 的比尔·盖茨详细解释了 Java 给微软带来的威胁,并恳切提醒道:“Java 绝不仅仅是一种语言,它是 COM 的替代者(COM 即 Componet Object Model,在 Windows 中大量使用的编程模型)!”

随即,比尔·盖茨给当时身为微软 CTO 的 Nathan Myhrvold 发了一封主题为“Java 运行时成为操作系统”的邮件,并表示“我很担心 Java/Javabean 和其运行时到底会发展成怎样、会让多少人兴奋。我真的在这个问题上失眠了,因为随着转向更多基于服务器的应用程序,似乎会让人们易于使用我们竞争对手的操作系统。”

为了降低这样的焦虑,微软研发了一款 Java 集成开发环境,使用的语言是 J++。一定程度上可以将 J++ 视为是 Java 的一个变种,其语法、关键字等都与 Java 有异曲同工之处。

这样有些“擦边球”的行为,引发了 Sun 公司的注意。于是,1997 年 11 月,Sun 公司以违反合同为由对微软提起诉讼,指控微软分发了与 Sun 不兼容的 Java 版本。Sun 于 1998 年 5 月修改了其诉讼书,添加了不正当竞争和侵犯版权的指控。

彼时 Sun 在法庭上辩称,微软将 Java 的“一次编写,随处运行”功能视为对 Windows 的威胁,因为 Java 降低了软件开发人员为微软操作系统编写程序的动力。据 Sun 公司称,微软发布的 Java 版本与其 Windows 软件配合得更好。Sun 的律师表示,这样的举动威胁到 Java 提供跨平台开发环境的能力。

MusicAI
MusicAI

AI音乐生成工具

下载

微软强烈否认有任何不当行为,并坚称它坚持与 Sun 签订的许可协议。该公司辩称,微软对 Java 所做的任何更改都只是允许开发人员利用 Windows 特有的功能。

历经三年之后,在 2001 年 1 月,两家达成和解,最终以微软同意向 Sun Microsystems 支付 2000 万美元,并且永久禁止在其产品上使用“Java 兼容”商标。不过,此时的微软还可以继续提供采用 Sun 开发的 Java 技术的现有产品,但这一场官司也让微软有了其他的想法。

在这一年的 7 月,微软宣布开始在 Windows XP 系统中不再支持 Sun 的 JVM,从而扶持自家的 .NET 平台,与 Java 分庭抗礼。

为什么此时要对 Java 展开攻势?

那要问微软为何要在时下再次拥抱 Java,根据微软官方的解释是,「如今,越来越多的 Java 开发者正在考虑如何将现有的 Java 应用程序迁移到云中,或者如何构建新的云原生应用程序。我们一直在努力让您更轻松地使用您喜欢的工具和框架将 Java 应用程序迁移到云中。然后,您可以使用您已经了解和信任的相同应用程序服务器和开源技术轻松部署和扩展。」

多年来,Java 已经积累了庞大的开发者群体,且有数以万计的设备使用 Java。在云时代下,微软在产品研发过程中也添加了对 Java 的高度支持。

除了在上文提到了的 VS Code 之外,微软在 Intellij IDEA、GitHub、Playwright、Apache Maven、Gradle 等工具方面,以及在某些产品上都有 Java 的身影。

如微软在搜索引擎 Bing 中的支持 Windows 开始菜单中的搜索功能,便是使用 Java 来执行与索引相关的功能,同时 Bing 横跨 50,000 多台服务器上有数十万个 JVM。

在 2019 年 8 月,微软收购了一家主营业务是 Java 性能优化的公司——jClarity。2021 年,时间点有些巧合的是,彼时 4 月 5 日,美国最高法院在 Google 与 Oracle 之间关于在 Android 使用 Java 的诉讼案中,最终判定 Google 开发 Android 使用的 Java API 代码合理。次日,与此事没有任何关系的科技巨头微软便推出了自家的 JDK 项目 Microsoft Build of OpenJDK 版本。

微软全力拥抱 Java !
微软全力拥抱 Java !

来源:https://cdn.graph.office.net/prod/media/java/infographic-evolution-of-java-at-microsoft.pdf?v={1/string}

整体而言,微软此举一方面是想要在 Java 的市场中站稳脚跟,另一方面根据官方发布的 Java 演进图显示,微软在自己的基础设施中大量使用 Java,特别是它的 Azure 生态系统(Azure Spring Cloud、Azure App Service、Azure Functions、Azure Kubernetes),为此它需要有自己的统一和通用的构建方式。

再者,正如 i-programmer 评价道,“微软此举还有将 Azure 推给 Java 开发者的宣传动机,微软试图引诱他们,甚至通过提供免费课程帮助他们迁移他们的应用程序。”

不过,归根究底,对开发者而言,也是一个不错的消息。

参考资料:

https://www.infoworld.com/article/2074908/sun-microsoft-settle-java-lawsuit.html

https://www.i-programmer.info/news/80-java/15701-microsoft-goes-all-out-on-java.html

------

我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!

推荐阅读深入Quartz,更优雅地管理你的定时任务高德导航免费,那他靠什么收入?简单几步,实现 Redis 查询 “附近的人”

··································

你好,我是程序猿DD,10年开发老司机、阿里云MVP、PHP中文网TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

点击领取2022最新10000T学习资料

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

49

2026.02.13

TypeScript全栈项目架构与接口规范设计
TypeScript全栈项目架构与接口规范设计

本专题面向全栈开发者,系统讲解基于 TypeScript 构建前后端统一技术栈的工程化实践。内容涵盖项目分层设计、接口协议规范、类型共享机制、错误码体系设计、接口自动化生成与文档维护方案。通过完整项目示例,帮助开发者构建结构清晰、类型安全、易维护的现代全栈应用架构。

196

2026.02.25

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

61

2026.03.13

spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

161

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

89

2026.01.26

Java 微服务与 Spring Cloud 实战
Java 微服务与 Spring Cloud 实战

本专题讲解 Java 微服务架构的开发与实践,重点使用 Spring Cloud 实现服务注册与发现、负载均衡、熔断与限流、分布式配置管理、API Gateway 和消息队列。通过实际项目案例,帮助开发者理解 如何将传统单体应用拆分为高可用、可扩展的微服务架构,并有效管理和调度分布式系统中的各个组件。

51

2026.02.05

Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

0

2025.09.15

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1051

2023.08.02

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.7万人学习

Excel 教程
Excel 教程

共162课时 | 21.4万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号