Запитання з тегом «java»

Java - це об'єктно-орієнтована об'єктно-орієнтована мова програмування на високому рівні, спочатку розроблена Sun Microsystems. На даний момент Java належить Oracle, який придбав Sun у 2010 році.

1
Чому операторів Null-Safe (наприклад, «оператор Elvis») було відхилено як частину «Проектної монети» Java 7?
Однією із запропонованих функцій для проектної монети Java 7 був "Оператор Елвіса". У звіті з презентації JavaOne 2009 року на Project Coin описано його як таке: Однією з «дрібних особливостей», висвітлених у цій презентації, є так званий «оператор Елвіса», більш стисла версія потрійного оператора. Я вважаю, що мені не вистачає …
10 java  api-design 

5
Чи коли-небудь добре порушувати LSP?
Я продовжую це питання , але я перемикаю свою увагу з коду на принцип. З мого розуміння принципу заміщення Ліскова (LSP), які б методи не були в моєму базовому класі, вони повинні бути реалізовані в моєму підкласі, і відповідно до цієї сторінки, якщо ви перекриєте метод в базовому класі, і …

1
Уникати конфліктів версій залежності?
Будь-який проект Java, який використовує мій jar, майже напевно матиме додаткову залежність від іншої банки, яку мій jar також містить як залежність. Проблема в тому, що інша банка має кілька версій. Як я можу уникнути будь-яких проблем, які можуть виникнути, імовірно, версія 2-ї банки вашого проекту відрізняється від версії 2-ї …

1
Чи існує ситуація, коли краще використовувати слабкі посилання замість простого складу?
Хоча документи Java вказують, що слабкі посилання в основному стосуються канонізації відображень, в Інтернеті ви знайдете багатьох , багатьох , багатьох людей, які стверджують, що WeakHashMap ідеально підходить для зберігання метаданих об’єктів протягом свого життя. Однак ніхто не заважає зробити зрозумілий І відповідний приклад. Використання WeakHashMap для додавання об'єкту якихось …

2
Уникайте геттерів та сетерів, відображаючи інформацію про користувачів
Фон Я читаю "Книгу чистого коду", і паралельно я працюю над гігієнічними об'єктами Ката, як банківський рахунок, і я дотримуюся цього правила: Дев'яте правило калієстичних об'єктів - це те, що ми не використовуємо геттер або сеттер. Це здається досить веселим, і я згоден з цим принципом. Більше того, на сторінці …

7
Чому цикломатична складність важлива для одного методу?
Я використовую SonarLint для Eclipse з недавнього часу, і це мені дуже допомогло. Однак воно постало перед нами питання про цикломатичну складність. SonarLint вважає прийнятним CC 10, і є деякі випадки, коли я перевищую це, приблизно 5 або 6 одиниць. Ці частини пов'язані з картографами, де значення спираються на різні …

4
Які основні обов'язки в об'єктно-орієнтованому програмуванні?
Я новачок в об'єктно-орієнтованому програмуванні і не розумію, яка мета головного. Так, я читав, що це "точка входу" програми, але те, що я не розумію, це те, що повинно бути головним? А які його обов'язки? Може статися, що щось написане в основному може бути інкапсульовано в інший об’єкт, але наскільки …


5
Чи варто звести до мінімуму створення безлічі дрібних предметів?
Коли ви пишете щось, що створює багато (1000) дрібних об'єктів, ви повинні намагатися мінімізувати це для продуктивності? Особливо, якщо ви не знаєте, на якій системі вона буде працювати, від настільних комп'ютерів низького до високого рівня або навіть мобільних. Для мобільних пристроїв я почув, що створення багатьох об'єктів гальмує продуктивність, хоча …

2
Чому в підручнику Oracle Java перевіряються порівняно з неперевіреними винятками, які називаються «суперечками»?
Я новачок у Java і читав її документацію за винятками. , і особливо Неперевірені винятки - Сторінка суперечки . Суть говорить: Якщо від клієнта обґрунтовано можна очікувати, що відновиться після винятку, зробіть це перевіреним винятком. Якщо клієнт не може нічого зробити, щоб відновити виняток, зробіть це неперевіреним винятком. Я не …

4
Коли в Java буде використаний нульовий оператор?
У підручнику, який я переглядав для класу, зазначено, що вислів може бути порожнім (нульовий вислів). Нульовий вираз визначається як крапка з комою. Це не робить абсолютно нічого під час виконання. Нульове твердження використовується рідко. Як досвідчений програміст, мені здається цікавим, що вони кажуть, що рідко використовуються, це означає, що десь …
10 java 

5
Генерування Java-класів за допомогою параметрів значення компіляційного часу
Розглянемо ситуацію, коли клас реалізує одне і те ж основне поведінку, методи тощо, але може існувати кілька різних версій цього класу для різних цілей. У моєму конкретному випадку у мене є вектор (геометричний вектор, а не список), і цей вектор може застосовуватися до будь-якого N-мірного евклідового простору (1 мірний, 2 …

2
Для чого нам потрібен екземпляр класу сканерів, щоб отримати вхід на Java?
Java орієнтована на об'єкти, але чому нам потрібно створити об'єкт із класу сканерів, щоб отримати вхід? Не могли next(), наприклад, методи стати просто статичними? C виглядає на мене досить просто, як ви просто використовуєте scanf(), gets()або fgets(). Я впевнений, що розробникам Java є причина створення класу Scanner, але як це …

1
Яка мотивація за анотацією @ImplementedBy в Guice?
Нещодавно я читав про @ImplementedByанотацію, доступну в Google Guice . Це дозволяє програмісту задати прив'язку між інтерфейсом та його реалізацією для подальшого використання в режимі введення залежності. Це приклад щойно вчасно прив’язки . Я досить звик визначати явні прив’язки в своїх модулях, використовуючи наступний синтаксис: bind(SomeInterface.class).to(SomeInterfaceImplementation.class); Згідно з документацією, це …

3
Чистий код та гібридні об’єкти та особливість заздрості
Тому я нещодавно зробив деякі основні рефактори для свого коду. Однією з головних речей, які я намагався зробити, було розподіл моїх класів на об'єкти даних та робочі об'єкти. На це, серед іншого, надихнув цей розділ чистого коду : Гібриди Ця плутанина іноді призводить до нещасних гібридних структур даних, які є …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.