«java» 태그된 질문

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

10
'최종'키워드가 유용한 이유는 무엇입니까?
Java는 오랫동안 클래스를 파생 할 수없는 클래스를 선언 할 수있는 힘을 가지고 있으며 C ++에도 클래스가 있습니다. 그러나 SOLID의 열기 / 닫기 원칙에 비추어 볼 때 이것이 왜 유용한가? 나에게 final키워드는 똑같이 들리지만 friend합법적이지만 키워드 를 사용하는 경우 디자인이 잘못되었을 수 있습니다. 파생 할 수없는 클래스가 훌륭한 아키텍처 또는 디자인 …
54 java  c++  solid  final 

5
Java에서 원시 클래스와 클래스를 언제 사용합니까?
Java에는 부울 (클래스) 대 부울 (기본)이 있습니다. 마찬가지로 정수 (클래스) 대 int (기본)가 있습니다. 기본 버전과 클래스를 사용하는시기에 대한 모범 사례는 무엇입니까? 특정 (성능?) 이유가없는 한 기본적으로 항상 클래스 버전을 사용해야합니까? 가장 일반적으로 사용되는 방법은 무엇입니까?
54 java  class  usage 

8
왜 생성자가 아닌 Java 및 C #의 정적 기본 메소드입니까?
Java 및 C #에서 Application클래스 의 인스턴스로 애플리케이션 인스턴스를 표시하지 않고 (시작점으로) 정적 메소드를 시작점으로 결정한 이유에 대한 기본 또는 보조 소스에서 명확한 답변을 찾고 있습니다. 적절한 생성자). 나의 이전 연구의 배경과 세부 사항 이것은 이전에 요청되었습니다. 불행히도 기존 답변은 단지 질문을 구걸하고 있습니다. 특히, 다음 답변은 내가 틀렸다고 생각하기 …
54 java  c#  history  entry-point 

4
다른 언어와 비교하여 Java를 사용할 때 Docker를 사용하면 Unix 바이너리에 더 가까운 개발 이점이 무시됩니까?
나는 친구에게 말했다 : 도커 는 훌륭합니다. 이를 사용 하여 로컬 시스템에서 프로덕션 및 모든 문제를 복제 할 수 있습니다 . 그럼 당신은 모든 준비 작업 흐름은 슈퍼 스트레이트를 통해 해당 인스턴스 배포 할 수 있습니다 빠른을 . 개발자가 Ruby, PHP 또는 Go를 작성 하는 경우 운영 체제에 방향 바이너리 …
53 java  deployment  jvm  docker 

9
클래스의 메소드가 자체 getter 및 setter를 호출해야합니까?
내가 일하는 곳에서 다음과 같은 일을하는 많은 수업을 봅니다. public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } 이것을 …

6
Java 모범 사례에서 가능할 때마다 Lambda 표현식을 사용하고 있습니까?
최근에 Java 8에 도입 된 Lambda 표현식을 마스터했습니다. 기능적 인터페이스를 사용할 때마다 항상 기능적 인터페이스를 구현하는 클래스를 작성하는 대신 Lambda 표현식을 사용하는 경향이 있습니다. 이것이 좋은 습관으로 간주됩니까? 또는 기능 인터페이스에 Lambda를 사용하는 것이 적절하지 않은 상황입니까?
52 java  lambda 

9
Java에 왜 'void'메소드가 있습니까?
Java에 void메소드 가 필요한 이유는 무엇입니까? 참고 : void로 선언 된 메서드는 값을 반환하지 않습니다. 내가 생각할 수 void있는 한, 상태 플래그, 호출되는 객체 또는를 반환하면 모든 사용 이 더 잘 제공됩니다 null. 이것은 모든 호출을 지정 가능한 명령문으로 만들고 빌더 패턴과 메소드 체인을 용이하게합니다. 효과에 대해서만 호출되는 메소드는 일반적으로 …

10
인터뷰 중에 제품에 대한 디자인 결정에 대해 묻는 것이 현명합니까? [닫은]
나는 최근 인터뷰 질문에 대해 생각하고 있었고 과거에 경험했던 나쁜 인터뷰 경험에 대해 생각해 왔습니다. 특히 주목할 점은 면접관에게 왜 팀이 제품에서 Spring을 통해 EJB 3을 사용하기로 선택했는지 묻습니다. 인터뷰어는 "봄이 전부가 아니기 때문에 모든 Java 소프트웨어 개발을 끝내기 때문에이 일을 원하겠습니까?" 이에 대한 응답으로, 나는 이것이 아마도 나에게 도움이되지 …
51 java  interview 

9
팀원에게 컴파일러 경고를 무시해서는 안된다는 것을 어떻게 확신시킬 수 있습니까?
나는 Eclipse를 사용하여 Java에서 거대한 프로젝트 (더 이상 의존성 관리로 인해 쉽게 분리 할 수는 없지만 다른 토론 인 수십 가지 미니 프로젝트의 얽힌 조합과 비슷합니다)와 관련이 있습니다. 우리는 이미 컴파일러 설정에서 많은 경고를 해제했으며 프로젝트에는 여전히 10,000 개가 넘는 경고가 있습니다. 나는 모든 경고를 해결하려고 노력하고 가능한 경우 모든 …
51 java  eclipse 

4
개인 게터가 아닌 공개 결선 사용
불변의 POJO는 다음과 같이 작성되었습니다. public class MyObject { private final String foo; private final int bar; public MyObject(String foo, int bar) { this.foo = foo; this.bar = bar; } public String getFoo() { return foo; } public int getBar() { return bar; } } 그러나 나는 이것을 다음과 같이 …

11
C ++에 왜 '정의되지 않은 행동'(UB)이 있고 C #이나 Java와 같은 다른 언어에는 없는가?
이 스택 오버플로 게시물 에는 C / C ++ 언어 사양이 '정의되지 않은 동작'으로 선언 된 상당히 포괄적 인 상황 목록이 나와 있습니다. 그러나 C #이나 Java와 같은 다른 현대 언어에 왜 '정의되지 않은 동작'이라는 개념이 없는지 이해하고 싶습니다. 컴파일러 디자이너가 가능한 모든 시나리오 (C # 및 Java)를 제어 할 …

11
테스트를 시작하기 위해 디자인이 필요한 경우 TDD가 좋은 디자인을 얻는 데 어떻게 도움이되는지 모르겠습니다.
TDD를 중심으로 머리를 감싸려고합니다. 특히 개발 부분입니다. 몇 가지 책을 보았지만 주로 찾은 책은 주로 테스트 부분-NUnit의 역사, 테스트가 좋은 이유, 빨강 / 녹색 / 리 팩터 및 문자열 계산기를 만드는 방법을 다룹니다. 좋은 점이지만 TDD가 아니라 "단지"단위 테스트입니다. 특히, 테스트를 시작하기 위해 디자인이 필요한 경우 TDD가 어떻게 좋은 디자인을 …
50 java  c#  .net  tdd 

9
== 연산자 문자열 값을 비교하지 않은 이유는 무엇입니까?
모든 유능한 Java 프로그래머는 ==가 참조 동등성을 검사하기 때문에 String이 == 대신 String.equals ()를 사용해야한다는 것을 알고 있습니다. 문자열을 다룰 때 대부분의 경우 참조 평등이 아닌 가치 평등을 확인합니다. 언어가 ==를 사용하여 문자열 값을 비교할 수 있으면 더 직관적 인 것처럼 보입니다. 이에 비해 C #의 == 연산자는 문자열 s의 …

4
리플렉션을 사용하여 일반 세터와 게터를 만드는 것이 좋지 않은 이유는 무엇입니까?
얼마 전 나는 모든 가변 변수에 대해 getter와 setter를 피하는 방법에 대한 질문 에이 답변 을 썼습니다 . 당시 나는 이것이 나쁜 생각이라고 말로 표현하기 어려웠지만 OP는 그것을 어떻게 해야하는지 명시 적으로 요구했다. 나는 이것이 왜 문제가 될 수 있는지에 대해 여기에서 검색했고, 이 질문을 찾았습니다. 이 질문 은 절대적으로 …
49 java  reflection 

6
Java 점검 예외에 대한 임시 해결책
람다 및 기본 메소드 인터페이스에 대한 새로운 Java 8 기능이 많이 있습니다. 그러나 여전히 확인 된 예외로 지루합니다. 예를 들어 객체의 보이는 필드를 모두 나열하려면 간단히 다음과 같이 작성하고 싶습니다. Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); 그러나 get메소드가 Consumer인터페이스 계약에 동의하지 않는 확인 된 예외를 throw 할 수 있으므로 해당 예외를 …

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