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

深入探索 Java 部署

来源:https://www.ibm.com/developerworks/cn/java/j-lo-hotdeploy/ 作者:丁志君 简介 在 Java 开发领域,部署一直是一个难以解决的问题,目前的...Java 虚拟机只能实现方法体的修改部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。...本文将探索如何在不破坏 Java 虚拟机现有行为的前提下,实现某个单一类的部署,让系统无需重启就完成某个类的更新。...类加载的探索 首先谈一下何为部署(hotswap),部署是在不重启 Java 虚拟机的前提下,能自动侦测到 class 文件的变化,更新运行时 class 的行为。...官方的 JVM 一直没有解决部署这个问题,可能也是由于无法完全克服其中的诸多难点,希望未来的 Jdk 能解决这个问题,让 Java 应用对于更新更友好,避免不断重启应用浪费的时间。

1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    探索 Java 部署的奥妙

    作者:丁志君 原文:https://www.ibm.com/developerworks/cn/java/j-lo-hotdeploy/ 简介 在 Java 开发领域,部署一直是一个难以解决的问题,目前的...Java 虚拟机只能实现方法体的修改部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。...本文将探索如何在不破坏 Java 虚拟机现有行为的前提下,实现某个单一类的部署,让系统无需重启就完成某个类的更新。...类加载的探索 首先谈一下何为部署(hotswap),部署是在不重启 Java 虚拟机的前提下,能自动侦测到 class 文件的变化,更新运行时 class 的行为。...官方的 JVM 一直没有解决部署这个问题,可能也是由于无法完全克服其中的诸多难点,希望未来的 Jdk 能解决这个问题,让 Java 应用对于更新更友好,避免不断重启应用浪费的时间。

    83150

    Java远程部署插件HotSeconds

    前言 我们在开发调试的过程中,经常在打包和重启服务器中消耗大量的时间,这将浪费我们大量的青春,这里介绍一款本人开发的Java远程部署插件HotSeconds,包括HotSecondsServer和HotSecondsClient...功能介绍 1.部署代码 包括修改代码,新增字段,新增方法,新增类,打破了原生JDK中Instrument机制只能修改方法体的不足。...下面演示一个新增SpringMVC字段和方法的部署 2.部署资源文件 下面演示一个部署MyBatis的xml文件,也是右键直接部署生效 3.批量更新修改的文件 修改了多个文件的情况下,直接打开部署面板...,可将修改过的文件部署到服务器,支持按文件修改时间戳部署,也可以将版本控制下(Git/SVN等)未提交的文件部署。...复杂参数的函数,可以写一个静态无参的函数,触发需要的函数,然后远程部署整个新写的静态无参的函数的类即可。 5.远程查看字段值 包括静态字段和非静态字段,直接在字段上右键,就能查看该字段的值。

    36620

    动手实现Java部署功能

    Java中实现部署功能可以通过自定义类加载器来实现。类加载器负责加载和重新加载类文件,起到了在运行时动态加载类的作用。...以下是实现部署功能的一般步骤:创建一个自定义的类加载器,继承自ClassLoader类。该类加载器需要重写findClass()方法,用于加载指定路径下的类文件。...private boolean isHotSwap(String className) { // 自定义实现,根据业务需求判断是否需要部署,例如通过配置文件、网络请求等方式进行判断 return...通过不断循环加载类文件,使得在每次循环中都重新加载最新的类文件,从而实现了部署的效果。...总结来说,类加载器在部署中的作用是通过重写findClass()方法重新加载类文件,在运行时动态加载新的类定义,并替换原有的类定义。

    56241

    Java|Spring boot项目中的部署

    现在的开发工具也比较智能,部署这个功能就能解决所面临的问题吗?来看一看什么是部署。...解决方案 部署是指在修改项目BUG的时候对JSP或JAVA类进行了修改,在不重启WEB服务器的前提下能让修改生效。但是对配置文件的修改除外!那么怎么在idea中使用部署呢?...首先在spring boot的项目配置文件中引入部署依赖 当引入依赖后发现的部署并没有生效,在idea和eclipse中的部署是不一样的,在idea中还需勾选两个相关的设置...当完成所有的工作后再次启动项目发现的部署就生效了。当修改里面的java文件时就会自动重启项目。 ? 图2.4 结果 这样就为开发提升了一定的效率。

    66540

    部署和冷部署有什么区别_weblogic部署

    ---- 目录 前言 为什么要使用部署 手动启动部署 导入坐标 – 启动开发者工具 修改数据 build project 测试 自动启动部署 部署范围配置 禁用部署 方式一 方式二 -...---- 为什么要使用部署 因为不启用部署时每次更改java数据都要重启服务器影响开发效率。...勾选第一行这个如下图 部署范围配置 如果想要某些文件或者文件夹不参与部署的配置需要在application.xml中配置以下信息: # 设置不参与部署的文件或文件夹 devtools:...false 这种形式关闭部署,优先级别太低,可能关闭之后,别人又从别的配置文件或者其他地方给打开了(在优先级别高的地方),从而导致部署在此启动....方式二 在优先级别高的地方禁用部署

    1.4K20

    Java服务器部署的实现原理

    在web应用开发或者游戏服务器开发的过程中,我们时时刻刻都在使用部署部署的目的很简单,就是为了节省应用开发和发布的时间。...比如,我们在使用Tomcat或者Jboss等应用服务器开发应用时,我们经常会开启部署功能。部署,简单点来说,就是我们将打包好的应用直接替换掉原有的应用,不用关闭或者重启服务器,一切就是这么简单。...那么,部署到底是如何实现的呢?在本文中,我将写一个实例,这个实例就是一个容器应用,允许用户发布自己的应用,同时支持部署。 在Java中,要实现部署,首先,你得明白,Java中类的加载方式。...4、为了支持部署,我们需要一个监听器,来监听应用发布目录中每个文件的变动。这样,当某个应用重新部署之后,我们就可以得到通知,进而进行部署处理。...要实现部署,我们之前说过,需要一个监听器,来监听发布目录applications,这样当某个应用程序的jar文件改变时,我们可以进行部署处理。

    1.2K10

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

    -各个 Java IDE 的调试功能,例如 eclipse、IntelliJ ; -部署功能,例如 JRebel、XRebel、 spring-loaded; -各种线上诊断工具,例如 Btrace、...Greys,还有阿里的 Arthas; -各种性能分析工具,例如 Visual VM、JConsole 等; Java Agent 直译过来叫做 Java 代理,还有另一种称呼叫做 Java 探针。...还有 Btrace、Arthas 这些线上排查问题的工具,比方说有接口没有按预期的返回结果,但日志又没有错误,这时,我们只要清楚方法的所在包名、类名、方法名等,不用修改部署服务,就能查到调用的参数、返回值...上面只是说到了探测的功能,而部署功能那就不仅仅是探测这么简单了。部署的意思就是说再不重启服务的情况下,保证最新的代码逻辑在服务生效。...Java Agent 实现和使用 接下来就来实现一个简单的 Java Agent,基于 Java 1.8,主要实现两点简单的功能: 1、打印当前加载的所有类的名称; 2、监控一个特定的方法,在方法中动态插入简单的代码并获取方法返回值

    87440

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券