Java_No_Panic
Open in Telegram
Самый перспективный, полезный и ламповый канал по Java в русскоязычном телеграме! Обучающие посты в хронологическом порядке, посты по софт скиллам и чат, где вам всегда помогут админы и комьюнити. Сотрудничество: @Niik_Whaale @frequencyconflict
Show more612
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
Как мы сериализуем объект?
#для_новичков
#для_мидл_разработчиков
Когда мы с вами разобрались с тем, что такое сериализация и для чего она нужна, настало время поговорить о том, как её применить.
Объект Java является сериализуемым тогда и только тогда, когда его класс или любой из его родительских классов реализует либо интерфейс java.io.Serializable, либо его субинтерфейс, java.io.Externalizable.
В процессе сериализации мы преобразуем состояние объекта в поток байтов, чтобы его можно было перенести с одной JVM на другую и вернуть поток байтов обратно в исходный объект.
Пример подключения сериализации в класса Employee
class Employee implements Serializable {
private static final long serialVersionUID = 1L;
int id;
String name;
public Employee(int id, String name) {
this.id = id;
this.name = name;
}
}
#learning_java#для_новичков
#для_мидл_разработчик
Зачем нам нужна сериализация в Java?
В прошлом посте мы уже с вами узнали о том, что такое сериализация, но у нас остался не раскрытым главный вопрос, а зачем она нужна и в каких случаях используется.
В этом посте я вам расскажу, где мы с ней взаимодействуем.
Сериализация используется в следующих целях:
🔴 Коммуникация: Сериализация включает в себя процедуру сериализации и передачи объекта. Это позволяет нескольким компьютерным системам проектировать, совместно использовать и выполнять объекты одновременно.
🔴 Глубокое копирование: процесс клонирования упрощается благодаря сериализации. Точная копия объекта получается путем сериализации объекта в массив байтов, а затем его десериализации.
🔴 Кросс-синхронизация JVM: основное преимущество сериализации заключается в том, что она работает с разными JVM, которые могут работать на разных архитектурах или операционных системах.
#learning_java
Сложность материала:
✅ для новичков
✅ для программистов среднего уровня
Что такое сериализация в Java?
Сериализация в Java — это процесс преобразования объекта кода Java в поток байтов для передачи объектного кода с одной виртуальной машины Java на другую и воссоздания его с использованием процесса десериализации.
#learning_java
Какой модификатор доступа NON-ACCCESS следует использовать?
Для классов вы можете использовать либо final, либо abstract:
🔴 final - Класс не может быть унаследован другими классами.
🔴 abstract - Класс нельзя использовать для создания объектов (чтобы получить доступ к абстрактному классу, он должен быть унаследован от другого класса.
Для атрибутов и методов вы можете использовать одно из следующих:
🔴 final - Атрибуты и методы нельзя переопределить/изменить.
🔴 static - Атрибуты и методы принадлежат классу, а не объекту.
🔴 abstract - Может использоваться только в абстрактном классе и только в методах. Метод не имеет тела, например, abstract void run();. Тело предоставляется подклассом (наследуется от).
🔴 transient - Атрибуты и методы пропускаются при сериализации содержащего их объекта.
🔴 synchronized - синхронизированные методы могут быть доступны только одному потоку(thread) за раз
🔴 volatile - Значение атрибута не кэшируется локально в потоке(thread) и всегда считывается из основной памяти.
#learning_java
А вот и отзыв от победительницы конкурса ежедневных фидбэков Kate, за который ей отдельное спасибо.
Какой модификатор доступа следует использовать?
Для классов вы можете использовать как public, так и default:
🔴 public — класс доступен любому другому классу.
🔴 default — класс доступен только классам в том же пакете.
Для атрибутов, методов и конструкторов вы можете использовать одно из следующих:
🔴 public — Код доступен для всех классов.
🔴 private — Код доступен только внутри объявленого класса.
🔴 default — Код доступен только в том же пакете.
🔴 protected — Код доступен в том же пакете и подклассах.
#learning_java
Что такое модификатор в Java?
Вы уже хорошо знакомы с ключевым словом public, которое встречается почти во всех наших примерах:
public class MainКлючевое слово public является модификатором доступа. Оно используется рядом с классами, атрибутами, методами и конструкторами. Главная цель модификатора - это установка доступа для элемента. Разделим модификаторы на две группы: 🔴 Модификаторы доступа — контролируют уровень доступа 🔴 Модификаторы без доступа — не контролируют уровень доступа, но предоставляют другие функции. В следующем посте мы расскажем вам как их правильно использовать :) #learning_java
Итоги конкурса!
Команда JavaNoPanic рада сообщить о завершении конкурса фидбэков, просим победителей написать нам в личные сообщения (контакты в описании канала) и передаем наши поздравления!
1-е место: Kate (Ekaterina Sidorova) - 12.5$
2-е место: Alek (Алек Филатов) - 10$
3-е место: Random user - 2.5$
P. S. Рандомайзер выйдет на работу в понедельник, так что приз за третье место будет выдан завтра :)
Что такое конструкторы Java?
Конструктор в Java — это специальный метод, который используется для инициализации объектов.
Конструктор вызывается при создании объекта класса. Его можно использовать для установки начальных значений атрибутов объекта:
public class Main {
String className;
public Main(String className) {
this.className = className;
}
public static void main(String[] args) {
Main myObj = new Main("Main");
System.out.println(myObj.className);
}
}
#learning_javaКак можно создать объект в Java?
В Java объект создается из класса. Мы уже создали класс с именем Main, так что теперь мы можем использовать его для создания объектов.
Чтобы создать объект Main, укажите имя класса, за которым следует имя объекта, и используйте ключевое слово new.
#learning_java
Спасибо, что отлично провели с нами этот день. Надеемся, что вы научились чему-то новому.
Как вы себя чувствуете в нашем канале?
Спасибо, что отлично провели с нами этот день. Надеемся, что вы научились чему-то новому.
Как вы себя чувствуете в нашем канале?
Спасибо, что отлично провели с нами этот день.
Надеемся, что вы научились чему-то новому.
Как вы себя чувствуете в нашем канале?
Зарплаты в IT
Заниматься любимым делом хорошо, а когда за него платят - ещё лучше.
Согласно статистике Хабр, медианная зарплата в IT секторе во втором полугодии 2022 года составляет 150к рублей.
Медианная зарплата - это величина, которая делит количество работников пополам, указывая сумму, выше и ниже которой зарабатывает каждая половина. В данном случае одна половина IT специалистов зарабатывает больше 150к рублей, а другая меньше.
В списке самых оплачиваемых языков на текущий момент JavaScript стоит на втором месте, а Java на пятом.
Также предлагаем вам взглянуть на выжимку из большой статьи на Хабр, в которой мы отобрали для вас основные моменты касательно зарплат в первом полугодии 2022:
- Медианная зарплата на IT-рынке в первом полугодии составляла 140к рублей
- Самую большую зарплату платили Авито и Skyeng (250к рублей), Mail.ru Group (231к рублей) и Лаборатории Касперского (215к рублей).
- Архитекторы ПО зарабатывали (и скорее всего сейчас зарабатывают) больше всех остальных - 285к рублей.
- У достаточного количества пользователей портала данные не совпадают со статистическими, причем как в отрицательную, так и в положительную сторону, так что советуем почитать комментарии под статьей.
Желаем вам доброй ночи, а нам вашей обратной связи, которую можно дать, оставив реакцию на этот пост в соответствии с тем, насколько мы были полезны вам сегодня, а если у вас есть жалобы, вопросы или предложения, заполняйте гугл форму ниже, так вы помогаете нам стать лучше! И да, до воскресенья осталось совсем немного, а это значит, что тот из вас, кто регулярнее всех заполнял форму в течение недели, стал ещё ближе к своим 25$ в любой криптовалюте на выбор. Спасибо, что вы с нами!
Связь между клиентами и серверами осуществляется с помощью следующей последовательности запросов и ответов
1. Клиент (браузер) отправляет HTTP-запрос в Интернет
2. Веб-сервер получает запрос
3. Сервер запускает приложение для обработки запроса
4. Сервер возвращает HTTP-ответ (выход) в браузер
5. Клиент (браузер) получает ответ
#learning_java
Всегда ли хорошо использовать встроеные методы?
Вчера мы с вами разбирались в том, зачем нам создавать свои методы. Если ты забыл(а), то посмотри вот этот пост. А мы идем дальше!
Сегодня мы поговорим про использование нативных методов, то-есть тех, что предоставляет нам сам язык программирования. Канал Senior Java Developer поделился с нами интересной мыслью: автор привел пример использования нативной функции
Math.pow().
Он выяснил, что выполнение операции Math.pow() менее эффективное чем использование обычного оператора умножения. Мы решили проверить данное утверждения и написали для этого свой тест :)
Вот такие результаты у нас получились:
Результаты нашего метода подсчета степени:
6224 ms: 4.8569351667866E+255
Результаты нативной функции Math.pow():
43350 ms: 4.8569351667866E+255
Как мы можем заметить, автор был совершено прав. Функция Math.pow(), к сожалению, не всегда выполняет вычисления эффективно. Если вам интересны другие нативные методы и вы также как и мы хотите учиться по разным источникам, то мы настоятельно рекомендуем включать в свое обучение прочтения постов в канале Senior Java Developer.Дорогие подписчики, коллеги и просто наша любимая аудитория!
Нас с вами уже практически 500 человек, а ведь ещё только 13 дней назад в головах двух лучших друзей закончил назревать огромный план того, как максимально эффективно помогать людям заходить в программирование, эффективно учиться и расти профессионально и личностно.
Во-первых хотим сказать вам спасибо за то, что вы с нами! Мы действительно вам благодарны, особенно за конструктивную обратную связь, которая помогает нам исправлять косяки и черпать новые идеи для проекта в дополнение к уже имеющимся.
Да-да, именно проекта, так как телеграм канал это только начало и фундамент, на котором мы собираемся построить инновационную систему обучения программированию прямо внутри телеграм! В наши цели входит создание армии самых разнообразных ботов, которые сделают ваше обучение и практику максимально удобными, запись мультиязычных видеоуроков и полноценных курсов, выпуск подкастов и многое другое, а также в скором времени планируется запуск чата, фирменного стикер-пака и мерча.
Мы хотим быть с вами предельно честными, так что не будем скрывать цифры, о которых обычно не говорят: мы уже потратили на запуск и развитие канала 600€ (39.720₽), которые ушли на рекламу, разработку дизайна и многое другое. И учитывая масштабы наших планов, нам необходимо увеличивать бюджет, ибо у нас есть далеко не всё оборудование, нас всего двое и нам рано или поздно потребуется расширять команду, а также мы тоже хотим расти, учиться и повышать свою компетенцию, чтобы улучшать качество контента и эффективнее помогать вам.
С наилучшими пожеланиями,
Команда Java_No_Panic
🤬ДА БЛ**ТЬ🤬
Да-да, именно такая реакция у создателей курсов, когда они увидели этот канал с бесплатными курсами по:
>Python (64гб видео)
>C# (27гб курсов)
>Java (45гб видео)
>PHP (34гб видео)
>Go (23гб видео)
>Rust (37гб видео)
>SQL (41гб видео)
>MySQL (21гб видео)
>Другое (114гб видео)
ВСЕ БЕСПЛАТНО❤️
