powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Queue с поддержкой сериализации на диск.
25 сообщений из 200, страница 6 из 8
Queue с поддержкой сериализации на диск.
    #39908263
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
PetroNotC Sharp
Может так?

Так int - не struct, и там еще надо по указателям будет бегать с контейнерами.
дак и приведи пример структуры с int, string, myClass.
Не все наверно поняли твою строчку и идею класса в байтовый поток.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908271
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
//псевдокод
struct test {
    int id;
    string str;
    myClass c;
    ostream& operator<<(ostream& out, const test& t) {
        os << id << str << c;
        return os;
    }
}


Как-то так.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908274
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Согласен.
А что если в ТЗ сказать что структура классов заранее неизвестна?
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908278
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
А что если в ТЗ сказать что структура классов заранее неизвестна?

Неизвестна когда? Во время компиляции? Да и хрен бы с ней, можно и в рантайме классов наделать, главное, чтобы их все можно было в поток потом спустить.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908280
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Я понимаю, что ты клонишь к тому, что получится та же самая ява. Ну да. Тогда там будет велоява без ненужного оверхеда.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908284
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Угу.
Как раз на обход всех полей класса время уходит.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908300
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Как раз на обход всех полей класса время уходит.

Ну, как бы если там всё динамическое, то можно вообще херачить всё в char*, а потом кастить нужные куски этого буфера по известным метаданным.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908306
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
PetroNotC Sharp
Как раз на обход всех полей класса время уходит.

Ну, как бы если там всё динамическое, то можно вообще херачить всё в char*, а потом кастить нужные куски этого буфера по известным метаданным.

В java вроде так:
Код: java
1.
2.
3.
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.dat")))
Person p = new Person("Sam", 33, 178, true);
oos.writeObject(p);


А ты опять сослался на звездочку указатель примера которого так и не привел.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908307
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Указатели на память становятся плохим тоном в программировании.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908319
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
А ты опять сослался на звездочку указатель примера которого так и не привел.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Object {
    Metadata meta;
    char* buffer;
    int length;
    int* getInt(int nfield) {
        if (meta.isIntField(nfield)) {
            return (int*)buffer + meta.getOffset(nfield);
        }
        return NULL;
    }
    //...
}


Что-то такое.

PetroNotC Sharp
Указатели на память становятся плохим тоном в программировании.

Да они всегда считались чем-то стрёмным, но что ты интересного в жизни сделаешь без void* и зачем вообще плюсы и сишечка нужны без void*?
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908352
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Попытка #5
Где тут твой класс Object?
22048154
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908371
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут:
User, Puser, Muser, Мышка, Паровоз,...
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908380
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
crutchmaster,
Согласен.
А что если в ТЗ сказать что структура классов заранее неизвестна?

видимо некий dump-class получает список указателей на члены, которые надо сохранить...
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908381
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
crutchmaster,
Указатели на память становятся плохим тоном в программировании.

По разному. В ассемблере - это каждодневная рутина.
В бизнес-программинге - это вечный источник ошибок и предмет ненависти. Особенно когда
кодер старшей категории делает code-review своих младших коллег.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908391
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Я про ЯП высокого уровня. Не про ассемблер.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908393
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух,
Ну дак RTTI же.
А в java зовут рефлексия.
Мы же это не будем тут изобретать?
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908394
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,
Дык там нет твоего класса в качестве базового.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908521
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
полудух,
Ну дак RTTI же.
А в java зовут рефлексия.
Мы же это не будем тут изобретать?

значит где-то должна быть либа, которая идеально сохраняет объекты на диск и потом восстанавливает их
(в т.ч. и сложные иерархии классов с указателями)
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908531
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
mayton
У нас идет речь о величинах порядка 1-мс.

Умножь эти 1 мс на количество запросов получится очень даже жирно.

mayton
Спор о том что будет быстрее кастинг void* или еще что-то это спор о наносекундах.

Это вопрос о том, что эффективнее, возможно, в тысячи раз.

mayton
Здесь С++ не нужен потому что у нас весь стек технологий на базе Java-8.

Ну, если железо покроет оверхед, то ок, хотя я наслышан, что в ынтерпрайзе не гнушаются не то, что сями в жабке, а даже засовывать в этот си асм вставки.

(разводя руками)
Совершенству нет предела. Пишите вашу очередь на С++. Но у нас - бизнес код. И его много. И интеракция
с С++ на Java в рамках одного процесса мне слабо представляется. В крайнем случае - это сетевой сокет
но это уже движение в сторону MQ систем. А я этого всячески избегаю.

Поэтому какой-то процесс на Асме который делает очень быстрые вставки в файл мне ровным счетом ничего
не дает из-за сложностей интеграции.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908547
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
PetroNotC Sharp
полудух,
Ну дак RTTI же.
А в java зовут рефлексия.
Мы же это не будем тут изобретать?

значит где-то должна быть либа, которая идеально сохраняет объекты на диск и потом восстанавливает их
(в т.ч. и сложные иерархии классов с указателями)

Уже есть на java. Выше 2 строчки дал.
Со сложными связями нигде нет либы. Это везде руками.
Ну, у автора message идут простейшие. Без связей между собой.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908597
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а какой вариант лучше? И для каких случаев
struct User
{
Phone* ph;
Phone ph;
};
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908600
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
а какой вариант лучше? И для каких случаев
struct User
{
Phone* ph;
Phone ph;
};

В java эти варианты сделали одним. Чтобы не мучались.
А в плюсах почему то невозможно сделать null во втором варианте. То есть если я Phone рожаю на кнрпку во время работы программы я обязан делать первый вариант.
Асвторой, если в конструкторе класса main.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908602
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покурите как управление памятью сделано в Rust. Там - интереснее.
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908607
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Покурите как управление памятью сделано в Rust. Там - интереснее.
дак у меня в плюсах топик на эту тему.
Как я изумился невозможности жить без звездочки))).
Как только ставил без, то конструктор класса автоматом стартовал меня не спрашивая))
...
Рейтинг: 0 / 0
Queue с поддержкой сериализации на диск.
    #39908610
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, нету у тебя ничего в плюсах про Rust.
...
Рейтинг: 0 / 0
25 сообщений из 200, страница 6 из 8
Форумы / Java [игнор отключен] [закрыт для гостей] / Queue с поддержкой сериализации на диск.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]