Вопросы с тегом «java»

Java - это высокоуровневый, независимый от платформы, объектно-ориентированный язык программирования, изначально разработанный Sun Microsystems. Java в настоящее время принадлежит Oracle, которая приобрела Sun в 2010 году.

1
Почему нуль-безопасные операторы (например, «оператор Элвиса») были отклонены как часть «Project Coin» Java 7?
Одной из предлагаемых функций Java 7 Project Project Coin была «Оператор Элвиса». Отчет о 2009 JavaOne презентации по проекту Coin описал его как таковой: Одной из «мелких особенностей», рассматриваемых в этой презентации, является так называемый «оператор Элвиса», более краткая версия троичного оператора. Я обнаружил, что мне не хватает некоторых функций …
10 java  api-design 

5
Можно ли когда-нибудь нарушать LSP?
Я занимаюсь этим вопросом , но переключаюсь с кода на принцип. Исходя из моего понимания принципа подстановки Лискова (LSP), какие бы методы ни находились в моем базовом классе, они должны быть реализованы в моем подклассе, и, согласно этой странице, если вы переопределяете метод в базовом классе и он ничего не …

1
Избежать конфликтов версий зависимостей?
Любой проект Java, который использует мой jar, почти наверняка будет иметь дополнительную зависимость от другого jar, который мой jar также содержит в качестве зависимости. Проблема в том, что у другой банки есть несколько версий. Как я могу избежать каких-либо проблем, которые могут возникнуть, в том случае, если вероятная версия 2-й …

1
Есть ли ситуация, когда было бы лучше использовать слабые ссылки вместо простой композиции?
Хотя в документах Java указано, что слабые ссылки предназначены главным образом для канонизации отображений, вы обнаружите, что многие , многие , многие люди в Интернете заявляют, что WeakHashMap идеально подходит для хранения метаданных объекта в течение его срока службы. Тем не менее, никто не мешает сделать понятный и соответствующий пример. …

2
Избегайте геттеров и сеттеров, отображающих информацию о пользователях
Фон Я читаю «Чистую книгу кодов», и, в частности, я работаю над художественными объектами Kata, как банковский счет, и я застрял на этом правиле: Девятое правило художественных объектов - мы не используем геттеры или сеттеры. Это кажется довольно забавным, и я согласен с этим принципом. Более того, на странице 98-99 …

7
Почему цикломатическая сложность так важна для одного метода?
Я использую SonarLint для Eclipse с недавнего времени, и это мне очень помогло. Однако, это подняло мне вопрос о цикломатической сложности. SonarLint считает приемлемым CC 10, и в некоторых случаях я превышаю его, около 5 или 6 единиц. Эти части относятся к картографам, где значения зависят от разных переменных, например: …

4
Каковы основные обязанности в объектно-ориентированном программировании?
Я новичок в объектно-ориентированном программировании, и я не понимаю, какова цель основного. Да, я читал, что это «точка входа» в программу, но я не понимаю, что должно быть в основном? И каковы его обязанности? Может случиться так, что что-то написанное в main может быть инкапсулировано в другой объект, но насколько …


5
Стоит ли минимизировать создание множества мелких предметов?
При написании чего-то, что часто создает множество (1000 с) небольших объектов, следует ли пытаться минимизировать это для производительности? Особенно, если вы не знаете, на какой системе он будет работать, от низкоуровневых настольных компьютеров до мобильных устройств. Что касается мобильных устройств, я слышал, что создание большого количества объектов сильно снижает производительность, …

2
Почему проверенные и непроверенные исключения называются «противоречиями» в руководстве по Oracle Java?
Я новичок в Java и читал документацию по исключениям. и, в частности, « Непроверенные исключения» - страница «Противоречие» . Суть говорит: Если от клиента можно ожидать восстановления после исключения, сделайте его проверенным исключением. Если клиент не может ничего сделать для восстановления из исключения, сделайте его непроверенным исключением. Я не понимаю …

4
Когда в Java будет использоваться нулевое выражение?
В учебнике, который я просматривал, указано, что оператор может быть пустым (нулевой оператор). Пустое выражение определяется как точка с запятой. Это абсолютно ничего не делает во время выполнения. Пустое выражение используется редко. Как умеренно опытный программист, я нахожу интересным, что они говорят, что редко используются, это означает, что где-то есть …
10 java 

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

2
Зачем нам нужен экземпляр класса Scanner для получения входных данных на Java?
Java является объектно-ориентированным, но зачем нам нужно создавать объект из класса Scanner для получения ввода? 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.