Даже опытные разработчики Java допускают ошибки. В этой статье рассматриваются 10 распространенных ошибок Java с примерами. Вы увидите реальный код, позволяющий избежать этих ошибок.
Эти ошибки могут случиться с каждым, от небольших ошибок до больших проблем. Читайте дальше, чтобы улучшить свои навыки работы с Java и предотвратить эти проблемы.
1、Не освобождать ресурсы в блоке Final
try { // use resources } catch (Exception e) { // handle error } // forgot to release resources in finally
Всегда освобождайте выделенные ресурсы, такие как соединения, потоки и т. д., в блокеfinally.
2、Неправильное использование областей действия и потокобезопасности переменных
// Bad scope and thread safety public class DataProcessor { private static int count; public void process() { // count is shared and unthreadsafe count++; } }
Используйте потокобезопасные классы или синхронизируйте доступ к общему изменяемому состоянию.
3、Неправильное клонирование объекта
User user = new User(); User copy = user; // Shallow copy
При клонировании объектов отдавайте предпочтение конструкторам клонирования/копирования, а не поверхностным копиям.
4、Возможность сериализации
public class User implements Serializable { private transient int id; private String username; private String password; // security risk }
5、Перехват общих исключений
try { // read file } catch (Exception e) { // loses stack trace throw new RuntimeException(e); }
Перехватывайте только определенные типы исключений, избегайте общих блоков перехвата.
6、Вызов нефинальных методов в конструкторе
public class User { private int id; public User() { init(); // bug prone } public void init() { id = 1; } }
Вызывайте только конечные методы из конструкторов, чтобы избежать ошибок.
7. Игнорирование улучшений Java 8.
// Old style List<String> names = new ArrayList(); for(String name : names) { // iterate } // Java 8 names.forEach(name -> {…