cookie

Ми використовуємо файли cookie для покращення вашого досвіду перегляду. Натиснувши «Прийняти все», ви погоджуєтеся на використання файлів cookie.

avatar

Секреты Java

Обсуждаем Java, архитектуру, фреймворки и всё, о чем должны говорить разработчики. Реклама на бирже: https://telega.in/c/java_secrets По всем вопросам @anton_java

Більше
Рекламні дописи
7 074
Підписники
+1324 години
+1007 днів
+64830 днів

Триває завантаження даних...

Приріст підписників

Триває завантаження даних...

Фото недоступнеДивитись в Telegram
#test
Показати все...
5
❓Что выведет код на изображении выше?Anonymous voting
  • true true true
  • false true true
  • false true false
  • true true false
  • Ошибка компиляции
0 votes
7👍 2
Фото недоступнеДивитись в Telegram
Разбираем как решать задачи на LeetCode ✅ Примеры решений ✅ Пояснения Выбери своё направление: 1. Python 2. JavaScript 3. Java 4. C# 5. Golang 6. С/C++ 7. PHP 8. Kotlin 9. Swift
Показати все...
👍 1 1
Фото недоступнеДивитись в Telegram
Как получить текущий stack trace? Stack trace представляет собой последовательность методов, от последнего к первому, которые были вызваны выполняемой программой (потоком). С помощью него можно отследить где было выброшено исключение или через какую цепочку методов программа дошла до какой-либо места в коде. Удобно для дебага. Чтобы получить текущий stack trace можно использовать вызов метода getStackTrace() у настоящего потока, например:
public class StackTraceExample {
    public static void main(String[] args) {
        method1();
    }

    public static void method1() {
        method2();
    }

    public static void method2() {
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        
        for (StackTraceElement element : stackTrace) {
            System.out.println(element.getMethodName());
        }
    }
}
В данном примере метод method2 выводит все вызванные методы в стеке вызовов. Результат выполнения программы будет следующим:
getStackTrace
method2
method1
main
Объекты класса StackTraceElement представляют элементы стек стрейса:) Можно узнать различную информацию у данного элемента, такую как имя метода в данном месте стека (getMethodName()), имя класса (getClassName()) и другую. Для получения stack trace с использованием Throwable можно вызвать метод getStackTrace(), который также возвращает массив StackTraceElement. Пример использования Throwable для получения stack trace:
try {
    // some code that may throw an exception
    throw new Exception("Error occurred");
} catch (Exception e) {
    StackTraceElement[] stackTrace = e.getStackTrace();
    
    for (StackTraceElement element : stackTrace) {
        System.out.println(element.toString());
    }
}
Оба эти способа позволяют получить информацию о стеке вызовов для отслеживания ошибок и исключений в Java. 🫡 Секреты Java #java #stacktrace
Показати все...
7👍 2🔥 2👌 1
Фото недоступнеДивитись в Telegram
СЕНЛА — это международная компания полного цикла разработки программного обеспечения.  Мы запускаем бесплатный интенсивный курс Java SE. Для кого: для тех, кто может справиться с Getters и Setters, умеет проходить в цикле по массиву, понимает, чем ссылочные типы отличаются от примитивов.  Города участники: Тула, Калуга, Орел и Владимир. Как попасть: выполнить Небольшое тестовое задание. Регистрация до 23 июня. Длительность обучения: 4 месяца. Как проходит обучение: • Групповой формат. • Онлайн вебинары и разборы практических заданий. • Изучение материала и практика под руководством ментора — практикующего специалиста компании.  И главное – возьмем на работу тех, кто пройдет курсы и справится с финальным заданием! Реклама. ООО "СЕНЛА". ИНН 5751061648.
Показати все...
3😁 1
Фото недоступнеДивитись в Telegram
#test
Показати все...
3
❓Что выведет код на изображении выше?Anonymous voting
  • 4 6
  • 3 3
  • 4 7
  • 3 6
  • 3 0
  • Ошибка компиляции
0 votes
👍 4👌 3 2
Фото недоступнеДивитись в Telegram
🔥Тесты для подготовки к собеседованию🔥 Выбери своё направление: 1. Frontend 2. Python 3. Java 4. Тестировщик QA 5. Data Science 6. DevOps 7. C# 8. С/C++ 9. Golang 10. PHP 11. Kotlin 12. Swift
Показати все...
2🔥 1
Фото недоступнеДивитись в Telegram
Thread wait() vs. sleep() Оба метода в Java имеют схожую функциональность, но имеют разные принципы работы. Метод wait() вызывается на объекте, причем на любом, т.к. он определен в классе Object. Метод должен быть вызван внутри блока synchronized и на объекте на котором получен lock, в противном случае мы получим исключение
java.lang.IllegalMonitorStateException: 
current thread is not owner
Метод wait() заставляет текущий поток остановиться и ждать, пока не будет освобожден. После этого поток снова становится активным. Пример использования метода wait():
Object lock = new Object();

synchronized(lock) {
    try {
        lock.wait();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
После вызова wait() поток будет ожидать пока его не освободит другой поток вызовом метода notify() на этом же объекте. Thread.sleep() - статический метод и в отличие от wait(), просто останавливает поток на указанное время (если не был прерван). Он может быть вызван из любого места и не требует блока synchronized для исполнения. Пример использования метода sleep():
try {
    Thread.sleep(1000); 
// Поток засыпает на 1 секунду
} catch (InterruptedException e) {
    e.printStackTrace();
}
Пробуждение потока Когда мы используем метод sleep(), поток запускается через указанное время, если он не прерывается до этого. Для wait() процесс пробуждения немного сложнее. Мы можем разбудить поток, вызвав другим потоком методы notify()/notifyAll() на том же объекте, которые тоже должны быть вызваны в блоке synchronized. Либо можно вызвать метод wait() с указанием таймаута. Таким образом, основное различие между методами wait() и sleep() заключается в том, что wait() используется для синхронизации между потоками, в то время как sleep() просто приостанавливает выполнение текущего потока на определенное время. 🫡 Секреты Java #java #multithreading
Показати все...
👍 14 6🔥 1
Фото недоступнеДивитись в Telegram
📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление: 1. Frontend / JavaScript 2. Python 3. Java 4. Тестировщик QA 5. Data Science 6. DevOps 7. C# 8. С/C++ 9. Golang 10. PHP 11. Kotlin 12. Swift
Показати все...
2👍 1
Оберіть інший тариф

На вашому тарифі доступна аналітика тільки для 5 каналів. Щоб отримати більше — оберіть інший тариф.