问题标签 [hotswap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
271 浏览

java - 热插拔 ServerSocket (Java)

我正在尝试用 Java 编写代码到热插拔套接字。

这是我目前正在使用的代码的要点:

代码如上所示,但我想知道在第一个套接字关闭和第二个套接字打开之间丢失消息的可能性。

两个问题:

有没有办法确保没有连接被丢弃?

如果有一种方法可以确保没有连接被丢弃,如果 ServerSocket 类的实例位于不同的虚拟机中,它是否仍然有效?

提前致谢。

0 投票
1 回答
276 浏览

java - GAE 开发 - 开发环境设置 (HotSwap)

我是在 GAE 上开发的新手。只需理清有关设置开发的几个问题。

我目前正在使用Eclipse 3.7.xGoogle Suite Plugin 2.5.2 r37

我找到的相关链接:

我来自标准的 LAMP 开发环境。更改会立即传播到开发服务器(通常是本地主机),我可以通过 DCVS/SVN 和附加的处理程序更新远程代码库来控制应用程序到生产服务器的部署。

我希望谷歌插件允许我们做同样的事情。我(可能)需要的必要功能:

  • 用于重新编译和更新开发代码的 On-Save 处理程序
  • 类似生产的开发环境(用于在几乎真实的条件下进行测试)
  • 部署到生产环境

最后一个是简单地使用 DCVS/SVN 标记代码并保存主干分支,并使用Google > Deploy to App Engine选项将其推送到远程服务器。

但是我怎样才能解决前两个要求呢?我真的需要它们,还是只是我在 Web 开发中的宿醉,而 GAE 中的开发过程不同?

如果第一个可以通过 GAE WTP 插件解决,您能否详细说明如何使用此插件设置开发,因为除了服务器之外,我无法实现更多功能,服务器必须以与 Google 插件相同的方式重新启动默认的 GAE 开发服务器会。

0 投票
1 回答
453 浏览

java - 如何检测热插拔

有什么方法可以检测在运行时使用 Hotswap 的类何时发生变化?

我有一个生成数据的类,我将其存储以备后用。我可以在 Hotswap 发生后手动触发数据重新生成,但我想自动执行此操作。我正在寻找任何可以让我检测到任何类何时发生更改的解决方案,以便可以自动动态地重新生成数据。我还想检测哪些类已更改,因为我有多个生成不同数据的类,并且重新生成所有这些类是开销。

0 投票
1 回答
7162 浏览

java - 如何在 Netbeans 中使用 Hotswap?

怎么做?我在IDE中找不到任何选项...请帮助我,我一无所知。

0 投票
2 回答
454 浏览

java - Java JVM 热交换行为

我今天尝试了 Javas Hotswap,它工作得很好。在我的测试中,我偶然发现了一个相当奇怪的行为。这是我的代码:

注意c.setText(String.valueOf(f++));靠近结尾的那条线。如果我在程序运行时将其切换到f--,我注意到在更改后第一次单击按钮时,该值仍在计数。然而,之后的点击计数正确。将其改回时也会发生同样的情况。

我注意到的下一件事是:如果我将代码更改为:c.setText(String.valueOf(f+=1));,运行 JVM 并将其热交换以c.setText(String.valueOf(f-=1));直接应用更改,没有点击延迟。

我现在的问题是:究竟是什么导致了这种行为?JVM代码级别之间f++和之间有什么区别?f+=1

0 投票
4 回答
5321 浏览

objective-c - Xcode 中的热代码交换?

我正在使用 cocos2d 框架进行 iOS 游戏开发,我非常羡慕 Eclipse Java 程序员在调试他们的应用程序时能够热交换他们的代码(即在一个方法中更改变量值并让程序实时更新,就好像你无需重新编译即可获得 REPL)。

这似乎对 iOS 开发非常有帮助,我的开发环境(显然)是 Xcode,而我正在使用的编程语言是 Objective C。我在谷歌上搜索过,但找不到任何东西 - 所以我想我会问社区。

有谁知道在Objective C中编程时是否有办法在Xcode中热交换代码?

提前致谢

0 投票
1 回答
440 浏览

java - 重新加载修改的类时如何让码头阻止请求?

我正在使用dcevm + run-jetty-run + livereload,尝试在修改 java 源代码时开发 Web 应用程序而不重新启动 jetty。

一切正常。当我修改一个java类时,livereload监听到了变化,并触发浏览器刷新打开的页面来查看修改结果。

但我发现它仍然不那么方便:当浏览器重新加载时,dcevm 和 jetty 可能还没有重新加载修改后的类。我不得不再次手动刷新页面,但我不确定这次是否显示修改后的结果,没有仔细检查内容。

所以我想知道当我修改一些类并且 dcevm 正在重新加载时,有什么方法可以让码头阻止请求。它将确保始终修改显示的页面。

0 投票
4 回答
11167 浏览

android - 使用 Android 进行热插拔调试

1) 在 Android 上启用热插拔调试是否需要任何特殊设置/配置?

示例案例:

  • 在进入 Activity 的 onCreate 方法后添加断点。
  • 在断点之后动态添加新行(虚拟“if (1==1) return;”代码)
  • 转到下一条指令-> 问题:我的调试器没有在这一行中断,而是跳到下一条,导致我相信新行没有热交换到 VM 中。

2)只有模拟器支持热插拔吗?有没有同样支持的手机?

0 投票
1 回答
238 浏览

erlang - 发现阻塞的erlang线程

我有一个项目,它有很多模块,每个模块都有不同的运行线程。我写了一个小脚本,它遍历每个脚本并安全地重新加载代码(用于热交换):

它使用 soft_purge() 函数,该函数仅在没有线程运行将被正常清除命令杀死的“旧”代码时清除代码。它将以越来越长的间隔等待并继续尝试。我已经设计了这个项目,因此等待总时间不应该超过一分钟,但实际上它应该或多或少是即时的。

我遇到的问题是,有时一个模块会有一个错误,导致它由于某种原因无限期地阻塞,而我的 reload_all() 脚本永远不会完成。这是期望的行为,它让我知道出了点问题。问题在于,追踪 bug 需要对代码进行大量的测试和分析,这有时甚至不起作用,因为 bug 只出现在生产环境中,而不出现在测试环境中。

我的问题是:有没有办法识别哪些线程正在运行模块中的“旧”代码,并查看它们当前卡在哪个函数中?

0 投票
1 回答
76 浏览

java - 运行时切换运行配置

在 Eclipse 中,是否可以将Running ( Ctrl+ ) 模式的应用程序切换F11Debug( F11) 模式?

我知道当程序在调试模式下运行时,可以在不停止它的情况下更改代码(热代码替换)。我希望运行配置有类似的东西。

建议?