uz
Feedback
Java | Фишки и трюки

Java | Фишки и трюки

Kanalga Telegram’da o‘tish

Java: примеры кода, интересные фишки и полезные трюки Купить рекламу: https://telega.in/c/java_tips_and_tricks ✍️По всем вопросам: @Pascal4eg

Ko'proq ko'rsatish
6 824
Obunachilar
+724 soatlar
-97 kunlar
-6030 kunlar
Postlar arxiv
⌨️ Метод clone() класса Object Метод clone() в Java используется для создания копии объекта. Он определён в классе java.lang.Object и по умолчанию выполняет поверхностное копирование объекта. Это означает, что он создает новый объект, который содержит те же значения полей, что и исходный объект, но сами поля являются ссылками на те же объекты, что и в исходном объекте. Таким образом, изменения в полях объекта, на который производится клонирование, также могут отразиться на его клоне, если эти поля сами по себе являются изменяемыми объектами. Простое использование метода clone() выглядит так:

public class MyClass implements Cloneable {
    private int value;
    
    // Конструкторы и методы класса
    
    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
Чтобы использовать метод clone(), класс должен реализовывать интерфейс Cloneable, иначе при попытке клонирования будет выбрасываться исключение CloneNotSupportedException. Использование метода clone() может быть не всегда удобным или эффективным. В некоторых случаях рекомендуется использовать альтернативные методы, такие как конструктор копирования или методы фабрики. Это обычно более явные способы создания копий объектов, и они могут быть более удобными и безопасными с точки зрения проектирования программы.

Java-разработчики, этот пост для вас! 13 апреля, всего за один день, вы можете получить оффер и присоединиться к дружному кол
Java-разработчики, этот пост для вас! 13 апреля, всего за один день, вы можете получить оффер и присоединиться к дружному коллективу AXENIX. План действий такой: — до 11 апреля отправьте нам свое резюме через этот сайт — дождитесь звонка от нашего рекрутера, чтобы получить ответы на все вопросы — 13 апреля пройдите онлайн-собеседование с экспертами AXENIX — получите оффер в тот же день! Вакансии по Java-разработке открыты для кандидатов из городов, где представлены офисы AXENIX (Москва, Тверь, Санкт-Петербург, Ростов-на-Дону, Воронеж, Краснодар), а также специалистов, готовых к переезду. Подробнее здесь До встречи! Реклама. ООО "АКСТИМ". ИНН 7705476338.

☕️Использование библиотеки Swing/AWT Swing и AWT — это библиотеки пользовательского интерфейса для создания графических приложений на языке Java. Swing является более современной и улучшенной версией AWT, предоставляя более широкий функционал и возможности для разработчиков. Ниже приведены некоторые основные методы библиотек Swing/AWT, их описание и соответствующий код: 1. Создание окна: AWT:

Frame frame = new Frame("Название окна");
frame.setSize(400, 300);
frame.setVisible(true);
Swing:

JFrame frame = new JFrame("Название окна");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
2. Добавление компонентов на панель: AWT:

Button button = new Button("Нажми меня");
frame.add(button);
Swing:

JButton button = new JButton("Нажми меня");
frame.add(button);
3. Создание текстового поля: AWT:

TextField textField = new TextField("Введите текст");
frame.add(textField);
Swing:

JTextField textField = new JTextField("Введите текст");
frame.add(textField);
4. Добавление обработчика событий: AWT/Swing:

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        System.out.println("Кнопка была нажата");
    }
});
⚙️Это только небольшая часть методов, доступных в библиотеках Swing/AWT. Они могут быть использованы для создания различных элементов интерфейса, управления компонентами и обработки событий. Обе библиотеки предоставляют обширные возможности, позволяя создавать красивые и функциональные графические приложения.

▫️ Как пройти собеседование на английском ▫️ Подборка выражений для описания коллег ▫️ Weird English Idioms Еще больше англий
▫️ Как пройти собеседование на английском  ▫️ Подборка выражений для описания коллег  ▫️ Weird English Idioms Еще больше английского для работы и жизни на канале «Гапонова и ее английский». Лена Гапонова — автор курсов Gaponova school, преподаватель с 16-летним стажем и опытом в международных IT-компаниях — объясняет сложное в английской грамматике, знакомит с интересными выражениями, учит правильному произношению и помогает подружиться с английским языком.  Помимо английского, Лена рассказывает про методику, эффективное обучение, собеседование на английском и жизнь в других странах. 📌Еще больше про английский на @gaponova erid: LjN8K6Tgx

☕️Использование библиотеки Tomcat Apache Tomcat - это веб-сервер и контейнер сервлетов, который позволяет запускать Java-сервлеты и JSP-страницы. Он является одним из самых популярных и распространенных контейнеров сервлетов в мире Java.

Tomcat tomcat = new Tomcat();
tomcat.setPort(8080);
tomcat.addWebapp("/myapp", new File("src/main/webapp/").getAbsolutePath());
tomcat.addServlet("/myservlet", "MyServlet", MyServlet.class.getName());
tomcat.start();
Зависимости:

<dependency>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-core</artifactId>
 <version>11.0.0-M18</version>
</dependency>
<dependency>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-jasper</artifactId>
 <version>11.0.0-M18</version>
</dependency>
<dependency>
 <groupId>org.apache.tomcat</groupId>
 <artifactId>tomcat-jasper</artifactId>
 <version>11.0.0-M18</version>
</dependency>
<dependency>
 <groupId>org.apache.tomcat</groupId>
 <artifactId>tomcat-jasper-el</artifactId>
 <version>11.0.0-M18</version>
</dependency>
<dependency>
 <groupId>org.apache.tomcat</groupId>
 <artifactId>tomcat-jsp-api</artifactId>
 <version>11.0.0-M18</version>
</dependency>

Telegram-канал об IT-решениях для бизнеса СофтТех Друзья, не пропустите важную информацию! Канал СофтТех рассказывает об IT-р
Telegram-канал об IT-решениях для бизнеса СофтТех Друзья, не пропустите важную информацию! Канал СофтТех рассказывает об IT-решениях для бизнеса и тех, кто их создаёт: ПО и кибербезопасность, облачные технологии, ЦОДы и IoT. Сами давно читаем и вам советуем подписаться. Подписаться #реклама О рекламодателе

Что выведет код?
Anonymous voting

class Cache {
  private static int sum = 0;
    
  static {
    initializeIfNecessary();
  }
    
  public static int getSum() {
    initializeIfNecessary();
    return sum;
  }
    
  private static boolean initialized = false;
    
  private static synchronized void initializeIfNecessary() {
    if (!initialized) {
      for (int i = 0; i < 5; i++)
        sum += i;
      initialized = true;
    }
  }
}

class Client {
  public static void main(String[] args) {
    System.out.println(Cache.getSum());
  }
}

🔥 Это база с 1700 вопросами с собеседований на Java разработчика. Фишка в том, что просчитана вероятность с которой вопрос буден задан и есть примеры ответов. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам 😏

☕️Использование библиотеки Apache POI Apache POI (Poor Obfuscation Implementation) - это библиотека для работы с файлами Microsoft Office, такими как Excel, Word и PowerPoint. Она позволяет создавать, изменять и читать документы в форматах XLS, XLSX, DOC, DOCX, PPT и других. Основные классы, которые используются для работы с файлами Excel в Apache POI: 1. HSSFWorkbook и XSSFWorkbook - используются для работы с файлами Excel в форматах .xls и .xlsx соответственно. 2. HSSFSheet и XSSFSheet - представляют собой листы в Excel файле. 3. HSSFRow и XSSFRow - представляют строки в Excel файле. 4. HSSFCell и XSSFCell - представляют ячейки в Excel файле. Пример создания нового Excel файла и запись в него данных с использованием Apache POI:

import org.apache.poi.ss.usermodel.*;

public class ExcelWriter {
    public static void main(String[] args) {
        Workbook wb = new XSSFWorkbook();
        Sheet sheet = wb.createSheet("Sheet1");

        Row headerRow = sheet.createRow(0);
        Cell headerCell = headerRow.createCell(0);
        headerCell.setCellValue("Name");

        Row dataRow = sheet.createRow(1);
        Cell dataCell = dataRow.createCell(0);
        dataCell.setCellValue("John Doe");

        try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
            wb.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
⚙️В этом примере создается новый Excel файл с именем "workbook.xlsx" и записывается одна строка данных. После выполнения программы в папке проекта будет создан файл "workbook.xlsx" с данными "Name" и "John Doe" в первой колонке. Apache POI также предоставляет методы для чтения и изменения существующих Excel файлов, форматирования ячеек, добавления графиков и других операций над документами Microsoft Office.

— Кто мы? — Фронтендеры! — Чего мы хотим? — Делать модные сайты! — Где этому научиться? — На канале «Будни разработчика», конечно! — А что там? — Крутые фишки фронтенда, истории лучших разработчиков и топовые статьи!

🌱 Spring Data REST - это проект в рамках экосистемы Spring, который позволяет автоматически создавать RESTful API на основе репозиториев Spring Data. Spring Data REST позволяет упростить создание API для работы с базами данных, предоставляя RESTful конечные точки для операций CRUD (Create, Read, Update, Delete) над данными. Spring Data REST анализирует репозитории Spring Data и создает RESTful конечные точки для сущностей, которыми они управляют. В Spring Data REST обеспечена поддержка различных типов запросов, включая запросы для сортировки, фильтрации, постраничного вывода и т.д. В Spring Data REST так же встроена поддержка HATEOAS (Hypermedia as the Engine of Application State) - это архитектурный принцип, который позволяет клиентским приложениям навигировать по API, следуя гиперссылкам, предоставляемым сервером. Spring Data REST автоматически включает ссылки на связанные ресурсы в ответах API, что упрощает навигацию и использование API. Предположим, у нас есть сущность User, которую мы хотим представить через API. Для этого нужно аннотировать репозиторий сущности User, аннотацией @RepositoryRestResource:

@RepositoryRestResource(path = "users")
public interface UserRepository extends JpaRepository<User, Long> {
    
}
Теперь Spring Data REST автоматически создаст RESTful конечные точки для управления сущностью User:
GET /users - Получить всех пользователей
POST /users - Создать нового пользователя
GET /users/{id} - Получить пользователя по ID
PUT /users/{id} - Обновить пользователя
DELETE /users/{id} - Удалить пользователя
Spring Data REST обеспечивает множество способов настройки и расширения поведения API. Разработчики могут настраивать URL-адреса, форматирование ответов, права доступа и многое другое, используя различные аннотации и конфигурационные параметры.

Каналы любого уважающего себя разработчика: Java Developer — поможет узнать обо всех тонкостях и секретах языка Java. Python
Каналы любого уважающего себя разработчика: Java Developer — поможет узнать обо всех тонкостях и секретах языка Java. Python Developer — научит программировать на Python как настоящий разработчик. Подписывайся и прокачивай свои навыки👇🏻

☕️Использование библиотеки Apache HttpClient Apache HttpClient - это библиотека для выполнения HTTP запросов. Она предоставляет удобный API для создания и отправки HTTP запросов, а также обработки ответов. Ниже приведены некоторые основные методы класса HttpClient и их краткое описание: 1. execute - метод для отправки HTTP запроса на указанный URL. Пример кода:

CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://example.com");
CloseableHttpResponse response = httpClient.execute(httpGet);
2. setHeader - метод для установки заголовков запроса. Пример кода:

httpGet.setHeader("Content-Type", "application/json");
3. setEntity - метод для установки тела запроса. Пример кода:

StringEntity entity = new StringEntity("{\"key\": \"value\"}");
httpPost.setEntity(entity);
4. getStatusCode - метод для получения кода ответа сервера. Пример кода:

int statusCode = response.getStatusLine().getStatusCode();
5. getEntity - метод для получения содержимого ответа. Пример кода:

String responseBody = EntityUtils.toString(response.getEntity());
Apache HttpClient позволяет выполнять различные типы запросов (GET, POST, PUT, DELETE и пр.) и работать с различными типами данных (текст, JSON, XML и пр.). Он также поддерживает работу с HTTPS, аутентификацию и установку параметров прокси.

photo content

Что выведет код?
Anonymous voting

class Point {
  private final int x, y;
  private final String name;

  Point(int x, int y) {
    this.x = x;
    this.y = y;
    name = makeName();
  }

  protected String makeName() {
    return "[" + x + "," + y + "]";
  }

  public final String toString() {
    return name;
  }
}

public class ColorPoint extends Point {
  private final String color;

  ColorPoint(int x, int y, String color) {
    super(x, y);
    this.color = color;
  }

  protected String makeName() {
    return super.makeName() + ":" + color;
  }

  public static void main(String[] args) {
    System.out.println(new ColorPoint(4, 2, "red"));
  }
}

☕️Использование библиотеки Apache Commons IO Apache Commons IO - это библиотека, предоставляющая удобные утилиты для работы с вводом/выводом данных в Java. Она содержит множество методов, упрощающих манипуляции с файлами, потоками ввода/вывода, строками и директориями. Ниже приведены некоторые из наиболее полезных методов Apache Commons IO соответствующие объяснения и примеры кода: 1. Метод FileUtils.readFileToString(File file, Charset encoding) - читает содержимое файла в строку.
File file = new File("test.txt");
String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
System.out.println(content);
2. Метод IOUtils.copy(InputStream input, OutputStream output) - копирует данные из одного потока в другой.
InputStream input = new FileInputStream("input.txt");
OutputStream output = new FileOutputStream("output.txt");
IOUtils.copy(input, output);
input.close();
output.close();
3. Метод FileUtils.listFiles(File directory, String extensions, boolean recursive) - возвращает список файлов в указанной директории с указанными расширениями.
File directory = new File("C:/my_folder");
String[] extensions = {"txt", "xml"};
List<File> files = (List<File>) FileUtils.listFiles(directory, extensions, true);
for (File file : files) {
    System.out.println(file.getName());
}
4. Метод FilenameUtils.getExtension(String filename) - возвращает расширение файла.
String filename = "example.txt";
String extension = FilenameUtils.getExtension(filename);
System.out.println(extension);
Это лишь небольшая часть методов, которые предоставляет Apache Commons IO. Использование этой библиотеки может значительно упростить работу с вводом/выводом данных в ваших Java-программах.

3, 2 … Остановимся здесь.⤵️ Потому что 2 недель достаточно, чтобы познакомиться с основами Java и понять, подходит ли вам это
3, 2 … Остановимся здесь.⤵️ Потому что 2 недель достаточно, чтобы познакомиться с основами Java и понять, подходит ли вам это направление. Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) – гарантируем. Расклад такой: мы даем вам базу — больше 60 уроков, вебинары, лайвкодинг, а вы пишете собственную программу. Если переживаете — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос. ⏰ Старт курса уже 4 апреля, присоединяйтесь!

Что выведет код?
Anonymous voting