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

Java JVM - DCEVM对Java9的支持

Java JVM(Java Virtual Machine)是Java语言的运行环境,它是一个虚拟的计算机,可以执行Java字节码。Java JVM负责将Java源代码编译成字节码,并在运行时解释执行字节码。

DCEVM(Dynamic Code Evolution Virtual Machine)是一个开源项目,它是Java虚拟机的一个扩展,提供了在运行时修改Java类定义的能力。DCEVM允许开发人员在不重启应用程序的情况下修改和重新加载Java类,从而加快了开发和调试的速度。

在Java 9中,由于引入了模块化系统(Java Platform Module System,JPMS),DCEVM对Java 9的支持存在一些限制。由于JPMS的改变,DCEVM无法在Java 9中实现对模块化的支持,因此无法直接在Java 9上使用DCEVM。

然而,对于需要在Java 9上使用DCEVM的开发人员,可以考虑使用DCEVM的一个分支项目,即DCEVM-11。DCEVM-11是基于OpenJDK 11构建的,它支持在Java 9及以上版本上使用DCEVM的功能。开发人员可以通过下载DCEVM-11并将其与Java 9或更高版本的JDK一起使用,以实现在运行时修改和重新加载Java类的能力。

总结起来,DCEVM是一个扩展了Java虚拟机的开源项目,它提供了在运行时修改Java类定义的能力。在Java 9及以上版本中,DCEVM的原始版本无法直接使用,但可以考虑使用DCEVM-11分支项目来实现类的热替换功能。

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

相关·内容

  • 【大牛经验】Java9的新特性

    【大牛经验】Java9的新特性 Java 9 包含了丰富的特性集。虽然Java 9没有新的语言概念,但是有开发者感兴趣的新的API和诊断命令。 我们将快速的,着重的浏览其中的几个新特性: ?...统一的JVM日志 如今,我们很难知道导致JVM性能问题和导致JVM崩溃的根本原因。解决这个问题的一个方法是对所有的JVM组件引入一个单一的系统,这些JVM组件支持细粒度的和易配置的JVM日志。...目前,不同的JVM组件对于日志使用的是不同的机制和规则,这使得JVM难以进行调试。...HTTP 2 客户端 Java 9采用了全新的HTTP客户端API,这些API支持HTTP/2协议和WebSocket协议,并且替换了遗留的HTTPURLConnectionAPI。...变量不能被命名为_; * 废弃Applet API; * javac不再支持Java1.4以及之前的版本; * 废弃Java浏览器插件; * 栈遍历API–栈遍历API能过滤和迟访问在堆栈跟踪中的信息。

    55130

    【大牛经验】Java9的新特性

    在Java 9中,期望代码能获取Linux PID,现在是如下方式: 你可以变换如下的方式(同样支持所有的操作系统): Try-With-Resources 在Java 7中,try-with-resouces...统一的JVM日志 如今,我们很难知道导致JVM性能问题和导致JVM崩溃的根本原因。解决这个问题的一个方法是对所有的JVM组件引入一个单一的系统,这些JVM组件支持细粒度的和易配置的JVM日志。...目前,不同的JVM组件对于日志使用的是不同的机制和规则,这使得JVM难以进行调试。...HTTP 2 客户端 Java 9采用了全新的HTTP客户端API,这些API支持HTTP/2协议和WebSocket协议,并且替换了遗留的HTTPURLConnectionAPI。...变量不能被命名为_; * 废弃Applet API; * javac不再支持Java1.4以及之前的版本; * 废弃Java浏览器插件; * 栈遍历API–栈遍历API能过滤和迟访问在堆栈跟踪中的信息。

    89980

    java9 opens与exports的区别

    序 本文主要研究下java9 opens与exports的区别 open及exports open open module 主要用于解决deep reflection问题,open的作用是表示该模块下的所有的包在...runtime都允许deep reflection(包括public及private类型) 但是编译时期,仅仅允许该module中声明过exports的包可以访问,如果没有exports则该包的类在编译时期不可读...opens package 用于声明该模块的指定包在runtime允许使用反射访问 exports 表示允许在编译时和运行时访问指定包的public成员 open及exports对反射的影响 反射方法...小结 open表示允许运行时通过反射使用open的作用是表示该模块下的所有的包在runtime都允许deep reflection(包括public及private类型);opens package的作用只是允许该包在...runtime都允许deep reflection open及opens都仅仅是开放runtime时期的可以通过反射访问(蕴含了运行时的exports)。

    47120

    Java 调式、热部署、JVM 背后的支持者 Java Agent

    首先说 Java Agent 是一个 jar 包,只不过这个 jar 包不能独立运行,它需要依附到我们的目标 JVM 进程中。我们来理解一下这两种叫法。...代理:比方说我们需要了解目标 JVM 的一些运行指标,我们可以通过 Java Agent 来实现,这样看来它就是一个代理的效果,我们最后拿到的指标是目标 JVM ,但是我们是通过 Java Agent...而 Java Agent 可以像一支针一样插到 JVM 内部,探到我们想要的东西,并且可以注入东西进去。 拿上面的几个我们平时会用到的技术举例子。...这要从 Java Agent 的使用方式来说了,Java Agent 有两种启动方式,一种是以 JVM 启动参数 -javaagent:xxx.jar 的形式随着 JVM 一起启动,这种情况下,会调用...运行打包好的 Java Agent 首先写一个简单的测试项目,用来作为目标 JVM,稍后会以两种方式将 Java Agent 挂到这个测试项目上。

    88940

    Android Studio对ndk开发调试的支持前言支持版本对ndk-build的支持对CMake的支持

    前言 编写C/C++代码最大的痛苦就是语法提示和调试,早期Android Studio对NDK不做支持或者支持得不够好,导致NDK开发异常缓慢,最大的问题是调试,经常一些崩溃问题需要反复的加日志排查。...然而现在Android Studio对NDK的开发和调试都做了比较好的支持(仍然存在一些bug)。下面就来说一下如何进行配置。...支持版本 不太确定是从哪个版本开始支持的,但我当前使用的版本能很好支持: Android Studio 2.2.3 gradle-2.14.1-all.zip //在gradle-wrapper.properties...对ndk-build的支持 如果项目之前使用ndk-build那一套编译方式,即需要Android.mk,那么只要在module下的build.gradle中稍加配置即可集成,例子如下: 1 apply...,配置依然会生效,比如在其中指定:APP_STL := stlport_static 关于Android.mk的更多知识,参考Android.mk语法解释[转] 对CMake的支持 现在AndroidStudio

    1.4K20

    Java9中的GC调优基础

    本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC调优方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM...Parallel/Throughput Parallel在Java 9之前是服务器型宿主机中JVM的默认GC,其垃圾回收的算法和Serial基本相同,不同之处在与它使用多线程来执行。...CMS在Java 9中已经被废弃,但了解CMS的行为对理解G1会有一些帮助,所以这里还是会简单的叙述一下。...注意传统的VM参数-XX:+PrintGCDetails在Java9中已经废弃,会有Warning信息。...重新标记:对应一次Pause Remark 在这个阶段,G1首先完成上一步开始的标记工作,之后会对特殊引用的对象进行处理(具体可以参考JDK解构 – Java中的引用和动态代理的实现),还有对Metaspace

    72270

    Java9 中的 9 个新特性

    这时候就得面对两个基础的问题: 很难真正地对代码进行封装, 而系统并没有对不同部分(也就是 JAR 文件)之间的依赖关系有个明确的概念。...当启动一个模块化应用时, JVM 会验证是否所有的模块都能使用,这基于 `requires` 语句——比脆弱的类路径迈进了一大步。模块允许你更好地强制结构化封装你的应用并明确依赖。...Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。...HTTP/2 Java 9 中有新的方式来处理 HTTP 调用。这个迟到的特性用于代替老旧的 `HttpURLConnection` API,并提供对 WebSocket 和 HTTP/2 的支持。...这就意味着库得去向后兼容你想要支持的最老的 Java 版本 (许多情况下就是 Java 6 或者 7)。这实际上意味着未来的很长一段时间,你都不能在库中运用 Java 9 所提供的新特性。

    1K90

    Java9 中的 9 个新特性

    这时候就得面对两个基础的问题: 很难真正地对代码进行封装, 而系统并没有对不同部分(也就是 JAR 文件)之间的依赖关系有个明确的概念。...通过封装 JDK 的内部类,平台更安全,持续改进也更容易。 当启动一个模块化应用时, JVM 会验证是否所有的模块都能使用,这基于 `requires` 语句——比脆弱的类路径迈进了一大步。...Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。...HTTP/2 Java 9 中有新的方式来处理 HTTP 调用。这个迟到的特性用于代替老旧的 `HttpURLConnection` API,并提供对 WebSocket 和 HTTP/2 的支持。...这就意味着库得去向后兼容你想要支持的最老的 Java 版本 (许多情况下就是 Java 6 或者 7)。这实际上意味着未来的很长一段时间,你都不能在库中运用 Java 9 所提供的新特性。

    76590

    2017年3月Java9带来的革新!

    语法使用性的项目) 214: 移除 JDK 8 中废弃的GC组合 215: 让 javac 支持分层变量 216: 正确处理 Import 语句 217: 注解管道 2.0 219: 数据包传输层安全(...Javadoc 225: Javadoc搜索 226: UTF-8属性文件 227: Unicode 7.0 228: 增加更多的诊断命令 229: 默认创建 PKCS12 秘钥库 231: 移除启动时对...是JDK自带的Javascript引擎) 237: Linux/AArch64 移植 238: JAR 文件支持多个版本:JAR文件可同时包含多个版本的class文件 240: 移除 JVM TI hprof...Agent 241: 移除 jhat 工具 243: 提供Java级别的 JVM 编译器接口 244: TLS 应用层协议协商扩展 245: 验证 JVM 命令行标记参数 246: 针对 GHASH...可以检查X.509数字证书的撤销状态) 250: 在类数据分享文件(CDS)中存储内部字符串 251: 支持多种分辨率图像 252: 默认使用 CLDR 作为地域数据:(译注:CLDR是Unicode协会的通用地域数据仓库

    1K40

    Switch对String的支持

    Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止switch支持这样几种数据类型:byte short int char String 。...但是,作为一个程序员我们不仅要知道他有多么好用,还要知道它是如何实现的,switch对整型的支持是怎么实现的呢?对字符型是怎么实现的呢?String类型呢?...有一点Java开发经验的人这个时候都会猜测switch对String的支持是使用equals()方法和hashcode()方法。那么到底是不是这两个方法呢?...,那么我们就知道,switch对int的判断是直接比较整数的值。...好,以上就是关于switch对整型、字符型、和字符串型的支持的实现方式,总结一下我们可以发现,其实switch只支持一种数据类型,那就是整型,其他数据类型都是转换成整型之后在使用switch的。

    85620

    Greenplum 对JSON的支持

    Greenplum 对JSON的支持 源文章:http://www.postgresqltutorial.com/postgresql-json/ Greenplum 对JSON的支持 1 1 JSON...创建函数的使用 7 4.1 创建int类型的JSON格式数据 7 4.2 把行的数据转化为JSON类型的数据 7 5 JSON处理函数的使用 8 5.1 获取JSON中的数据 8 5.2 获取JSON...中的数据(去除双引号) 8 5.3 获取JSON数据中的KEY的值 9 6 查询JSON数据的方式 9 6.1 创建支持JSON数据的表 9 6.1.1 创建表的SQL 9 6.1.2 插入数据SQL...是作为储存数据的一种比较使用的一种格式,greenplum从5.0开始便很好的支持了JSON数据。...6 查询JSON数据的方式 6.1 创建支持JSON数据的表 6.1.1 创建表的SQL 创建带有主键的表 CREATE TABLE test_json ( ID serial NOT NULL PRIMARY

    1.1K30

    Greenplum 对JSON的支持

    Greenplum 对JSON的支持 源文章:http://www.postgresqltutorial.com/postgresql-json/ Greenplum 对JSON的支持 1 1 JSON...创建函数的使用 7 4.1 创建int类型的JSON格式数据 7 4.2 把行的数据转化为JSON类型的数据 7 5 JSON处理函数的使用 8 5.1 获取JSON中的数据 8 5.2 获取JSON...中的数据(去除双引号) 8 5.3 获取JSON数据中的KEY的值 9 6 查询JSON数据的方式 9 6.1 创建支持JSON数据的表 9 6.1.1 创建表的SQL 9 6.1.2 插入数据SQL...是作为储存数据的一种比较使用的一种格式,greenplum从5.0开始便很好的支持了JSON数据。...6 查询JSON数据的方式 6.1 创建支持JSON数据的表 6.1.1 创建表的SQL 创建带有主键的表 CREATE TABLE test_json ( ID serial NOT NULL PRIMARY

    80410

    Java对IPv6的支持详解:支持情况、相关API、演示代码等

    理论上,Java对IPv6的支持对于程序员来说都是透明的,几乎不需要代码层面的处理。但它到底是怎么支持的?支持到什么程度?对JDK版本有什么要求?对操作系统有什么要求?...本文将用通俗易懂的文字,来讲解Java对IPv6的支持现状,包括关的技术原理、可以使用的API、以及一些可以运行的演示代码片段等,希望能让你更直观的了解Java对于IPv6的支持情况。...4、Java 对 IPv6 的支持 随着 IPv6 越来越受到业界的重视,Java 从 1.4 版开始支持 Linux 和 Solaris 平台上的 IPv6。...所幸的是:从 Java 1.5 开始,Java就增加了对 IPv6 网络地址校验的支持。...; 2)Java 对于 IPv6 网络地址的验证是通过对输入字符的循环匹配做到的,并没有采取正则表达式的做法。

    3.9K20
    领券