首页
学习
活动
专区
工具
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分支项目来实现类的热替换功能。

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

相关·内容

  • 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 挂到这个测试项目上。

    87440

    【大牛经验】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能过滤和迟访问在堆栈跟踪中信息。

    89780

    【大牛经验】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能过滤和迟访问在堆栈跟踪中信息。

    55030

    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)。

    44820

    Android Studiondk开发调试支持前言支持版本ndk-build支持CMake支持

    前言 编写C/C++代码最大痛苦就是语法提示和调试,早期Android StudioNDK不做支持或者支持得不够好,导致NDK开发异常缓慢,最大问题是调试,经常一些崩溃问题需要反复加日志排查。...然而现在Android StudioNDK开发和调试都做了比较好支持(仍然存在一些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

    Java9GC调优基础

    本文将包含以下内容: GC作用范围 GC负责事情 JVM4种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

    71370

    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 所提供新特性。

    99090

    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 所提供新特性。

    76190

    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协会通用地域数据仓库

    99340

    SwitchString支持

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

    85320

    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

    79610

    JavaIPv6支持详解:支持情况、相关API、演示代码等

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

    3.7K20
    领券