Как заметил еще один, глава 11 Эффективной Java Джоша Блоха является незаменимым ресурсом в Java Serialization.
Пара вопросов, относящихся к этой главе, относящейся к вашему вопросу:
Я написал приведенный ниже пример, иллюстрирующий это.
class MyClass extends MyClass2 implements Serializable{
public MyClass(int quantity) {
setNonSerializableProperty(new NonSerializableClass(quantity));
}
private void writeObject(java.io.ObjectOutputStream out)
throws IOException{
// note, here we don't need out.defaultWriteObject(); because
// MyClass has no other state to serialize
out.writeInt(super.getNonSerializableProperty().getQuantity());
}
private void readObject(java.io.ObjectInputStream in)
throws IOException {
// note, here we don't need in.defaultReadObject();
// because MyClass has no other state to deserialize
super.setNonSerializableProperty(new NonSerializableClass(in.readInt()));
}
}
/* this class must have no-arg constructor accessible to MyClass */
class MyClass2 {
/* this property must be gettable/settable by MyClass. It cannot be final, therefore. */
private NonSerializableClass nonSerializableProperty;
public void setNonSerializableProperty(NonSerializableClass nonSerializableProperty) {
this.nonSerializableProperty = nonSerializableProperty;
}
public NonSerializableClass getNonSerializableProperty() {
return nonSerializableProperty;
}
}
class NonSerializableClass{
private final int quantity;
public NonSerializableClass(int quantity){
this.quantity = quantity;
}
public int getQuantity() {
return quantity;
}
}
Я не знаю, что библиотека делает то, что ты хочешь. Однако у меня есть реализация "union-find in F #" в этой записи блога . И из моих студенческих дней, я, кажется, помню какую-то популярную книгу о Схеме имел базовый алгоритм унификации в ней, который я использовал, чтобы кодировать "мини-пролог" реализации в тот день. Так что я чувствую, что это то, что кто-то с нужным опытом может собрать в выходные, если кто-то ищет проект. (Возможно, я добавлю его в свой собственный список TODO на выходные.)
-121--3677632-Вы не указали, идет ли речь о 32-разрядном или 64-разрядном коде, и трудности, описанные вами и другими плакатами, в основном относятся к 32-разрядному коду. В 64-разрядной Windows, по существу, существует только одно соглашение о вызове (это также в статье википедии, связанной с Джоном Кноеллером), что означает, что вы знаете соглашение о вызове (конечно, за исключением любого готовящего свой собственный).
Кроме того, в соответствии с соглашением о вызове Microsoft x64, незнание количества параметров вызываемой функции не препятствует ее вызову, предоставляя столько параметров, сколько вы пожелаете/пользователь. Это потому, что вы, как вызывающий, откладываете пространство стека и очищаете его после этого. - Конечно, если не предоставить нужное [количество] параметров, вызываемая функция все еще может делать глупые вещи, потому что вы предоставляете неправильный ввод, но это другая история.
-121--4859430- С помощью управления IIS добавьте пользовательский заголовок Cache-Control
со значением no-cache
. Это заставит браузер проверить, что любая кэшированная версия XAP является последней перед ее использованием.
Добавьте параметр запроса в URL для XAP в элементе на странице HTML:
Он будет проигнорирован и сломает кеш. {{1 }} В IE8 есть несколько инструментов управления кешем: Откройте инструменты разработчика: