小编Kar*_*rlP的帖子

管理多个版本的序列化Java对象

让我们说我有一个程序,由于某种原因需要处理旧版本的序列化对象.

例如:反序列化时,可能会遇到其中一个版本.

class Pet {
    private static final long serialVersionUID = 1L;
    int paws;
}

class Pet {
    private static final long serialVersionUID = 2L;
    long paws; // handle marsian centipedes
    boolean sharpTeeth;
}
Run Code Online (Sandbox Code Playgroud)

让我们假设(逻辑上)可以使用一些聪明的策略来设置非对象字段等将旧对象转换为新对象,但是:

我如何安排我的源代码?在编写转换器时,我可能需要在同一个源代码树中使用这两个版本,但是我如何在eclipse中处理它.

我应该在一个类加载器中进行反序列化,如果失败,请尝试使用另一个使用旧版本的类加载器(依此类推),还是有更好的方法?

什么是最好的策略?

java serialization

37
推荐指数
2
解决办法
2万
查看次数

JVM垃圾收集和分页内存架构

在讨论java和/或垃圾收集的最近10年中,我无法防范的唯一性能损失是垃圾收集算法在分页内存架构中运行时或多或少会中断,并且堆的部分内容正在变得越来越多分页.

Unix系统(尤其是Linux)积极地记录了一段时间没有被触及的内存,虽然这对于你的普通泄漏应用程序来说是好的,但它会在内存紧张的情况下杀死javas性能.

我知道最好的做法是保持最大堆小于物理内存.(或者你会看到你的应用程序交换死亡)但是这个想法 - 至少在unix世界中,是内存可以更好地用于文件系统缓存等.

我的问题是:是否有任何分页(识别)垃圾收集算法?

java garbage-collection

17
推荐指数
2
解决办法
6680
查看次数

如何在Java中扩展数组而不更改其名称

我想知道是否可以在Java中扩展数组但不更改其名称,因为我有多个方法链接到此数组.我正在考虑创建一个名称相同但大两倍的新数组,然后将所有元素从第一个数组复制到第二个数组.这可能吗?
基本上我想在银行创建一个包含帐户的数组,如果客户创建了这么多的数据,那么数组就没有足够的元素,那么它应该扩展自己.
谢谢你的回复!

java arrays extend

9
推荐指数
4
解决办法
4万
查看次数

将国家字符插入oracle NCHAR或NVARCHAR列不起作用

在oracle数据库中插入字符串时,一些国家字符会被问号替换,即使它们插入NCHAR或NVARCHAR列 - 应该能够处理所有Unicode字符.

使用Oracle的SQL Developer,sqlplus或使用JDBC驱动程序会发生这种情况.

数据库NLS_CHARACTERSET设置为WE8ISO8859P1(西欧iso-8859-1).用于NCHAR列的NLS_NCHAR_CHARACTERSET设置为AL16UTF16.(UTF-16)

任何不在NLS_CHARACTERSET中的字符似乎都被替换为反转的问号.

java oracle unicode nvarchar sqlplus

6
推荐指数
1
解决办法
1万
查看次数

flush()java文件处理

flush()的确切用法是什么?流和缓冲区有什么区别?为什么我们需要缓冲?

java file-handling

5
推荐指数
2
解决办法
1万
查看次数

在R中打开100个文件

我需要用数据读取许多文件,但我无法使其工作.

例如:我有6个ASCII文件名为"雨,风等......"

这就是我的想法:

namelist<-c("rain","wind","sunshine hour","radiation","soil moisture","pressure")
for (i in 1:6){
 metedata<-read.table('d:/namelist[i].txt')
 metedata
}
Run Code Online (Sandbox Code Playgroud)

但那没用.我该怎么办?

r file

3
推荐指数
1
解决办法
98
查看次数

拆分号码和抓取

如果我有:

int money;
money = 378;
Run Code Online (Sandbox Code Playgroud)

现在我想说多少钞票和硬币从这里出来..

瑞典有这些钞票:500,100,50,20和硬币10,5,1

所以我想从上面的money值得到输出:

3x100,1x50,1x20,1x5,3x1

我怎样才能做到这一点?

java

0
推荐指数
1
解决办法
173
查看次数