如何实现Erlang';s";让它崩溃吧。”;java中的概念

如何实现Erlang';s";让它崩溃吧。”;java中的概念,java,crash,erlang,actor,Java,Crash,Erlang,Actor,我一直在寻找任何关于这个概念/设计模式/它叫什么的简单例子,我想看看java中的任何简单例子,我想知道是否有可能在android应用程序中应用这个概念,我已经在android中使用了actor模型,但我想对它应用“让它崩溃”模式,我在哪里可以找到任何java示例或解释。。。我总是看到没有代码的高层讨论,甚至UMLs 我什么也没试过,因为我无法想象这是怎么做到的 我在Java中用了好几年(2003-2009年)的时间做这件事。然后我了解了Erlang的工作原理,并从那时起开始编写Erlang。如果

我一直在寻找任何关于这个概念/设计模式/它叫什么的简单例子,我想看看java中的任何简单例子,我想知道是否有可能在android应用程序中应用这个概念,我已经在android中使用了actor模型,但我想对它应用“让它崩溃”模式,我在哪里可以找到任何java示例或解释。。。我总是看到没有代码的高层讨论,甚至UMLs


我什么也没试过,因为我无法想象这是怎么做到的

我在Java中用了好几年(2003-2009年)的时间做这件事。然后我了解了Erlang的工作原理,并从那时起开始编写Erlang。如果我必须再次编写Java代码,我肯定会使用这种模式

我在一些主要网站项目中使用Java的方式是:

  • 尽可能避免尝试抓块。让代码在NullPointerException和RuntimeException的类似子类上崩溃
  • 从RuntimeException继承的所有异常都是“OK”,并将在运行时产生崩溃。只需确保它们被记录(在服务器上)或以某种方式处理(在客户端)。在一个中心位置执行此默认崩溃处理以避免代码重复
  • 有时Java编译器会强制您处理捕获的异常。然后在RuntimeException中重新显示捕获的异常
  • 下面是捕获编译器强制您处理的选中异常java.sql.SQLException的经典示例,并将其作为运行时异常进行追溯

    试试看{
    你的代码在这里。。。
    }捕获(SQLE异常){
    抛出新的运行时异常(e);
    
    }
    我在Java中已经有好几年(2003-2009)这样做的方法了。然后我了解了Erlang的工作原理,并从那时起开始编写Erlang。如果我必须再次编写Java代码,我肯定会使用这种模式

    我在一些主要网站项目中使用Java的方式是:

  • 尽可能避免尝试抓块。让代码在NullPointerException和RuntimeException的类似子类上崩溃
  • 从RuntimeException继承的所有异常都是“OK”,并将在运行时产生崩溃。只需确保它们被记录(在服务器上)或以某种方式处理(在客户端)。在一个中心位置执行此默认崩溃处理以避免代码重复
  • 有时Java编译器会强制您处理捕获的异常。然后在RuntimeException中重新显示捕获的异常
  • 下面是捕获编译器强制您处理的选中异常java.sql.SQLException的经典示例,并将其作为运行时异常进行追溯

    试试看{
    你的代码在这里。。。
    }捕获(SQLE异常){
    抛出新的运行时异常(e);
    
    }
    非常感谢您的回复,因此您的意思是我不会处理任何异常,例如默认的未捕获异常处理程序除外,但这意味着我将在整个对象/参与者崩溃时重新启动它。。。它的状态如何,假设一个参与者在解析来自服务器的响应时崩溃,这是如何处理的?我的意思是,如果我重新启动该参与者,它将在每次请求完成时继续崩溃。。。在哪里可以找到有关erlang如何处理此问题的一些来源?erlang处理进程崩溃的重启逻辑的方法是通过一个主管或主管层次结构来完成的。这对于以某种智能控制方式处理无限崩溃循环来说是非常酷的东西。如果你有一些东西一次又一次地崩溃(比如你的演员),那么可以将管理器逻辑配置为允许X次重新启动,然后管理器将放弃并崩溃。关于Erlang supervisor的更多信息以及它们有多酷:我不知道有任何Java特性可以像Erlang supervisor那样工作。这可能是未知领域,我不知道。但是,如果您学习了Erlang管理器的概念和逻辑,就可以在Java代码中为您的特定用例实现一些简单而类似的东西。与Java相比,Erlang总是更少的代码,更稳定。非常感谢请在答案中添加这些注释,以便我可以将其标记为已接受的答案:)非常感谢您的回复,因此您的意思是我不会处理任何异常,例如,默认的未捕获异常处理程序除外,但这意味着当整个对象/参与者崩溃时,我将重新启动它。。。它的状态如何,假设一个参与者在解析来自服务器的响应时崩溃,这是如何处理的?我的意思是,如果我重新启动该参与者,它将在每次请求完成时继续崩溃。。。在哪里可以找到有关erlang如何处理此问题的一些来源?erlang处理进程崩溃的重启逻辑的方法是通过一个主管或主管层次结构来完成的。这对于以某种智能控制方式处理无限崩溃循环来说是非常酷的东西。如果你有一些东西一次又一次地崩溃(比如你的演员),那么可以将管理器逻辑配置为允许X次重新启动,然后管理器将放弃并崩溃。关于Erlang supervisor的更多信息以及它们有多酷:我不知道有任何Java特性可以像Erlang supervisor那样工作。这可能是未知领域,我不知道。但是,如果您学习了Erlang管理器的概念和逻辑,就可以在Java代码中为您的特定用例实现一些简单而类似的东西。与Java相比,Erlang总是更少的代码和更高的稳定性。非常感谢,请在答案中添加这些注释,以便我可以将其标记为已接受的答案:)