«java» 태그된 질문

Java는 Sun Microsystems가 처음 개발 한 플랫폼 독립적 인 객체 지향 프로그래밍 언어입니다. Java는 현재 Oracle이 소유하고 있으며 2010 년에 Sun을 구입했습니다.

1
Null 안전 연산자 (예 : "Elvis 연산자")가 Java 7의 "프로젝트 코인"의 일부로 거부 된 이유는 무엇입니까?
Java 7의 "Project Coin"에 제안 된 기능 중 하나는 "Elvis operator"입니다. 2009 자바 원 프리젠 테이션의 보고서 프로젝트 동전에 같은 묘사 : 이 프레젠테이션에서 다루는 "작은 기능"중 하나는 소위 "엘비스 연산자"인데, 이는보다 간결한 3 진 연산자 버전입니다. 전통적인 Java를 사용할 때 Groovy의 일부 기능이 누락되어 있으며 두 언어 모두 추가 …
10 java  api-design 

5
LSP를 위반해도 괜찮습니까?
이 질문 에 후속 조치를 취하고 있지만 코드에서 원칙으로 초점을 전환하고 있습니다. 의 나의 이해에서 Liskov 대체 원칙 방법은 내 기본 클래스에있는 어떤 (LSP), 그들은 내 서브 클래스에서 구현되어야하며,에 따라 이 페이지는 기본 클래스의 메소드를 오버라이드 (override)하는 경우 그것은 아무것도하지 않는다 또는를 던졌습니다 예외, 당신은 원칙을 위반합니다. 이제 내 문제는 …

1
의존성 버전 충돌을 피 하시겠습니까?
내 항아리를 사용하는 모든 Java 프로젝트는 거의 확실하게 다른 항아리에 대한 추가 종속성을 가지고 있으며 내 항아리에는 종속성으로도 포함됩니다. 문제는 다른 jar에 여러 버전이 있다는 것입니다. 프로젝트의 두 번째 항아리 버전이 내 항아리의 두 번째 항아리 버전과 다른 경우 발생할 수있는 문제를 어떻게 피할 수 있습니까? 사용자가 항아리를 추가하기 위해 …

1
간단한 구성 대신 약한 참조를 사용하는 것이 더 나은 상황이 있습니까?
있지만 자바 문서가 지정이 약한 참조는 기본적으로 매핑 정규화를 들어, 당신이 찾을 수있는 많은 , 많은 , 많은 의 WeakHashMap의 수명 동안 오브젝트 메타 데이터를 저장하기위한 완벽한이라고 진술 인터넷에서 사람들을. 그러나 아무도 이해하기 쉽고 적절한 모범 을 보이려고하지 않습니다 . WeakHashMap을 사용하여 객체를 추가하거나 메타 데이터 사운드를 저장하십시오. 다시 말해 …

2
게터와 세터를 피하고 사용자 정보를 표시하십시오.
배경 나는 "Clean Code book"을 읽고, 병렬로, 은행가 계좌와 같은 카스 테 닉 객체 Kata를 작업하고 있으며 그 규칙을 고수하고 있습니다. calisthenic 객체의 9 번째 규칙은 getter 또는 setter를 사용하지 않는 것입니다. 꽤 재밌는 것 같고이 원칙에 동의합니다. 또한 Clean Code 98-99 페이지에서 저자는 getters / setter가 추상화를 깨뜨리고 객체를 …

7
단일 방법에서 순환 복잡성이 중요한 이유는 무엇입니까?
최근부터 Eclipse에 SonarLint를 사용 하고 있으며 많은 도움이되었습니다. 그러나 그것은 순환 복잡성에 대한 의문을 제기했습니다. SonarLint는 CC 10을 수용 할 수있는 것으로 간주하며, 5 또는 6 개 정도의 경우가 있습니다. 이러한 부분은 값이 다른 변수에 의존하는 맵퍼와 관련이 있습니다 (예 : 필드 A는 문자열 sA에 의존합니다. 필드 B는 문자열 sB에 …

4
객체 지향 프로그래밍에서 메인의 책임은 무엇입니까?
객체 지향 프로그래밍에 익숙하지 않고 메인의 목적이 무엇인지 이해하지 못합니다. 네, 그것이 프로그램의 "진입 지점"이라는 것을 읽었지만 이해하지 못하는 것은 메인에 무엇이 있어야합니까? 그리고 그 책임은 무엇입니까? 메인에 쓰여진 내용이 다른 개체에 캡슐화 될 수 있지만이 방법을 얼마나 사용해야합니까? Java로 작성한 첫 번째 주요 내용은 다음과 같습니다. 매우 간단하지만 내 …


5
많은 작은 물체의 생성을 최소화해야합니까?
작은 (1000) 개의 작은 개체를 자주 만드는 무언가를 작성할 때 성능을 위해 최소화해야합니까? 특히 저급 데스크톱에서 고급 데스크톱 또는 모바일에 이르기까지 어떤 시스템에서 실행될 시스템을 모를 경우. 모바일의 경우 많은 객체를 만들면 성능이 약간 저하된다고 들었습니다.하지만 그것이 얼마나 사실인지는 모르겠습니다. 이 아이디어를 잘 보여주는 예가 있습니다. 그래픽 프로그램에서 모든 드로잉에 …

2
Oracle Java 학습서에서 "논쟁"이라고하는 확인 된 및 확인되지 않은 예외가 왜 발생합니까?
나는 Java를 처음 사용 하고 예외에 대한 문서를 읽고있었습니다 . , 특히 확인되지 않은 예외-논쟁 페이지. 결론은 다음과 같습니다. 클라이언트가 예외로부터 적절히 복구 될 것으로 예상되는 경우이를 확인 된 예외로 만듭니다. 클라이언트가 예외에서 복구 할 작업을 수행 할 수 없으면 검사되지 않은 예외로 만드십시오. 기사를 이해하지 못합니다. “논쟁”이란 무엇입니까? 간단한 …

4
Java에서 null 문은 언제 사용됩니까?
내가 클래스를 찾고있는 교과서에서 진술은 비어있을 수 있습니다 (널 진술). null 문은 세미콜론으로 정의됩니다. 실행 시간에는 전혀 아무것도하지 않습니다. null 문은 거의 사용되지 않습니다. 적당히 경험이 풍부한 프로그래머로서, 나는 거의 사용 하지 않는다고 말하는 것이 흥미 롭습니다 . 그러한 진술을 어떻게 사용할 수 있습니까?
10 java 

5
컴파일 타임 값 매개 변수를 사용하여 Java 클래스 생성
클래스가 동일한 기본 동작, 메소드 등을 구현하지만 해당 클래스의 여러 버전이 다른 용도로 존재할 수있는 상황을 고려하십시오. 내 특별한 경우에는 벡터 (목록이 아닌 기하학적 벡터)가 있고 그 벡터는 모든 N 차원 유클리드 공간 (1 차원, 2 차원, ...)에 적용될 수 있습니다. 이 클래스 / 타입을 어떻게 정의 할 수 있습니까? …

2
Java 입력을 얻기 위해 스캐너 클래스의 인스턴스가 필요한 이유는 무엇입니까?
Java는 객체 지향적이지만 입력을 얻기 위해 스캐너 클래스에서 객체를 만들어야하는 이유는 무엇입니까? 할 수 없습니다 next()방법은, 예를 들어, 단지 정적? C 나에게 당신은 그냥 사용으로 아주 간단하게 보이는 scanf(), gets()또는 fgets(). Java 개발자가 Scanner 클래스를 작성해야 할 이유가 있다고 확신하지만 정상적인 기능을 수행하는 것보다 더 나은 방법은 무엇입니까? 같은 질문을하는 …

1
Guice에서 @ImplementedBy 주석의 동기는 무엇입니까?
최근 Google Guice@ImplementedBy 에서 사용할 수 있는 주석 에 대해 읽었습니다 . 이를 통해 프로그래머는 인터페이스와 구현 간의 바인딩을 지정하여 향후 의존성 주입에 사용할 수 있습니다. JIT (Just-In-Time) 바인딩 의 예입니다 . 다음 구문을 사용하여 모듈에서 명시 적 바인딩을 정의하는 데 꽤 익숙합니다. bind(SomeInterface.class).to(SomeInterfaceImplementation.class); 설명서에 따르면 이는 다음 @ImplementedBy주석 사용과 …

3
깨끗한 코드와 하이브리드 객체 및 기능 부러워
그래서 최근에 코드에 몇 가지 주요 리팩토링을 만들었습니다. 내가하려고했던 주요 작업 중 하나는 클래스를 데이터 객체와 작업자 객체로 분리하는 것이 었습니다. 이것은 Clean Code 의이 섹션에서 영감을 얻었습니다 . 하이브리드 이 혼동은 때때로 반 객체와 반 데이터 구조 인 불행한 하이브리드 데이터 구조로 이어집니다. 중요한 기능을 수행하는 함수가 있으며, 모든 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.