JavaRush/Java блог/Архив info.javarush/Уровень 20: план уровня и доп. материалы
hubert
41 уровень

Уровень 20: план уровня и доп. материалы

Статья из группы Архив info.javarush
участников

План уровня:

  • Сериализация
  • Сериализация/Десериализация
  • transient
  • Serializable, Externalizable
Курс Java

Что еще можно посмотреть на досуге:

Первые 20 уровней - это обзор Java. И ты их успешно прошел. Думаю, ты уже прочел "Head First Java", которую я рекомендовал тебе начать читать на 4 уровне. Пришло время начать читать книгу "Thinking in Java" (Философия Java). Думаю, ты знаешь, где ее взять. Главное - не сдавайся! Прочти повторно эту мотивирующую статью. Каждое прочтение даст тебе новое понимание прогресса твоего обучения.
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь! Вернуться к плану обучения Вернуться к обучению java онлайн на JavaRush
Комментарии (15)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Joysi
Уровень 41
8 марта 2016, 21:43
Мне при решении задач по данной лекции помогло:
www.ccfit.nsu.ru/~deviv/courses/oop/java_ser_rus.html
Roman_kh
Уровень 33
20 ноября 2015, 18:50
вот ссылка поможет понять как решать задачу 20.07.05 ))
terranum
Уровень 28
22 августа 2014, 01:35
strEaM
Уровень 25
20 июня 2014, 15:49
первая ссылка не рабочая
panser
Уровень 28
18 января 2014, 21:31
по-моему задача из первого урока неработоспособна(буду признателен, если переубедите).

вот начало тревог info.javarush.ru/JavaRush_tasks_discussion/2013/10/27/level20-lesson02-task01.html#comment8700, после вбил в среду код первого примера, не работает. Сам код github.com/panser/JavaRushHomeWork/tree/master/src/ua/org/gostroy/test/level20/lesson1 (для упрощения оставил лишь класс Dog). Спасибо IvanDurov , пришел к выводу «InputStream нормально виден второму классу, но все данные из него уже считаны BufferedReader-ом в первом»

если возможно, выложите рабочий пример первого урока этого уровня.
panser
Уровень 28
20 января 2014, 13:33
неужели никто не ответит? как можно разобраться в теме, если примеры из урока не работают. hubert , , уделите внимания.
Diana
Уровень 41
20 января 2014, 15:09
import java.io.BufferedReader;
import java.io.PrintWriter;

public class Dog {
    public String name;
    public int age;

    public void save(PrintWriter printWriter) throws Exception {
        printWriter.println(name);
        printWriter.println(age);
        printWriter.flush();
    }

    public void load(BufferedReader bufferedReader) throws Exception {
        name = bufferedReader.readLine();
        age = Integer.parseInt(bufferedReader.readLine());
    }
}


import java.io.*;

public class Human {
    public Dog dog;

    public void save(OutputStream outputStream) throws Exception {
        PrintWriter printWriter = new PrintWriter(outputStream);

        String isDogPresent = dog != null ? "yes" : "no";
        printWriter.println(isDogPresent);
        printWriter.flush();

        if (dog != null) {
            dog.save(printWriter);
        }
    }

    public void load(InputStream inputStream) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

        String isDogPresent = reader.readLine();
        if (isDogPresent.equals("yes")) {
            dog = new Dog();
            dog.load(reader);
        }
    }
}


import java.io.*;

public class Solution {
    public static void main(String[] args) {
        try {
            OutputStream outputStream = new FileOutputStream("file1.bin");
            InputStream inputStream = new FileInputStream("file1.bin");

            Human human = new Human();
            human.dog = new Dog();
            human.dog.name = "Dog1";
            human.dog.age = 2;

            human.save(outputStream);

            Human humanNew = new Human();
            humanNew.load(inputStream);
            System.ou
panser
Уровень 28
21 января 2014, 23:04
спасибо. все работает отлично!
Timur
Уровень 20
5 декабря 2013, 16:41
первый пример выбросит NumberFormatException при загрузке значений из файла?
Timur
Уровень 20
5 декабря 2013, 17:04
Первый коммент это не вопрос) И еще мне кажется это предложение не корректно
args
Diana
Уровень 41
5 декабря 2013, 17:34
все неточности, опечатки и баги пости сюда — vk.com/topic-43948962_28499309
В одном месте легче их найти, чтобы править
Timur
Уровень 20
5 декабря 2013, 17:40
Diana Извиняюсь просто подумал вдруг кто доп. материал полезет читать)
Т.е. на helpdesk.tpondemand.com лучше не постить опечатки и баги а только конкретные предложения?
Diana
Уровень 41
5 декабря 2013, 17:52
Хелпдеск — это больше для предложений, багов в работе приложения, каких-то эксепшенов, т.е. разработчики учитывают таски в хелпдеске в своих спринтах. А тема ВК — это для верстальщика, также туда заглядывает разработчик задач, когда планируется багфикс задач и улучшение тестов.
Groomsh
Уровень 33
5 декабря 2013, 18:19
А неточности, опечатки и баги в задачах правятся когда бывает новое обновление, вроде новой порции задач, или в порядке накопления?
Diana
Уровень 41
5 декабря 2013, 18:40
обычно добавляются к какому-то релизу, который происходит примерно раз в 2 недели, чаще по понедельникам. Если фиксов задач мало, то их обновление может быть перенесено на следующий релиз.