草庐IT

可变序列

全部标签

java - java.util.Vector 序列化线程安全吗?

我知道Vector类对于添加和删除元素是线程安全的[reference].如果我使用ObjectOutputStream序列化一个Vector,即使其他线程在序列化过程中添加和删除对象,我是否可以保证在反序列化时保持一致(且未损坏)的状态? 最佳答案 writeObject()方法是同步的。但是Javadoc中没有任何内容可以保证这一点,除非声明“vector是同步的”暗示了这一点。请注意,readObject()方法不需要同步,因为在readObject()返回之前,任何人都无法访问该对象。

java - 如何对不可变类实例之间的循环建模?

不可变类很棒,但有一个大问题我想不出一种合理的方法来解决-循环。classFriend{Setfriends();}一个人如何模拟我有你作为friend,而我又有我作为friend?不变性这个来自外界的类肯定是​​不可变的。为了进行相等性检查,内部保存的值应该保持不变。 最佳答案 [[[编辑:添加代码以演示完全不可变的概念]]]这就是构建器非常适合不可变对象(immutable对象)的原因-它们允许在构建过程中使用可变性,以便在您“卡住”它之前设置好所有内容。在这种情况下,我猜你需要一个支持创建循环的friend生成器。finalF

java - 用于 Jersey 使用的(哈希) map 的序列化程序?

我正在尝试将以下有效负载发布到我基于Jersey的Web服务:{"firstname":"Jimmy","lastname":"Johns","addresses":[{"street":"19MayberryDrive","city":"Mayberry","state":"nc","postalcode":"27043","country":"us","addresstype":1}],"data":{"eyes":"blue","hair":"brown","sandwich":"roastbeef"}}我的Jersey代码:@POSTpublicResponsecreate(P

java - JFreeChart - 时间序列和 CandleStick 在同一图表上

我试图在JFreeChart中生成一个图表,其中包含一个重叠的烛台图表和时间序列图。(有点像这样)我已经尝试创建烛台图表并添加一个额外的XY系列及其渲染器,但这会导致运行时错误org.jfree.data.xy.XYSeriesCollection无法转换为org.jfree.data.xy.OHLCDataset我的一段代码如下私有(private)XYPlot图;私有(private)XYSeriesCollection数据趋势;私有(private)XYItemRenderer渲染器;公共(public)OhlcChart(BarCollection条){JFreeChartjf

java - 在 Java 6 和 7 中处理安全可变参数,需要说明

JDK在处理安全变量参数方面的主要区别是什么?以上在JDK1.6中发出警告-Typesafety:AgenericarrayofListiscreatedforavarargsparameter为什么会在此处看到此警告?JDK1.7做了什么来抑制它?请帮助我理解。 最佳答案 JDK7添加了@SafeVarargsannotation注意通用可变参数何时真正安全,并将该注释应用于例如Collections.addAll。 关于java-在Java6和7中处理安全可变参数,需要说明,我们在S

java - 从 Java 中的视频/视频文件中提取/提取图像/图像序列的最佳方法

嗯,有FFMPEG和一些Java绑定(bind)和包装器,但我需要为每个特定平台分发正确的FFMPEG二进制文件。有没有像FFMPEG这样没有任何依赖的纯Java解决方案或库来将视频文件转换为图像序列?FFMPEG、XUGGLER或JMF(已废弃)等解决方案不适用。真的没有纯Java解决方案吗?也许至少针对特定的视频编解码器/文件?我只是想从视频文件中提取图像到jpeg/png文件并将它们保存到磁盘 最佳答案 IstherereallynopureJavasolutionfor[extractingimagesfromavideos

java - 如何在 Wicket 1.5 中禁用序列化?

我想在我的Wicket应用程序中关闭序列化并将所有页面/session信息存储在RAM中。我的应用程序的用户数量很少(一般为1个);我不需要集群部署;我需要在请求之间缓存一些不可序列化的数据。有没有办法让Wicket不会自动尝试序列化我的页面/session?我尝试了在https://cwiki.apache.org/confluence/display/WICKET/Page+Storage上使用HttpSessionDataStore的建议,但没有效果。我仍然得到这样的堆栈跟踪:SEVERE:Errorserializingobjectclasscom.prosc.safetyne

java - 返回对存储在对象字段之一中的可变对象值的引用会暴露对象的内部表示

在我的代码中为以下几行运行checkstyle时出现此错误:@OverridepublicString[]getDescriptions(){returnDESCRIPTIONS;}但描述不是可变的。它被定义为:privatestaticfinalString[]DESCRIPTIONS=newString[NUM_COLUMNS];static{//Inaloopassignvaluestothearray.for(inti=0;i这是完整的错误信息:"Returningareferencetoamutableobjectvaluestoredinoneoftheobject'sfi

java - 使用 jbcrypt 时性能可变且性能下降

我正在使用jbcrypt对项目中的密码进行哈希处理。在我使用的硬件上验证密码时,性能约为500毫秒(log_rounds设置为12)。然而,在正常使用一段时间后,性能时间突然下降到惊人的15秒。下降非常突然,没有累积,并且在过程重新启动之前保持不变。分析显示额外的时间用在了key(..)方法中。来源:http://jbcrypt.googlecode.com/svn/tags/jbcrypt-0.3m/src/main/java/org/mindrot/jbcrypt/BCrypt.java该方法仅使用xor、and、shift等基本函数计算哈希,没有对象分配、外部资源使用、随机数生成

java - Java 字符串并非真正不可变的含义是什么?

背景在Java101中,我们被教导:AStringisimmutable.是的。好的。谢谢。然后我们进入Java102(或者Java201),我们发现:AStringisn'treallyimmutable:youcanchangeitusingreflection.啊。美好的。要么很可爱,要么非常反常,这取决于你的观点。到目前为止,这些东西已经discussedadinfinitum在StackOverflow和其他地方。在提出这个问题时,我认为这是理所当然的。我有兴趣问的是:问题OncewediscoverthataStringisn'treallyimmutable,whatar