相关疑难解决方法(0)

通过热交换机制在运行时更改方法

假设我们有一个简单的Java程序,它只包含一个类:

public class HelloWorld {

   private static void replacable(int i) {
      System.out.println("Today is a nice day with a number " + i);
   }        

   public static void main(String[] args) throws Exception {
      for(int i = 0; i < 100000; ++i) {
      replacable(i);
      Thread.sleep(500);
   }
}
Run Code Online (Sandbox Code Playgroud)

在编译并运行之后,输出将是:

今天是0号的好日子

今天是一个美好的一天,1号

今天是2号球员的好日子

今天是一个美好的一天,3号

...

我的问题:是否存在(或者是否存在)replacable在运行时交换方法的某种方式?有点像HelloWorld用新版本编写另一个版本replacable,编译它,然后在已经运行的JVM中编写旧版本?

所以,如果我像这样编写新版本:

private static void replacable(int i) {
   System.out.println("Today is an even nicer day with a number " + i);
}  
Run Code Online (Sandbox Code Playgroud)

是否有类似于Erlang的热代码交换,我可以这样做: …

java runtime hotswap

56
推荐指数
3
解决办法
4万
查看次数

调试时会打开.class文件而不是.java

目前的设置:

  • MainProject是一个图书馆计划

  • BranchProject是一个新项目,并以MainProject为参考

每当我调试并且MainProject中的文件处于焦点上时(实际上BranchProject只有图形和xml布局更改),"调试"窗口将打开一个只读的.class文件.我希望它打开.java文件,以便我可以直接编辑它.

eclipse

28
推荐指数
2
解决办法
4万
查看次数

Eclipse> Java>打开链接资源(.java而不是.class)?

我有2个项目,A和B.

项目B在他的构建路径>库中有A的类文件夹(Eclipse也认识到有一个"源附件"并添加了它.

A和B都在同一个工作区中.

当我Ctrl点击进入B Eclipse文件的项目A的函数时,打开.classA 的文件.但是如果我需要编辑该.java文件的版本,我必须手动在项目A中查找文件名并从项目资源管理器中打开它.

没有一个简单的方法从一个链接的资源去- > .java他的源文件或从去.class.java手动更简单的方法比展开文件夹并打开文件?

java eclipse

7
推荐指数
3
解决办法
4704
查看次数

标签 统计

eclipse ×2

java ×2

hotswap ×1

runtime ×1