首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果我使用OpenJDK作为JVM,是否需要打开源代码?

如果您使用OpenJDK作为JVM(Java虚拟机),通常情况下不需要打开源代码。OpenJDK是一个开源的Java开发工具包,它是Java SE(标准版)的一个开源实现。OpenJDK提供了Java编译器、运行时环境和类库等组件,可以用于开发和运行Java应用程序。

作为一个开发工程师,您可以直接使用OpenJDK提供的二进制文件,而无需查看或修改其源代码。OpenJDK的二进制文件可以在官方网站上下载并安装,以便您在开发和部署Java应用程序时使用。

然而,如果您对Java编程语言和JVM的内部工作原理感兴趣,或者希望参与OpenJDK社区的开发工作,那么您可以选择查看和研究OpenJDK的源代码。OpenJDK的源代码是公开可用的,您可以通过访问OpenJDK的官方代码仓库来获取源代码。

总结起来,使用OpenJDK作为JVM时,您不需要打开源代码,可以直接使用OpenJDK提供的二进制文件进行开发和部署。但如果您对Java和JVM的内部工作原理感兴趣,可以选择查看和研究OpenJDK的源代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在RockyAlma Linux 9 上安装 Java 17?

许多软件都需要 Java 和 JVM(Java 的虚拟机),包括 Tomcat、 Jetty、 Glassfish、 Cassandra 和 Jenkins。...让我们也安装一些我们可能需要的常用软件包,使用 vim 文本编辑器和 wget 下载软件包,请确保使用以下命令安装它们:sudo dnf -y install vim wget安装 Java使用以下命令检查您的系统中是否安装了...bashrc 让我们在文件中设置这些变量,使用文本编辑器打开文件,使用的是 vim:vim ~/.bashrc现在添加这些行来设置 Java 主目录并包含可执行文件二进制目录export JAVA_HOME...$ lsSimple.class Simple.java上面的命令只会将 Java 源代码编译成字节码,为了运行程序,我们使用类文件的名称作为参数运行 java 命令。...此外,如果您想使用其他 OpenJDK 版本而不是 17,请相应地调整路径。

1.5K20

Java 基本功 (基础概念与常识)

如果你只是为了运行一下 Java 程序的话,那么你只需要安装 JRE 就可以了。如果需要进行一些 Java 编程方面的工作,那么你就需要安装 JDK 了。但是,这不是绝对的。...有时,即使您不打算在计算机上进行任何 Java 开发,仍然需要安装 JDK。例如,如果使用 JSP 部署 Web 应用程序,那么从技术上讲,您只是在应用程序服务器中运行 Java 程序。...Oracle JDK 和 OpenJDK 的对比 可能在看这个问题之前很多人和我一样并没有接触和使用OpenJDK 。那么 Oracle 和 OpenJDK 之间是否存在重大差异?...下面通过收集到的一些资料,为你解答这个被很多人忽视的问题。 对于 Java 7,没什么关键的地方。OpenJDK 项目主要基于 Sun 捐赠的 HotSpot 源代码。...因此,如果您想开发企业/商业软件,建议您选择 Oracle JDK,因为它经过了彻底的测试和稳定。

47921
  • 整个国庆假期总算整理好了全网最新最简单的 OpenJDK13 代码编译

    1.下载源码 2.安装编译需要的依赖 3.安装 jdk 12 4.检查配置 5.开始编译 6.验证是否成功 回顾 最近因写文章需要查看 JVM 源码,有时代码逻辑不是很清晰,找半天,趁国庆假期,抽空下载了...OpenJDK13 搭建了 JVM debug 环境,把操作记录写在这篇文章里,让有需要的朋友可以参考,少踩坑。...这个过程根据网络状况,需要的时间不一,下载花了十来分钟。...3.安装 jdk 12 这个在文档里面称为 Boot JDK,就是编译时需要上一个版本的 JDK 做为基础,一般是使用 N-1 版本,比如编译 OpenJDK8 就使用 JDK7 作为 Boot JDK...6.验证是否成功 还需要再稳一点,验证编译后的 java 是否可用,通过下面的命令来验证。 .

    40560

    吃透这套BAT大厂Java面试题,拿offer成功率再翻一番

    如果你只是为了运行一下 Java 程序的话,那么你只需要安装 JRE 就可以了。如果需要进行一些 Java 编程方面的工作,那么你就需要安装 JDK 了。但是,这不是绝对的。...有时,即使您不打算在计算机上进行任何 Java 开发,仍然需要安装 JDK。例如,如果使用 JSP 部署 Web 应用程序,那么从技术上讲,您只是在应用程序服务器中运行 Java 程序。...那么Oracle 和 OpenJDK 之间是否存在重大差异?下面通过通过收集到一些资料对你解答这个被很多人忽视的问题。 对于 Java 7,没什么关键的地方。...关于 JVM,JDK,JRE 和OpenJDK 之间的区别,Oracle 博客帖子在 2012 年有一个更详细的答案: 问:OpenJDK 存储库中的源代码与用于构建 Oracle JDK 的代码之间有什么区别...因此,如果您想开发企业/商业软件,建议您选择 Oracle JDK,因为它经过了彻底的测试和稳定。

    51530

    在macOS上编译和调试OpenJDK

    获得源代码 首先从 Github 获取 OpenJDK源代码 $ git clone https://github.com/openjdk/jdk.git 安装必要的软件 Xcode App Store...命令安装 freetype 使用 brew install freetype 命令安装 boot JDK 构建 JDK 需要预先存在的JDK,这被称为“boot JDK”。...如果一切顺利,该脚本将汇总build的配置、将使用的工具,以及 build 将使用的硬件资源: Configuration summary: * Name: macosx-x86_64...使用 VS code 打开 OpenJDK源代码,在恰当的位置设置好断点,点击右上角三角运行图标,选择“Debug C/C++ file”: 然后在弹出列表中选择“(lldb) Launch“: 第一次运行会弹出错误信息...为了正确的找到源代码需要在launch.json中配置 sourceFileMap,将源代码的编译时路径映射到本地源代码位置。

    52211

    编译和调试openjdk8

    IDE:Netbeans 8.2(最新版本即可) 操作系统:Ubuntu 14.04 (内核3.13.0) make版本:3.81 源代码OpenJDK 8 编译OpenJDK 8 下载源代码 是直接下载打包好的源代码...(使用hg下载还需要再安装hg,这个东西相对来说还是太小众了),地址在这里 环境配置 唯一需要注意一点的就是Bootstrap JDK的版本需要低于要编译的JDK的版本。...即如果要编译OpenJDK 8,那么Bootstrap JDK的版本需要为7。 依赖安装没有必要复制别人的,你完全可以运行bash ./configure文件,它会提示你哪些依赖没有安装。...编译 make all 使用NetBeans调试 打开项目 其实OpenJDK 8里边已经有针对NetBeans生成好的项目文件,我们没有必要像有些文章或者书里边所说的创建新的C++项目然后导入源代码这么麻烦...,OpenJDk debug,OpenJDk fastdebug 在linux下编译openjdk7 Mac编译OpenJDK7(8)和Eclipse调试Hotspot 深入理解Java虚拟机:JVM高级特性与最佳实践

    1.9K20

    OpenJDK和Oracle JDK有什么区别和联系?

    《Linux 7安装Oracle 11g打怪经历》的安装过程中,启动图形界面,需要指定jre路径,当时使用yum install jdk安装的,并不能解决问题,查看版本才知道他是OpenJDK,最终使用...两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。...OpenJDK源代码不完整:这个很容易想到,在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放给OpenJDK使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码...因此这些不能开放的源代码 将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。...不能使用Java商标:这个很容易理解,在安装OpenJDK的机器上,输入“java -version”显示的是OpenJDK,但是如果使用Icedtea补丁的OpenJDK,显示的是java。

    13.6K20

    Java面试题(一)(基础概念与常识)

    JRE包括JVM和Java类库,提供了运行Java程序所需的所有组件。如果需要运行Java程序而不进行开发,只需要安装JRE即可。...如果需要进行Java程序的开发,需要安装JDK。...在实际使用中,如果需要运行Java程序,只需安装JRE;如果需要进行Java程序的开发,需要安装JDK。 什么是字节码?...不同的JVM可能会采用不同的性能统计信息和优化算法来判定热点代码。因此,代码是否被判定为热点代码也可能因JVM版本和配置而有所不同。...C的语法更复杂,需要对内存管理和底层操作有更深入的了解,因此学习和使用C++可能需要更多的时间和经验。 需要根据具体的应用场景和需求选择使用Java还是C++。

    18410

    什么是 OpenJ9

    OpenJ9 简单来说就是 JVM 的其中一个开源版本。 如果你默认安装的是使用 Oracle 的话,那么跑不了会看到一个 HotSpot,这个就是 Oracle 使用的版本。...按照 Oracle 的尿性,这个肯定是需要收费的了。 或者 JVM 不收费,一旦上了 Oracle 的贼船,下来就不那么容易了。 OpenJ9 好在我们现在有了 OpenJ9 了。...默认情况下,OpenJDK 使用名为 Hotspot 的 JVM。简单地说,OpenJ9 是一个 JVM 替代方案,可将其作为 OpenJDK 二进制文件的一部分。...Eclipse OpenJ9 是否与 Hotspot 相同 Hotspot 和 Eclipse OpenJ9 都是可以包含在 OpenJDK 中的 Java 虚拟机,但它们都具有不同的功能。...为什么要使用 Eclipse OpenJ9 而不是默认的 JVM 如果你正为应用程序寻找企业级的运行时环境,建议使用 Eclipse OpenJ9 构建 OpenJDK

    62840

    JDK源码编译与版号控制 发布于 20

    定义了目标编译的JDK使用环境,这里指代的是macOS --disable-warnings-as-errors 将warnings不作为errors来检查,如果不启用这项可能导致一些较老的C/C++...(如果之前构建过环境则每次执行的构建方法都会进行覆盖) 当出现报错时检查构建步骤是否按要求进行或是否有遗漏。...或在Windows中克隆完成后复制到C:\cygwin64\home的用户目录中 如果使用的是国行的Windows系统则需要此步,否则在后期编译过程中会发生如下的错误: OpenJDK17:Target...定义了目标编译的JDK使用环境,这里指代的是Windows --disable-warnings-as-errors 将warnings不作为errors来检查,如果不启用这项可能导致一些较老的C/C...如果不是作为发布版本或只是作为私用版本,不推荐大费周章地去考虑版本修改问题。 参考文献 [1] Oracle. (2021).

    47830

    Ubuntu 18.04.1下源码编译安装OpenJDK8

    确定了思路后,接下来就是下载OpenJDK8的源代码,有两种方式:   第一种就是Mercurial,优点就是操作起来很简单,不需要再解压文件包,缺点就是需要耗费的时间长一些,实际上本人最终就是使用的这种方式...,说白了就是自己去下载源码包,然后解压,优点就是耗时短,但相对来说如果不会查找资源,就只能下载到老版本的源代码,比如我就只找到这个链接http://jdk.java.net/java-se-ri/8下的源代码...到目前为止,已经有了Linux操作系统,需要编译的OpenJDK源代码也已经有了,下一个环节便是思考如何构建编译环境。 二、构建编译环境   学习了这么多年,大家应该都具备了一定的学习方法。.../configure来检查编译环境的依赖项是否全部安装完成。...C,则执行export LANG=C;   设定PATH,可先执行echo PATH,看下输出,如果没有boot JDK,则执行export PATH="/usr/lib/jvm/java-7-openjdk-amd64

    1.9K10

    写 Java 这么久了,来编译个 JDK 玩玩儿吧

    安装 OpenJDK 11 编译 OpenJDK 需要先在机器上安装 OpenJDK 10 或者 OpenJDK 11,作为 Boot JDK。...3、加入环境变量 PATH 中,当然如果使用其他版本的 JDK 作为开发使用,请忽略这一步。...下面是本地的目录结构,有 7 、8、11 这三个版本,开发时候还是默认使用 8 的。 ? 安装 xcode 实际上我们需要的不是 xcode,而是 LLVM 的编译命令 clang。...当然还可以用 hg 命令 clone 到本地,使用 hg 需要安装 mercurial,如果网速不好或者不稳定,建议不要使用这种方式。...如果不放到这个目录下,也是可以的,需要额外指定参数 --with-boot-jdk=OpenJDK 目录 如果出现如下输出,说明这一步就正常了。 ?

    1.1K10

    如何在 Linux 上安装 Java

    坏消息是 Java 太大,说的不仅仅是文件大小。Java 是一种开放源代码语言和规范,这意味着从理论上讲,任何人都可以创建它的实现版本。...需要 JVM 还是 JRE 或者 JDK? Java 大致分为两个下载类别。...如果你是希望使用 Java 进行编程的开发人员,则需要 JDK(包括 JRE 库,而 JRE 库又包括 JVM)。 ### OpenJDK、IcedTea 和 OracleJDK 有什么不同?...如果你是需要选择使用哪个版本的开发人员,则应考虑所需的组件。如果选择 Oracle 的版本,请注意,软件包中包含专有的插件和字体,可能会影响你分发你的应用程序。...要搜索 OpenJDK如果你是用户,则查找最新的 JRE 或 JVM如果你是开发人员,则查找最新的 JDK。

    3.1K30

    Java程序制作Docker Image推荐方案

    制作过程要融合在项目构建过程中 使用官方Image作为基础Image 设定正确的时区 Container内的程序以非root用户启动 指定Web程序的接口 能够传递JVM参数、Java System Properties...使用官方Image作为基础Image Java的基础镜像应该在openjdk repository里寻找,而不是在已经过时的java repository里找。...所以应该尽可能的使用alpine版本的,如果发现程序的运行环境缺少某些东西,那么尝试用slim版本或者默认版本。就目前的经验来讲: 如果需要操作系统字体库,那么就得使用slim版本或者默认版本。...需要操作系统字体库的程序例如:图片验证码、PDF导出。 如果需要某些Linux标准的动态/静态连接库,那么在alpine版本不行的情况下,尝试slim版本或默认版本。...root用户启动程序,这需要使用到gosu。

    1.5K40

    JDK10 揭秘

    1.1简介 Sun 公司在 2006 年的 JavaOne 大会上称将对 Java 开放源代码,于2009年4月15日正式发布 OpenJDK。...例如,如果一个bug修复需要对独立存储 库中包含的系统的两个部分进行更改,那么必须提交两个提交:每个存储库中一个。这种不连续性很容易地降低项目 和源代码管理工具的可跟踪性和复杂性。...此举表明有用户正在使用该特性,所以需要OpenJDK中也支持该特性。 简而言之,应用程序类数据共享,通过跨进程共享通用类元数据来减少占用空间。启动时间也得到了改善。...如果 JVM 是用 Java 编写的,那么是否需要一个 JVM 来运行 JVM ? 相应的,这导致了一个很好的镜像类比。...如果这个方法类型没有参数,则返回空类型作为岗哨值(Sentinel Value)。

    63250

    CentOS7 下rpm安装jdk1.8「建议收藏」

    因此,如果您想开发企 业/商业软件,建议您选择Oracle JDK,因为它经过了彻底的测试和稳 定。...某些情况下,有些人提到在使用OpenJDK 可能会遇到了许多应用程 序崩溃的问题,但是,只需切换到Oracle JDK就可以解决问题; 在响应性和JVM性能方面,Oracle JDK与OpenJDK相比提供了更好的...因此这些不能开放的源代码将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。...---- ⑥ 不能使用Java商标 这个很容易理解,在安装openjdk的机器上,输入“java -version”显示的是openjdk,但是如果使用Icedtea补丁的openjdk,显示的是java...---- 【4】yum安装openjdk 通常如果不做特殊要求,可以使用openjdk

    96620

    Linux CentOS 7.0中java安装与配置环境变量的步骤详解

    二.下载安装JDK 1.CentOS下,首先让当前用户获取root权限,打开终端输入命令: su root 2.查看可安装的JDK版本: 在查询结果列表如下: java-1.7.0-openjdk.x86...-1.7.0-openjdk-devel.x86_64 1:1.7.0.141-2.6.10.1.el7_3 作为依赖被升级: java-1.7.0-openjdk.x86_64 1:1.7.0.141...我们用此文件所在的路径作为JAVA_HOME。切记! 4.安装结束后,浏览下安装后的目录: JDK安装在/usr/lib/jvm/文件夹下。...如:这里找到新安装的JDK文件夹是:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64 cd /usr/lib/jvm/java...pwd 这个路径,即:JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64 ②使用命令编辑环境变量文件: vim

    2.5K41

    从源码层拆解OracleJDK和OpenJDK有什么区别?

    Sun Microsystems公司在2006年的JavaOne大会上称将对Java开放源代码,于2009年4月15日正式发布OpenJDK。...这些私有部分都不涉及JVM的核心功能。所以说,Oracle/Sun JDK与OpenJDK其实使用的是同一个代码库。...另外,如果你最近想跳槽的话,年前花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 英文文档读起来累?试试这个神器! 属于Java的协程终于来了!...所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!...如果你还没什么方向,可以先关注,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。 点击领取2022最新10000T学习资料

    50430
    领券