728x90
반응형

java 178

Mac에 Java 8을 설치하는 방법

질문 : Mac에 Java 8을 설치하는 방법 편집자 주 :이 질문은 2014 년에 제기되었으며 답변이 오래되었을 수 있습니다. Java 8이 필요한 최신 JavaFX로 프로그래밍을하고 싶습니다. IntelliJ 13 CE 및 Mac OS X 9 Mavericks를 사용하고 있습니다. Oracle의 Java 8 설치 프로그램을 실행했는데 파일이 /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk 그러나 이전 버전은 /System/Library/Java/JavaFrameworks/jdk1.6.... /System/Library 대신 /Library 넣는 이유가 무엇인지 확실하지 않습니다 (또는 차이점이 무엇인지). 그러나 /usr/libexec/java_home 은 1..

Java의 native 키워드의 의미

질문 : Java의 기본 키워드는 무엇입니까? 이 퍼즐 (자바 키워드 퀴즈 게임)을하면서 native 키워드를 발견했습니다. Java의 기본 키워드는 무엇에 사용됩니까? 답변 native 키워드는 메서드에 적용되어 메서드가 JNI (Java Native Interface)를 사용하여 네이티브 코드로 구현되었음을 나타냅니다. 출처 : https://stackoverflow.com/questions/6101311/what-is-the-native-keyword-in-java-for

Java에서 다른 생성자를 호출하는 방법

질문 : Java에서 다른 생성자를 어떻게 호출합니까? (하위 클래스가 아닌 동일한 클래스 내에서) 다른 생성자를 호출 할 수 있습니까? 그렇다면 어떻게? 그리고 다른 생성자를 호출하는 가장 좋은 방법은 무엇일까요 (여러 가지 방법이있는 경우)? 답변 예, 가능합니다 : public class Foo { private int x; public Foo() { this(1); } public Foo(int x) { this.x = x; } } 같은 클래스의 생성자 대신 특정 슈퍼 클래스 생성자에 연결하려면 this 대신 super 를 사용하십시오. 하나의 생성자에만 연결할 수 있으며 생성자 본문의 첫 번째 문이어야합니다 . C #에 관한 것이지만 동일한 원칙이 적용되는 이 관련 질문을 참조하십시오. 출처 :..

Java에서 ==와 equals ()의 차이점

질문 : Java에서 ==와 equals ()의 차이점은 무엇입니까? 이 내용을 올바르게 이해했는지 명확히하고 싶었습니다. == 는 참조 비교입니다. 즉, 두 개체가 동일한 메모리 위치를 가리 킵니다. .equals() 는 객체의 값 비교로 평가됩니다. 답변 일반적으로 귀하의 질문에 대한 대답은 "예"이지만 ... .equals(...) 는 비교하기 위해 작성된 내용 만 비교합니다. 클래스가 equals 메서드를 재정의하지 않으면이 메서드를 재정의 한 가장 가까운 부모 클래스 equals(Object o) 재정의를 제공 한 부모 클래스가 없으면 기본적으로 최종 부모 클래스 인 Object의 메서드가 사용되므로 Object#equals(Object o) 메서드가 남습니다. Object API에 따라 이것은..

Java에서 일반 배열을 만드는 방법

질문 : Java에서 일반 배열을 만드는 방법은 무엇입니까? Java 제네릭 구현으로 인해 다음과 같은 코드를 가질 수 없습니다. public class GenSet { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } 형식 안전성을 유지하면서 어떻게 구현할 수 있습니까? Java 포럼에서 다음과 같은 솔루션을 보았습니다. import java.lang.reflect.Array; class Stack { public Stack(Class clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } pr..

Java "."(점)으로 분할 된 문자열을 만드는 방법

질문 : "."로 분할 된 Java 문자열 (점) 이 코드의 두 번째 줄에서 ArrayIndexOutOfBoundsException 이 발생하는 이유는 무엇입니까? String filename = "D:/some folder/001.docx"; String extensionRemoved = filename.split(".")[0]; 작동하는 동안 : String driveLetter = filename.split("/")[0]; Java 7을 사용합니다. 답변 리터럴 점으로 분할하려면 점을 이스케이프해야합니다. String extensionRemoved = filename.split("\\.")[0]; 그렇지 않으면 정규식에서 분할됩니다 . , "모든 문자"를 의미합니다. 정규식에서 단일 백 슬래시를 만..

Java에서 파일의 파일 확장자를 얻는 방법

질문 : Java에서 파일의 파일 확장자를 어떻게 얻습니까? 분명히 말하면 MIME 유형을 찾고 있지 않습니다. 다음 입력이 있다고 가정 해 보겠습니다. /path/to/file/foo.txt 이 입력, 특히 확장에 대한 .txt 로 나누는 방법을 원합니다. Java에서 이것을 수행하는 방법이 있습니까? 내 자신의 파서를 작성하는 것을 피하고 싶습니다. 답변 이 경우 Apache Commons IO의 FilenameUtils.getExtension 을 사용하십시오. 다음은 사용 방법의 예입니다 (전체 경로 또는 파일 이름 만 지정할 수 있음). import org.apache.commons.io.FilenameUtils; // ... String ext1 = FilenameUtils.getExtensio..

NullPointerExceptions를 방지하기 위해 어떤 @NotNull Java 주석을 사용해야 할까?

질문 : 어떤 @NotNull Java 주석을 사용해야합니까? NullPointerExceptions를 방지하기 위해 IDE 코드 검사 및 / 또는 정적 코드 분석 (FindBugs 및 Sonar)과 같은 도구를 사용하는 것뿐만 아니라 코드를 더 읽기 쉽게 만들고 싶습니다. 많은 도구가 서로의 @NotNull / @NonNull / @Nonnull 주석과 호환되지 않는 것처럼 보이며 모두 내 코드에 나열하면 읽기가 끔찍합니다. 어떤 것이 '최고'인지에 대한 제안이 있습니까? 내가 찾은 동등한 주석 목록은 다음과 같습니다. javax.validation.constraints.NotNull 정적 분석이 아닌 런타임 유효성 검사를 위해 생성되었습니다. 선적 서류 비치 edu.umd.cs.findbugs.ann..

java.lang.NoClassDefFoundError 해결 방법 : javax / xml / bind / JAXBException

질문 : java.lang.NoClassDefFoundError 해결 방법 : javax / xml / bind / JAXBException Java 6/7/8에서 JDK의 일부로 제공되는 JAXB API 클래스를 사용하는 코드가 있습니다. Java 9로 동일한 코드를 실행하면 런타임에 JAXB 클래스를 찾을 수 없다는 오류가 발생합니다. JAXB 클래스는 Java 6 이후 JDK의 일부로 제공되었는데, Java 9에서 더 이상 이러한 클래스를 찾을 수없는 이유는 무엇입니까? 답변 JAXB API는 Java EE API로 간주되므로 Java SE 9의 기본 클래스 경로에 더 이상 포함되지 않습니다. Java 11에서는 JDK에서 완전히 제거됩니다. Java 9에는 모듈 개념이 도입되었으며 기본적으로 ja..

Java에서 파일을 byte []로 변환하는 방법

질문 : Java에서 파일을 byte []로 java.io.File 을 byte[] 로 어떻게 변환합니까? 답변 그것은 당신에게 가장 좋은 것이 무엇인지에 달려 있습니다. 생산성이 현명하고 바퀴를 재발 명하지 말고 Apache Commons를 사용하십시오. 여기 FileUtils.readFileToByteArray(File input) 입니다. 출처 : https://stackoverflow.com/questions/858980/file-to-byte-in-java

JAVA Implements vs extends 차이점과 사용시기

질문 : 구현 vs 확장 : 언제 사용합니까? 차이점이 뭐야? 이해하기 쉬운 언어 또는 일부 기사 링크로 설명하십시오. 답변 extends 는 클래스를 확장 하기위한 것입니다. implements 은 인터페이스 를 구현하기위한 것입니다. 인터페이스와 일반 클래스의 차이점은 인터페이스에서 선언 된 메서드를 구현할 수 없다는 것입니다. 인터페이스를 "구현"하는 클래스 만이 메소드를 구현할 수 있습니다. 인터페이스에 해당하는 C ++는 추상 클래스입니다 (정확히 동일하지는 않지만 거의). 또한 Java는 클래스에 대한 다중 상속을 지원하지 않습니다. 이것은 여러 인터페이스를 사용하여 해결됩니다. public interface ExampleInterface { public void doAction(); publ..

Java 쿼리 문자열 매개 변수의 URL 인코딩

질문 : 쿼리 문자열 매개 변수의 Java URL 인코딩 URL이 있다고 http://example.com/query?q= 사용자가 입력 한 다음과 같은 쿼리가 있습니다. 임의의 단어 £ 500 bank $ 결과가 올바르게 인코딩 된 URL이되기를 원합니다. http://example.com/query?q=random%20word%20%A3500%20bank%20%24 이를 달성하는 가장 좋은 방법은 무엇입니까? URLEncoder 시도하고 URI / URL 개체를 만들었지 만 어느 것도 제대로 나오지 않았습니다. 답변 URLEncoder 는 갈 길입니다. 당신은 확실하지 쿼리 문자열 매개 변수를 구분 문자, 인코딩에 마음 만 개별 쿼리 문자열 매개 변수 이름 및 / 또는 값이 아닌 전체 URL을 유지할..

Java Swing에서 set (Preferred | Maximum | Minimum) Size 메서드를 사용하면 안되는 이유

질문 : Java Swing에서 set (Preferred | Maximum | Minimum) Size 메서드를 사용하지 않아야합니까? 다음 방법의 사용을 제안한 것에 대해 여러 번 비판을 받았습니다. Swing 구성 요소에. 표시된 구성 요소 간의 비율을 정의하려는 경우 사용에 대한 대안이 없습니다. 나는 이것을 들었다 : 레이아웃을 사용하면 대답은 항상 동일합니다. 적합한 LayoutManager를 사용하세요. 웹을 조금 검색했지만 주제에 대한 포괄적 인 분석을 찾지 못했습니다. 그래서 다음과 같은 질문이 있습니다. 답변 이러한 방법의 사용을 완전히 피해야합니까? - 예, 애플리케이션 코드입니다. 방법은 이유가 있습니다. 그렇다면 언제 사용해야합니까? 어떤 맥락에서? 어떤 목적으로? - 개인적으로 ..

Java Class에서 canonical name, simple name, class name의 차이점

질문 : Java 클래스에서 표준 이름, 단순 이름 및 클래스 이름의 차이점은 무엇입니까? Java에서 이들의 차이점은 무엇입니까? Object o1 = .... o1.getClass().getSimpleName(); o1.getClass().getName(); o1.getClass().getCanonicalName(); Javadoc을 여러 번 확인했지만 이것이 잘 설명되지 않습니다. 나는 또한 테스트를 실행했으며 이러한 메서드가 호출되는 방식의 실제 의미를 반영하지 않았습니다. 답변 확실하지 않은 경우 먼저 테스트를 작성해보십시오. 저는 이것을 했어요: class ClassNameTest { public static void main(final String... arguments) { printNam..

Java의 CharSequence VS String

질문 : Java의 CharSequence VS String? Android 프로그래밍에서 대부분의 텍스트 값은 CharSequence 예상됩니다. 왜 그런 겁니까? CharSequence 를 String 보다 사용하면 어떤 영향이 있습니까? 주요 차이점은 무엇이며이를 사용하고 서로 변환하는 동안 예상되는 문제는 무엇입니까? 답변 문자열은 CharSequences 이므로 걱정할 필요없이 문자열 만 사용할 수 있습니다. Android는 StringBuffers와 같은 다른 CharSequence 객체도 지정할 수 있도록하여 도움을 주려고합니다. 출처 : https://stackoverflow.com/questions/1049228/charsequence-vs-string-in-java

Java의 데몬 스레드

질문 : Java의 데몬 스레드는 무엇입니까? 아무도 Java에 어떤 데몬 스레드가 있는지 말해 줄 수 있습니까? 답변 데몬 스레드는 프로그램이 완료되었지만 스레드가 여전히 실행 중일 때 JVM이 종료되는 것을 방지하지 않는 스레드입니다. 데몬 스레드의 예는 가비지 컬렉션입니다. setDaemon(boolean) 메서드를 사용하여 스레드가 시작되기 전에 Thread 데몬 속성을 변경할 수 있습니다. 출처 : https://stackoverflow.com/questions/2213340/what-is-a-daemon-thread-in-java

Java에서 클래스를 정적으로 선언 할 수 없는 이유

질문 : Java에서 클래스를 정적으로 선언 할 수없는 이유는 무엇입니까? Java에서 클래스를 정적으로 선언 할 수없는 이유는 무엇입니까? 답변 중첩 된 클래스 만 정적 일 수 있습니다. 이렇게하면 외부 클래스의 인스턴스없이 중첩 된 클래스를 사용할 수 있습니다. class OuterClass { public static class StaticNestedClass { } public class InnerClass { } public InnerClass getAnInnerClass() { return new InnerClass(); } //This method doesn't work public static InnerClass getAnInnerClassStatically() { return new In..

Java에서 Base64 데이터 디코딩 하는 방법

질문 : Java에서 Base64 데이터 디코딩 Base64로 인코딩 된 이미지가 있습니다. Java에서 디코딩하는 가장 좋은 방법은 무엇입니까? Sun Java 6에 포함 된 라이브러리 만 사용하기를 바랍니다. 답변 v6부터 Java SE는 JAXB와 함께 제공됩니다. javax.xml.bind.DatatypeConverter 에는이를 쉽게 수행 할 수있는 정적 메소드가 있습니다. parseBase64Binary() 및 printBase64Binary() 참조하십시오. 출처 : https://stackoverflow.com/questions/469695/decode-base64-data-in-java

java.util.Date를 java.time.LocalDate로 변환하는 방법

질문 : java.util.Date를 java.time.LocalDate로 변환 java.util.Date 객체를 새로운 JDK 8 / JSR-310 java.time.LocalDate 로 변환하는 가장 좋은 방법은 무엇입니까? Date input = new Date(); LocalDate date = ??? 답변 짧은 답변 Date input = new Date(); LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); 설명 이름에도 불구하고 java.util.Date 는 "날짜"가 아니라 타임 라인의 순간을 나타냅니다. 객체 내에 저장된 실제 데이터는 1970-01-01T00 : 00Z (1970 년 GMT /..

JAVA 완벽한 JPA 엔티티 만들기

질문 : 완벽한 JPA 엔티티 만들기 [닫기] 나는 JPA (implementation Hibernate)로 한동안 작업 해 왔으며 엔티티를 생성해야 할 때마다 AccessType, 불변 속성, equals / hashCode, ... 등의 문제로 어려움을 겪고 있습니다. 그래서 저는 각 문제에 대한 일반적인 모범 사례를 찾아서 개인적으로 사용하기로 결정했습니다. 그러나 나는 누구든지 그것에 대해 언급하거나 내가 틀린 곳을 말해도 괜찮습니다. Entity Class 직렬화 가능 구현: 이유 : 사양에 따라야한다고 명시되어 있지만 일부 JPA 공급자는이를 적용하지 않습니다. JPA 공급자로서 Hibernate는 이것을 강제하지 않지만 Serializable이 구현되지 않은 경우 ClassCastExcept..

Java 중첩 for문 벗어나는 방법

질문 : Java에서 중첩 루프를 어떻게 해제합니까? 다음과 같은 중첩 루프 구조가 있습니다. for (Type type : types) { for (Type t : types2) { if (some condition) { // Do something and break... break; // Breaks out of the inner loop } } } 이제 두 루프에서 어떻게 벗어날 수 있습니까? 비슷한 질문을 살펴 보았지만 Java와 관련된 것은 없습니다. 대부분의 고토를 사용했기 때문에 이러한 솔루션을 적용 할 수 없었습니다. 내부 루프를 다른 방법에 넣고 싶지 않습니다. 루프를 다시 실행하고 싶지 않습니다. 깨지면 루프 블록의 실행이 끝납니다. 답변 다른 답변자처럼, 나는 확실히 당신은 그냥 완전..

Java에서 소수점 이하 n 자리로 숫자를 반올림하는 방법

질문 : Java에서 소수점 이하 n 자리로 숫자를 반올림하는 방법 내가 원하는 것은 half-up 방법을 사용하여 반올림하는 문자열로 double을 변환하는 방법입니다. 즉, 반올림 할 소수점이 5이면 항상 다음 숫자로 반올림됩니다. 이것은 대부분의 상황에서 대부분의 사람들이 기대하는 반올림의 표준 방법입니다. 또한 유효 숫자 만 표시하고 싶습니다. 즉, 뒤에 0이 없어야합니다. 이 작업을 수행하는 한 가지 방법은 String.format 메서드를 사용하는 것입니다. String.format("%.5g%n", 0.912385); 보고: 0.91239 훌륭하지만 중요하지 않더라도 항상 소수점 이하 5 자리로 숫자를 표시합니다. String.format("%.5g%n", 0.912300); 보고: 0.91..

Java 인터페이스에서 static 메소드를 정의 하는 방법

질문 : Java 인터페이스에서 정적 메소드를 정의 할 수없는 이유는 무엇입니까? 편집 : Java 8부터 이제 인터페이스에서 정적 메서드가 허용됩니다. 다음은 그 예입니다. public interface IXMLizable { static T newInstanceFromXML(Element e); Element toXMLElement(); } 물론 이것은 작동하지 않습니다. 하지만 왜 안돼? 가능한 문제 중 하나는 전화를 걸면 어떻게되는지입니다. IXMLizable.newInstanceFromXML(e); 이 경우 빈 메서드 (예 : {})를 호출해야한다고 생각합니다. 모든 하위 클래스는 정적 메서드를 구현해야하므로 정적 메서드를 호출 할 때 모두 괜찮습니다. 그렇다면 왜 이것이 가능하지 않습니까? 편..

javax.net.ssl.SSLHandshakeException 해결 : sun.security.validator.ValidatorException : PKIX path building failed Error

질문 : javax.net.ssl.SSLHandshakeException 해결 : sun.security.validator.ValidatorException : PKIX 경로 빌드 실패 오류? 편집 :- 질문의 형식을 지정하고 내 블로그 에서보다 표현 가능한 방식으로 답변을 수락했습니다. 다음은 원래 문제입니다. 이 오류가 발생합니다. 자세한 메시지 sun.security.validator.ValidatorException : PKIX 경로 구축 실패 : sun.security.provider.certpath.SunCertPathBuilderException : 요청 된 대상에 대한 유효한 인증 경로를 찾을 수 없습니다. 원인 javax.net.ssl.SSLHandshakeException : sun.s..

728x90
반응형