草庐IT

堆栈iOS

全部标签

java - 深度图导致堆栈溢出 : non-recursive serialization options?

我们从Java的序列化库中获取StackOverflowErrors。问题在于默认的序列化实现是递归的,其深度仅受通过引用网络的最长路径的限制。我们意识到我们可以覆盖默认方法,但我们的项目中有数百个连接丰富的类,因此我们对覆盖方法不感兴趣。如果存在非递归的通用解决方案(或至少将递归从堆栈移至堆),我们会更感兴趣。我在谷歌上搜索了这个话题,发现只有很多人都在提示同一件事,但这些提示大多是多年前的事了。情况有改善吗?如果没有,我们会编写一个通用的实现,您有什么建议吗?我们假设有一些原因(对我们来说还不是很明显)为什么没有人破解这个坚果。从理论上讲,“正确”地做这件事听起来应该是可行的。

java - 为什么没有办法得到堆栈的实际大小?

我知道在运行时无法在Java中获取线程的堆栈大小(请参阅CanoneobtainactualstacksizeusedbyathreadinJavaaftersometimeofrunning?)。例如,如果我们创建一个java.lang.Thread指定64*1024的堆栈大小,JVM可以自由地为我们提供具有任何堆栈大小的线程。但是,我相信实际了解堆栈的实际大小对于某些需要此类信息的应用程序非常有用。我们没有方法告诉我们堆栈使用的实际字节数的原因是什么?架构中是否存在某种限制,导致无法获取线程的实际字节数? 最佳答案 唯一存储在堆

javax.xml.ws.WebServiceException : java. io.IOException:写入服务器 Tomcat 8 时出错

我们最近将在JRE1.7.0_17/Tomcat7.0.39上运行的JAX-WS网络服务的技术堆栈更新为JRE1.8.0_66/Tomcat8.0.28。Web应用程序在WindowsServer2012上运行。Web服务使用JAX-WS的Metro实现。客户端使用JRE7和内置于JRE中的JAX-WS客户端API在各种Windows版本上运行。网络服务用于将文件从客户端机器上传到网络服务,网络服务将文件保存在文档管理系统中。该实现在Java7/Tomcat7下运行得非常完美,但我们遇到了在Java8/Tomcat8服务器端运行更大负载(2MB或更大)的问题。来自客户端的堆栈跟踪是:1

java - 不可思议的堆栈跟踪

通过分析一个问题,我试图理解这个奇怪的堆栈跟踪:Thread3049:(state=BLOCKED)-java.lang.Object.wait(long)@bci=0(Compiledframe;informationmaybeimprecise)-java.io.PipedInputStream.read()@bci=142,line=326(Compiledframe)-java.io.PipedInputStream.read(byte[],int,int)@bci=43,line=377(Compiledframe)-org.apache.http.entity.InputS

java - 将 Java 架构堆栈映射到 Microsoft

我有Java背景,现在在我们仅使用MS技术的Microsoft商店工作。你能把这个架构堆栈映射到MS世界吗?我不是在寻找堆栈的特定层的等价物,而是在寻找在现实世界中已知有效的经过验证的端到端堆栈:谢谢!架构堆栈:hibernateSpring道Spring声明式事务管理领域模型POJOSpringMVCBlazeDS弹性用于图表和交互式数据分析的Flex交互式数据可视化横切关注点:使用Acegi+ACL的安全性(用户角色的数据内容授权)使用模拟对象进行测试使用Ivy+Ant部署使用Log4J进行日志记录 最佳答案 架构堆栈:hibe

java - IWAB0399E 从 WSDL 生成 Java 时出错 : java. io.IOException:错误:缺少 <soap:fault> 元素 inFault

我有一个供内部使用的WCF4.0服务。另一个团队正尝试在Java中使用它。IWAB0399EErroringeneratingJavafromWSDL:java.io.IOException:ERROR:MissingelementinFault"PasswordReuseFaultFault"...一个消息来源表明它可能是一个Soap1.1vs.Soap1.2issue确实是我的WCF生成了WSDL注意而不是预期的我很确定这就是问题的原因。如何让WCF生成soap1.1WSDL?或我应该告诉Java团队做什么,以便他们的工具能够理解更新的协议(protocol)?编辑:我发现basi

java - 使用 Java 文件/IO API 复制目录同时保留符号链接(symbolic link)

是否可以在保留现有符号链接(symboliclink)的同时使用JavaI/O和文件相关API复制目录内容?我正在开发一种工具,需要在保留现有符号链接(symboliclink)的同时对各种UNIX风格执行“目录复制”操作。我更愿意使用核心JavaSE库尝试此操作,而无需求助于Runtime.exec/ProcessBuilder来调用平台的“/bin/cp”二进制文件。ApacheCommons的IOUtils似乎也不支持这一点。我最后的选择是使用Runtime.exec/ProcessBuilder!更新:我想我将使用Runtime.exec/ProcessBuilder调用nat

java - 如何在运行时将 JSR-045 SMAP 信息添加到 Java 堆栈跟踪?

当使用JSP或其他转换为Java源代码(或stub)的语言时,通常会生成一个SMAP文件,稍后可以将其嵌入到类文件中以供调试器显示更好的堆栈跟踪(或在对于Jasper,它会自动嵌入)。有一个oldJVMbug(orRFE)添加支持以在堆栈跟踪中包含SMAP信息,但由于缺乏Activity,Sun/Oracle人员似乎更喜欢每个人自己对堆栈跟踪进行后处理。所以这是我的问题:如何做到这一点?周围是否有图书馆为您完成繁重的工作,还是您必须自己实现一切?我已经找到了一个可以访问异常对象和加载“启用SMAP”类的类加载器的好地方。现在我必须遍历堆栈跟踪如果我能找到类,请检查每个条目用e分析类(c

java - 增加java中单个工作线程的堆栈空间

在我的javaweb应用程序中,我有一个后台工作线程,它需要大量堆栈空间,因为它使用activiti工作流引擎和groovy脚本任务运行一个非常复杂的工作流。目前我需要在64位Java和Tomcat上将JVMXss设置设置为16MB,以规避任何StackOverflowErrors。如果发生错误,堆栈跟踪非常大(几百行长),但它都发生在引擎内部,所以我真的无能为力。现在我的问题是:有没有办法在运行时增加单个线程的堆栈大小?我想将应用程序中所有线程的JVM默认Xss设置降低到512k,我知道这足够了,并且只运行16M的工作线程。JavaAPI为Thread类的构造函数提供了有关此主题的一

java - 为什么不会总是发生堆栈溢出?

我目前正在学习Java,作为我学习的一部分,我试图有意引发堆栈溢出以查看它会做什么。我做了一些边界测试,有趣的是,我发现如果我执行下面的代码,它只会偶尔导致错误。有时它会毫无问题地运行。publicclassSO{publicstaticvoidmain(String[]args){ohno(0);}publicstaticvoidohno(inta){System.out.println(a);if(a!=11413)ohno(a+1);}}我的问题如下:什么可能导致我的堆栈大小在这个非常简单的示例的执行之间发生变化?最近,堆栈溢出是否总是由于糟糕的代码设计(即无限递归、过大的基元等