首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java的替代方案是什么?

Java的替代方案是什么?
EN

Stack Overflow用户
提问于 2010-08-30 05:29:01
回答 3查看 9.3K关注 0票数 11

当Oracle起诉Google而不是Dalvik VM时,很明显,如果没有Oracle的许可,就不能实现Java (编辑: Matthew指出,Oracle的声明可能无效)。无论如何,我们目前的情况是,Oracle威胁VM-实现。)这可能会成为Java的开源实现(比如阿帕奇和谐)的死亡。

我不想讨论这场诉讼的影响或合法性。但作为一名Java程序员,我想更深入地研究各种替代方案,为每一种情况做好准备。正如我认为编译器的创建是一个小问题一样,我的主要兴趣是替代VM-实现,这些实现具有与JVM类似的目的。

我正在寻找的VM应该满足一些条件:

  • 不涉及专利问题
  • 存在一个开源实现。
  • 优化潜力/良好性能
  • 平台无关( VM可以移植到不同的平台,没有更大的障碍)

请给我一些建议。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-30 05:42:14

LLVM是一个非常好的优化、低级虚拟机。它可以支持C和C++等语言,并且不支持垃圾收集等高级功能。

VMKit是在LLVM之上的Java和CLI虚拟机的实现。由于它使用Java字节码,这可能无助于解决专利问题。

HLVM是构建在LLVM之上的另一个有趣的高级虚拟机。它可能有足够的不同,以避免大多数众所周知的专利,但它主要是针对数值计算和函数式编程。

在动态类型方面,有鹦鹉

实际上,我正在为自己设计的语言编写编译器和VM,但不要指望它会完成。;-)

请记住,任何大型软件都会侵犯大量专利,重要的是它们的知名度有多高(以及专利所有者积极寻找侵权人的程度)。当然,整个专利制度是荒谬的,我们最好摆脱它。

票数 6
EN

Stack Overflow用户

发布于 2010-08-30 05:33:28

我不认为有任何重要的软件是没有专利问题。

如果你是一个独立的开发人员,或者在一家较小的公司工作,你可能不会直接受到这些问题的影响。拥有专利的大公司不太可能追求大量小额索赔--这是一个昂贵的过程,会引起很多不满。上海合作组织尝试过这样的做法,但对他们来说效果不太好。

我会集中精力为这项工作寻找最好的工具,而不会过多地担心专利问题,否则你将永远做不到任何事情。

票数 4
EN

Stack Overflow用户

发布于 2019-04-08 00:41:07

GraalVM是由Oracle开发并已经在Twitter上生产的一个研究项目。我真不敢相信我的眼睛居然没人提起这件事,太奇怪了。无论如何,GraalVM是Java虚拟机的一个很有前途的扩展,它支持更多的语言和执行模式来运行应用程序,如JavaScript、Python、Ruby、R、基于JVM的语言,以及基于LLVM的语言,例如C和C++.The GraalVM项目,它包括一个新的高性能的java编译器,称为Graal,它可以用于HotSpot VM上的实时配置,也可以用于SubstrateVM上的提前时间配置。本项目的主要目标是提高java虚拟机基础语言的性能,以匹配本机语言的性能。让我们总结一下这个项目提供的新特性,并根据文档简要说明为什么要采用它。

  • Polyglot:所有语言(甚至基于LLVM)共享相同的VM及其功能。编程语言之间的零开销互操作性允许您编写多边形应用程序并为您的任务选择最佳语言。
  • 本机:提前用GraalVM编译的原生映像,改善了启动时间,减少了基于JVM的应用程序的内存占用。
  • 可嵌入: GraalVM既可以嵌入托管应用程序,也可以嵌入本地应用程序。OpenJDK、Node.js、Oracle和MySQL GraalVM中存在集成,消除了编程语言之间的隔离,并启用了共享运行时中的互操作性。它可以独立运行,也可以在OpenJDK、Node.js、Oracle或MySQL的上下文中运行。

  • Performance: Graal基准报告显示,由于GraalVM执行对象分配的方式,其几乎所有实现都有很大的性能改进。

如果有人现在还没有被说服,那是一个很好的选择,而且这是一个非常棒的项目,你可以看到克里斯蒂安·塔林格在“为什么Graal是一个很适合Twitter的人”上的这个谈话

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3600784

复制
相关文章
设置和获取HTTP标头
%Net.HttpRequest的以下每个属性都包含具有相应名称的HTTP标头的值。如果不设置这些属性,则会自动计算它们:
用户7741497
2022/06/09
2.5K0
查询oracle视图创建语句及如何向视图中插入数据[通俗易懂]
今天由于要测试接口,需要在数据库中插入一些测试数据。但当我在向数据库插入数据的时候,发现接口查询的是视图并不是表,所以将遇到的问题在这里记录一下。
全栈程序员站长
2022/07/28
4.3K0
查询oracle视图创建语句及如何向视图中插入数据[通俗易懂]
我又踩坑了!如何为HttpClient请求设置Content-Type标头?
平台显示 :签名校验失败, 排查到平台收到的Post Payload并非预期,阅读本文,解锁正确使用Content-Type标头的姿势。
有态度的马甲
2020/10/10
8.4K0
我又踩坑了!如何为HttpClient请求设置Content-Type标头?
通过 HTTP 标头的 XSS
在某些情况下,在应用程序的一个 HTTP 标头中传递的信息未正确清理,并在请求页面的某处或另一端输出,从而导致 XSS 情况。
Khan安全团队
2022/03/09
2.1K0
通过主机标头的 XSS
在 IE 中处理重定向时有一个有趣的错误,它可以将任意字符插入到 Host 标头中。假设您有以下 http 响应:
Khan安全团队
2022/01/11
1.6K0
常见的HTTP标头介绍
在网络爬虫的实践过程中会遇到诸多挑战,被屏蔽是最令人头疼的一个。幸好,有许多技术可以帮助您免受IP屏蔽带来的影响,这其中,HTTP标头(HTTP Headers)的使用和优化是最有效的方法之一,但它往往也是最被大家低估的方法之一。
用户7850017
2022/05/07
1.1K0
常见的HTTP标头介绍
MyBatis处理动态设置表名
在MyBatis中,我们可以通过动态SQL语句来处理动态设置表名的需求。例如,在某些情况下,我们需要在查询或更新操作中动态指定表名,例如根据用户的角色动态切换到不同的表中进行操作。
堕落飞鸟
2023/05/15
2.4K0
matplotlib画图中的各种设置
原文出处:https://www.jianshu.com/p/8006d74ac9e7
SL_World
2021/09/18
2.8K0
django 视图中使用多线程
如果你需要在django视图中使用多线程执行其他任务,然后发现执行完后并没有达到你逾期的执行结果,
kirin
2021/04/09
2K0
HANA计算视图中的RANK使用方法
2、当我们必须从源集中的多个记录或前N个或后N个记录中选择最新记录时,这将非常有用。
matinal
2020/11/27
1.6K0
【DB笔试面试541】在Oracle中,如何查找存储过程或视图中引用了哪些基表?
可以查询DBA_DEPENDENCIES视图,该视图记录了对象与对象之间的依赖关系,NAME列为当前对象,而REFERENCED_NAME为其依赖的基对象。所以,该视图也可以查询某个表被哪些对象所引用,从而知道该表是否可以被删除。
AiDBA宝典
2019/09/29
2.1K0
SpringDataJPA笔记(10)-动态设置表名
在实际使用中可能会遇到需要动态设置表名的情况,特别是通常在后台管理系统里面,总有一些相似的功能需要抽象出来写一些公共的方法,以减少代码开发量,降低重复劳动
yingzi_code
2020/03/24
2.2K0
SpringDataJPA笔记(10)-动态设置表名
在 SwiftUI 视图中打开 URL 的若干方法
本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接,以及如何自定义打开 URL 前后的行为等。
东坡肘子
2022/07/28
7.8K1
在 SwiftUI 视图中打开 URL 的若干方法
【译】在列表视图中处理空值
本篇文章主要针对两类开发者。第一个是曾遇到过IllegalArgumentException: Path must not be empty问题的开发者。第二个则是当ListView使用了未被完整加载的图像,应用程序仍能正确运转的开发者们。
小鄧子
2018/08/20
1.2K0
如何正确设置CRON定时任务
相信很多人看了标题后都会纳闷:设置 CRON 定时任务有什么难的?不过请相信我,正确设置 CRON 真的不是一件简单的事情!各位看官不妨听我慢慢道来。
LA0WAN9
2021/12/14
1K0
博客站长如何正确设置SEO
提高PR就一个办法——和别的网站多多做友链,链接要越多越好,注意质量,不要选择太垃圾的网站。
老潘
2023/10/19
2540
博客站长如何正确设置SEO
如何设置Ansible AWS的动态清单
当您将Ansible与AWS结合使用时,维护清单文件将是一项繁重的任务,因为AWS经常更改IP,自动缩放实例等。但是,有一个简单的解决方案就是ansible动态清单。它基本上是一个Python脚本,当您运行ansible命令时会进行API调用以获取实例信息。这将为您提供动态清单详细信息,这些信息可以用来方便管理AWS基础架构。
JFrog杰蛙科技
2020/06/24
1.6K0
如何正确的进行数据的分库分表
如果数据多到一定程度,就需要分库分表来存储数据了,这个一定程度的判断也比较难,总体而言,
jerryteng
2021/12/21
1.9K0
如何正确的进行数据的分库分表
点击加载更多

相似问题

如何取消表视图中的表视图节标头

12

设置RecyclerView标头视图中的问题

18

列表视图中的标头

12

在网格视图中冻结标头时,正确设置页眉宽度和列

216

快速访问表视图中的每个标头和控件

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文