草庐IT

java - 使用序列化将对象传递给另一个 JVM - 相同的 Java 版本和 jars(都运行我们的应用程序)

更新:现在使用map。想要向其他实例发送内容的类发送对象,即路由字符串。使用对象流,使用Javaserializable将对象写入servlet。先写String再写对象接收servlet将输入流包装在一个ObjectInputStream周围。首先读取字符串,然后读取对象。路由字符串决定是否进行。更通用的方法可能是发送类名及其声明的方法或Springbean名称,但这对我们来说已经足够了。原始问题了解基本方法,但需要详细步骤。也知道我可以使用Jaxb或RMI或EJB...但想使用纯序列化到bytearray然后编码将其从jvm1中的servlet1发送到jvm2中的servlet2(

java - 我应该如何诊断和防止 JVM 崩溃?

当我遇到JVM崩溃时,我(作为一个对JVM内部结构一无所知的Java程序员)应该怎么办?特别是,您将如何生成可重现的测试用例?我应该在Sun(或IBM)的错误数据库中搜索什么?我可以从生成的日志文件中获取哪些信息(例如hs_err_pidXYZ.log)? 最佳答案 如果崩溃仅发生在一台特定机器上,请运行memtest.我只见过两次重复发生的JVM崩溃,在这两种情况下,罪魁祸首都是硬件问题,即RAM故障。 关于java-我应该如何诊断和防止JVM崩溃?,我们在StackOverflow上

java - 为什么 JVM 返回退出状态代码 143?

在Windows2003上作为计划任务运行的Java应用程序崩溃,没有日志或任何有助于查明发生了什么的信息。唯一可用的信息是应用程序返回代码143(8F)。该错误代码是从计划任务日志中检索到的。有谁知道错误代码(143)代表什么?用户注销是否可能导致应用程序终止?谢谢, 最佳答案 143通常意味着应用程序因SIGTERM命令而终止。另见https://unix.stackexchange.com/questions/10231/when-does-the-system-send-a-sigterm-to-a-process但是,请注

java - 当 jvm 进程被杀死时,有什么方法可以执行一些 java 代码?

我们希望在JVM被手动终止时退出之前执行一些java代码或shell代码。我们的应用程序没有在容器中运行。我们需要使用Java代码本身或一些命令行工具自动监控它。 最佳答案 您可以使用Runtime.getRuntime().addShutdownHook()添加关闭Hook.一旦JVM的进程终止,这样的关闭Hook由JVM运行。但是,请注意,情况并非总是如此。JVM可能会在有机会触发其关闭Hook之前被杀死。这在javadoc中提到:Inrarecircumstancesthevirtualmachinemayabort,that

java - Sun JDK 能否在 JVM 崩溃时生成核心/堆转储文件?

当JVM崩溃时,是否有生成核心/堆转储文件的方法?由于这些文件通常非常有助于找出代码中的错误。 最佳答案 使用以下JVM选项:-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath="/tmp"JVM会将堆中的内容转储到指定目录中的文件中。请注意,这仅在抛出OutOfMemoryError时发生,因为如果JVM由于其他原因而崩溃,则实际上不需要转储。编辑:“boolean选项用-XX:+打开,用-XX:-关闭。”docs 关于java-SunJDK

【面试大全-JVM】必备JVM

知识汇总需要了解内存模型各部分作用,保存哪些数据类加载双亲委派加载机制,常用加载器加载哪些类型的类GC分代回收的思想、不同垃圾回收算法的思路性能调优及常有的参数作用,参数调优的依据和工具分析问题的使用方法。执行模式编译器优化Java内存模型栈(线程独占):又称为方法栈,线程私有的,与线程同一时间创建,线程执行方法都会创建一个栈阵,用来存储局部变量表,调用方法时执行入栈,方法返回时执行出栈。,-Xss参数可以设置虚拟机栈大小。本地方法栈:与栈类似,也是用来保存执行方法的信息,执行Java方法是使用栈,实现Native方法是使用本地方法栈C语言程序计算器:保存当前线程执行的字节码位置,每个线程工作

java - 将整个文件传递给 JVM 参数

我有几个系统都需要将相同的属性加载到JVM。我可以使用-D标志一次加载一个属性,但我正在寻找可以一次加载整个文件中所有属性的东西。例如:我可以将--options-file=blah.properties添加到我网络上的所有jvms,一次,然后只更改属性文件,它可以是网络共享上的单个中央文件。谢谢,编辑:任何参数或命令也必须在Windows环境中工作。因此,任何特定于unix的bash或脚本hack都将不起作用。 最佳答案 这就是我们的大致做法:java$(tr'\n'''在这里options_file包含准备-Dsomething

java - JVM 规范、JVM 实现、JVM 运行时之间有什么区别

我读了下面的话,但我想知道它们之间的区别......JVM规范、JVM实现、JVM运行时 最佳答案 JVM规范:描述JVM应如何运行的文档。JVM实现:基于JVM规范的JVM实现。JVM运行时:JVM实现的一个实例。 关于java-JVM规范、JVM实现、JVM运行时之间有什么区别,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2097189/

Java:JVM 可用的内核?

在Java中有Runtime.getRuntime().availableProcessors()方法,它有以下Javadoc:ReturnsthenumberofprocessorsavailabletotheJavavirtualmachine.Thisvaluemaychangeduringaparticularinvocationofthevirtualmachine.值实际上如何变化?例如,在什么情况下JVM可用的处理器数量会少于实际安装的处理器数量?乔纳斯 最佳答案 Linux命令taskset(1)可用于强制进程使用特

java - 解决/调试 JVM 崩溃的最佳方法 (SIGSEGV)

我真的很迷茫,我不知道如何面对和解决我的问题。我有一段简单的Java代码,它导致了JVM崩溃:##AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:##SIGSEGV(0xb)atpc=0x00000001057ce9d4,pid=10727,tid=18947##JREversion:Java(TM)SERuntimeEnvironment(8.0_73-b02)(build1.8.0_73-b02)#JavaVM:JavaHotSpot(TM)64-BitServerVM(25.73-b02mixedmodebsd-amd6