草庐IT

防丢失

全部标签

java - 丢失的字符串对象会发生什么

Line1:Stringx="Java";Line2:x.concat("Rules!");Line3:System.out.println("x="+x);输出是“x=Java”第1行:创建一个新的String对象,赋值“Java”,并引用x给它。第2行:VM创建第二个字符串对象,值为“JavaRules!”但没有提到它。第二个字符串对象立即丢失;你无法得到它。由于这些字符串对象是在堆中创建的,因此第二个对象将被垃圾收集。 最佳答案 Enosh,在java中字符串是不可变的,所以你应该赋值x=x.concat("Rules");第

java - 在 add() 上丢失最旧元素的集合

我正在寻找一个实现Collection的Java类,并且当我add()一个新元素时丢失最旧的元素,如果元素总数大于X.是否存在或我必须自己实现?我需要一个线程安全的。 最佳答案 如果您正在寻找列表类型的解决方案,除了Linkedhasmap之外,GoogleGuava还有EvictingQueue.为了线程安全,您必须将其包装在同步包装器(Queues#synchronizedQueue)中。EvictingQueueq=EvictingQueue.create(3);QueuesyncQ=Queues.synchronizedQu

java - Maven exec 插件主类丢失

我正在尝试完成Hibernate教程,但在运行命令时卡住了C:\Users\Eyal\workspace\FirstHibernateTutorial>mvnexec:java-Dexec.mainclass="org.hsqldb.Server"-Dexec.args="-database.Ofile:target/data/tutorial"-e并得到这些错误。[INFO]Errorstacktracesareturnedon.[INFO]Scanningforprojects...[WARNING][WARNING]Someproblemswereencounteredwhile

java - 使用 'debugUnreturnedConnectionStackTraces' 调试连接丢失

我正在为我正在进行的项目修复连接超时问题。我们使用c3p0来管理连接池,使用hibernate作为orm工具。我们也使用Spring。为了查找是否有任何未返回的连接,我在我的c3p0配置中将debugUnreturnedConnectionStackTraces设置为true(不在c3p0属性中)。还有什么需要我做的吗?我是否还必须向我的lod4j.properties添加任何内容,或者是否足以将debugUnreturnedConnectionStackTraces设置为true?此外,我应该在c3p0属性中将debugUnreturnedConnectionStackTraces设

java - 如何在不丢失消息负载的情况下将 sleep 设置为 Mulesoft 中的流

我想插入脚本来延迟Mulesoft中的处理流程。我试图在groovy中插入脚本,但我丢失了消息有效负载,所以当我必须获取消息有效负载时,接收到空指针。我怎样才能不丢失消息负载?谢谢 最佳答案 如果您在流程中使用Groovy组件,那么您可以按如下方式定义sleep():-并且记住在Groovy中返回message.payload,这样你就可以获得payload最后,否则您将获得null有效载荷Groovy有一个问题,如果你最后没有返回,就会丢失有效载荷,所以,在Groovy中,你需要在最后返回有效载荷,这就是您收到null负载的原因或

java - 如何在 Java 中压缩 jpeg 图像而不丢失该图像中的任何元数据?

我想使用Java压缩jpeg文件。我这样做:将图像读取为BufferedImage以压缩率将图像写入另一个文件。好吧,这看起来很简单,但我发现ICC颜色配置文件和EXIF信息在新文件中消失了,图像的DPI从240下降到72。它看起来与原始图像不同。我在OSX中使用了类似预览的工具。它可以完美地改变图像的质量而不影响其他信息。我可以用Java完成吗?至少保留ICC颜色配置文件,让图像颜色看起来与原始照片相同? 最佳答案 /***@paraminputFilenameWithPath:binaryfilepath*@paramoutpu

java - 将客户端 REQUEST_ENTITY_PROCESSING 设置为 CHUNKED 我丢失了文件

我有一个在Jetty上运行的REST网络服务。我想编写一个Java客户端,它使用相同的Web连接将大量文档分块到该其余服务。我能够在这里建立一个基于迭代器的流方法:SendingastreamofdocumentstoaJersey@POSTendpoint这不起作用,除非您设置clientConfig.property(ClientProperties.REQUEST_ENTITY_PROCESSING,RequestEntityProcessing.CHUNKED);,因为Content-length未知。虽然有些工作,但分块传输似乎丢失了一些文档。例如:num_docs50000

Kafka是如何防止消息丢失的

Kafka通过一系列机制来防止消息丢失,主要包括以下几个方面:生产者端(Producer)保证:同步发送:生产者默认是异步发送消息的,但如果希望保证消息不丢失,可以选择将异步发送改为同步发送。这样,生产者会等待消息被Broker成功接收后再继续发送下一条消息。回调函数和重试机制:为生产者添加异步回调函数,当消息发送失败时,可以在回调函数中重试发送,直到消息成功发送。重试机制:生产者本身提供了一个重试的机制。如果因为网络问题或Broker故障导致发送失败,生产者会尝试重新发送消息。设置acks参数:生产者可以设置acks参数来控制消息确认机制。例如,设置为all意味着消息必须被所有的副本(包括l

java - 字节码中丢失变量 'final' 修饰符?

分析这个简单类的字节码后,我得出的结论是编译器不会保留有关局部变量为final的任何信息。不过这看起来很奇怪,因为我相信HotSpot编译器实际上可以使用这些信息来进行优化。代码:publicstaticvoidmain(String[]args){finalinti=10;System.out.println(i);}字节码:publicstaticvoidmain(java.lang.String[]);descriptor:([Ljava/lang/String;)Vflags:ACC_PUBLIC,ACC_STATICCode:stack=2,locals=2,args_siz

java - 使用 Google Reflections 获取所有类的列表——但 java.* 似乎丢失了

我正在使用googleReflections包来构建可调用的所有类的索引。以下代码应该返回JVM中加载的所有类:ListclassLoadersList=newLinkedList();classLoadersList.add(ClasspathHelper.contextClassLoader());classLoadersList.add(ClasspathHelper.staticClassLoader());Reflectionsreflections=newReflections(newConfigurationBuilder().setScanners(newSubType