728x90
반응형

java 178

IDEA : javac : source release 1.7 requires target release 1.7

질문 : IDEA : javac : 소스 릴리스 1.7에는 대상 릴리스 1.7이 필요합니다. IntelliJ IDEA를 사용하여 JUnit 테스트를 실행할 때 이 문제를 어떻게 해결할 수 있습니까? SDK 1.7 사용 모듈 언어 수준은 1.7입니다. Maven 빌드가 잘 작동합니다. (그래서 IDEA 구성 문제에서 이것을 믿습니다) 답변 Maven에서 가져온 잘못된 컴파일러 옵션이있을 가능성이 높습니다. 또한 스크린 샷에 설명 된 프로젝트 및 모듈 바이트 코드 ( target ) 버전 설정을 확인하십시오. 소스 언어 레벨이 구성된 기타 위치 : 프로젝트 구조 | 계획 프로젝트 구조 | 모듈 (모든 모듈 확인) | 출처 Maven 기본 언어 수준 은 1.5 (5.0)이며 위 스크린 샷에서이 버전이 모듈 언..

instanceof와 Class.isAssignableFrom (…)의 차이점

질문 : instanceof와 Class.isAssignableFrom (…)의 차이점은 무엇입니까? 다음 중 어느 것이 더 낫습니까? a instanceof B 또는 B.class.isAssignableFrom(a.getClass()) 내가 아는 유일한 차이점은 'a'가 null이면 첫 번째는 false를 반환하고 두 번째는 예외를 던진다는 것입니다. 그 외에는 항상 동일한 결과를 제공합니까? 답변 instanceof 사용할 때 컴파일 타임 B 클래스를 알아야합니다. isAssignableFrom() 을 사용할 때 동적 일 수 있으며 런타임 중에 변경 될 수 있습니다. 출처 : https://stackoverflow.com/questions/496928/what-is-the-difference-betw..

오류 java.lang.OutOfMemoryError : GC 오버 헤드 제한 초과

질문 : 오류 java.lang.OutOfMemoryError : GC 오버 헤드 제한 초과 JUnit 테스트를 실행할 때이 오류 메시지가 표시됩니다. java.lang.OutOfMemoryError: GC overhead limit exceeded OutOfMemoryError 가 무엇인지 알고 있지만 GC 오버 헤드 제한은 무엇을 의미합니까? 어떻게 해결할 수 있습니까? 답변 이 메시지는 어떤 이유로 가비지 수집기가 과도한 시간 (기본적으로 프로세스의 모든 CPU 시간의 98 %)을 많이 사용하고 각 실행에서 매우 적은 메모리 (기본적으로 힙의 2 %)를 복구 함을 의미합니다. 이것은 효과적으로 프로그램이 진행을 중지하고 항상 가비지 콜렉션 만 실행 하느라 바쁘다는 것을 의미합니다. 애플리케이션이 아..

@Transactional 주석이 속하는 곳

질문 : @Transactional 주석은 어디에 속합니까? @Transactional 을 DAO 클래스 및 / 또는 해당 메서드에 배치해야합니까? 아니면 DAO 개체를 사용하여 호출하는 서비스 클래스에 주석을 추가하는 것이 더 낫습니까? 아니면 두 "레이어"에 주석을다는 것이 합리적입니까? 답변 트랜잭션이 서비스 계층에 속한다고 생각합니다. 작업 단위 및 사용 사례에 대해 알고있는 사람입니다. 단일 트랜잭션에서 함께 작동해야하는 여러 DAO가 서비스에 주입 된 경우 정답입니다. 출처 : https://stackoverflow.com/questions/1079114/where-does-the-transactional-annotation-belong

Java를 사용하여 문자열을 텍스트 파일에 저장

질문 : Java를 사용하여 문자열을 텍스트 파일에 저장하려면 어떻게합니까? Java에서는 "text"라는 문자열 변수에 텍스트 필드의 텍스트가 있습니다. "text"변수의 내용을 파일에 저장하려면 어떻게해야합니까? 답변 바이너리 데이터가 아닌 단순히 텍스트를 출력하는 경우 다음이 작동합니다. PrintWriter out = new PrintWriter("filename.txt"); 그런 다음 출력 스트림과 마찬가지로 String을 작성하십시오. out.println(text); 언제나처럼 예외 처리가 필요합니다. 작성이 끝나면 out.close() 를 호출하십시오. Java 7 이상을 사용하는 경우 " try-with-resources 문 "을 사용하면 다음과 같이 작업이 완료되면 PrintStream..

IntelliJ에서 jar를 올바르게 빌드하는 방법

질문 : IntelliJ에서 jar를 올바르게 빌드하는 방법은 무엇입니까? 단일 모듈과 일부 종속성이 포함 된 프로젝트가 있습니다. 컴파일 된 모듈을 포함하는 별도의 디렉토리에 jar를 만들고 싶습니다. 또한 내 모듈 옆에 종속성을 갖고 싶습니다. IntelliJ의 "build jar"프로세스를 어떻게 비틀어도 내 모듈의 출력은 비어있는 것처럼 보입니다 (META-INF 파일 외에). 답변 IntelliJ 10 http://blogs.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/로 항아리를 만드는 방법은 다음과 같습니다. File -> Project Structure -> Project Settings -> Artifacts -> Click green..

개발관련/other 2021.12.04

자바 문자열을 날짜로 변환하는 방법

질문 : 자바 문자열을 날짜로 변환 '2010 년 1 월 2 일'형식 String 을 Java Date 로 변환하는 가장 좋은 방법은 무엇입니까? 궁극적으로 월, 일, 연도를 정수로 나누고 싶습니다. Date date = new Date(); date.setMonth().. date.setYear().. date.setDay().. date.setlong currentTime = date.getTime(); 날짜를 시간으로 변환합니다. 답변 그것은 어려운 방법이며, 이러한 java.util.Date setter 메서드는 Java 1.1 (1997) 이후로 더 이상 사용되지 않습니다.입력 문자열과 일치하는 형식 패턴을 사용 SimpleDateFormat 사용하여 날짜 형식을 지정하면됩니다 . 입력 문자열로..

Java에서 파일의 MD5 체크섬 가져 오기

질문 : Java에서 파일의 MD5 체크섬 가져 오기 파일의 MD5 체크섬을 얻기 위해 Java를 사용하려고합니다. 정말 놀랐지 만 파일의 MD5 체크섬을 얻는 방법을 보여주는 것을 찾을 수 없었습니다. 어떻게 되나요? 답변 입력 스트림 데코레이터 java.security.DigestInputStream 이 있으므로 데이터를 추가로 전달하는 대신 평소처럼 입력 스트림을 사용하면서 다이제스트를 계산할 수 있습니다. MessageDigest md = MessageDigest.getInstance("MD5"); try (InputStream is = Files.newInputStream(Paths.get("file.txt")); DigestInputStream dis = new DigestInputStream..

자바 : List<String> 문자열로 변환

질문 : 자바 : 목록 변환 문자열에 JavaScript에는 Array.join() js>["Bill","Bob","Steve"].join(" and ") Bill and Bob and Steve Java에 이와 같은 것이 있습니까? StringBuilder를 사용하여 직접 작업 할 수 있다는 것을 알고 있습니다. static public String join(List list, String conjunction) { StringBuilder sb = new StringBuilder(); boolean first = true; for (String item : list) { if (first) first = false; else sb.append(conjunction); sb.append(item); }..

Java에서 디렉토리를 만드는 방법

질문 : Java에서 디렉토리를 만드는 방법은 무엇입니까? 디렉토리 / 폴더는 어떻게 만듭니 까? System.getProperty("user.home"); 새 폴더가없는 경우에만 디렉토리 (디렉토리 이름 "new folder")를 만들어야합니다. 답변 ~ 7 년 후에 Bozho 가 제안한 더 나은 접근 방식으로 업데이트 할 것입니다. File theDir = new File("/path/directory"); if (!theDir.exists()){ theDir.mkdirs(); } 출처 : https://stackoverflow.com/questions/3634853/how-to-create-a-directory-in-java

Java에서 Map 값을 증가시키는 가장 효율적인 방법

질문 : Java에서 Map 값을 증가시키는 가장 효율적인 방법 이 질문이이 포럼에서 너무 기본적인 것으로 간주되지 않기를 바랍니다. 그러나 우리는 보게 될 것입니다. 여러 번 실행되는 더 나은 성능을 위해 일부 코드를 리팩터링하는 방법이 궁금합니다. Map (아마도 HashMap)을 사용하여 단어 빈도 목록을 만들고 있다고 가정 해 보겠습니다. 여기서 각 키는 계산되는 단어가있는 문자열이고 값은 단어의 토큰이 발견 될 때마다 증가하는 정수입니다. Perl에서 이러한 값을 증가시키는 것은 간단합니다. $map{$word}++; 그러나 Java에서는 훨씬 더 복잡합니다. 여기 내가 현재하고있는 방식 : int count = map.containsKey(word) ? map.get(word) : 0; map..

자바 HashMap을 통해 반복하는 방법

질문 : HashMap을 통해 반복 HashMap 의 항목을 반복하는 가장 좋은 방법은 무엇입니까? 답변 다음과 같이entrySet() 반복합니다. public static void printMap(Map mp) { Iterator it = mp.entrySet().iterator(); while (it.hasNext()) { Map.Entry pair = (Map.Entry)it.next(); System.out.println(pair.getKey() + " = " + pair.getValue()); it.remove(); // avoids a ConcurrentModificationException } } Map 에 대해 자세히 알아보십시오. 출처 : https://stackoverflow.com/q..

java.time.LocalDateTime과 java.util.Date 간 변환

질문 : java.time.LocalDateTime과 java.util.Date 간 변환 Java 8에는 날짜 및 시간에 대한 완전히 새로운 API가 있습니다. 이 API에서 가장 유용한 클래스 중 하나는 시간대와 무관 한 날짜-시간 값을 보유하기위한 LocalDateTime java.util.Date 를 사용하는 코드는 수백만 줄이 될 것입니다. 따라서 이전 코드와 새 코드를 연결할 때 둘 사이를 변환해야합니다. 이를 달성하기위한 직접적인 방법이없는 것처럼 보이지만 어떻게 할 수 있습니까? 답변 짧은 답변: Date in = new Date(); LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault()); Dat..

Java 배열을 출력하는 가장 간단한 방법

질문 : Java 배열을 인쇄하는 가장 간단한 방법은 무엇입니까? Java에서 배열은 toString() 재정의하지 않으므로 직접 인쇄하려고하면 Object.toString() 정의 된대로 className + '@'+ hashCode 16 진수를 얻습니다. int[] intArray = new int[] {1, 2, 3, 4, 5}; System.out.println(intArray); // prints something like '[I@3343c8b3' 그러나 일반적으로 우리는 실제로 [1, 2, 3, 4, 5] 와 같은 것을 더 원합니다. 가장 간단한 방법은 무엇입니까? 다음은 몇 가지 입력 및 출력의 예입니다. // Array of primitives: int[] intArray = new int..

JavaBean의 역할

질문 : JavaBean은 정확히 무엇입니까? "Bean"은 속성과 getter / setter가있는 Java 클래스라는 것을 이해했습니다. 내가 이해하는 한 C 구조체와 동일합니다. 사실인가요? 또한 빈과 일반 클래스 사이에 실제 구문상의 차이가 있습니까? 특별한 정의 나 인터페이스가 있습니까? 기본적으로 이것에 대한 용어가있는 이유는 무엇입니까? 또한 Serializable 인터페이스는 무엇을 의미합니까? 답변 JavaBean은 표준 일뿐입니다. 그게 다야. 그것은 단지 관습입니다. 많은 라이브러리가 그것에 의존합니다. Serializable 과 관련하여 API 문서에서 : 클래스의 직렬화는 java.io.Serializable 인터페이스를 구현하는 클래스에 의해 활성화됩니다. 이 인터페이스를 구현하..

Java에서 밀리 초를 "X 분, x 초"로 변환하는 방법

질문 : Java에서 밀리 초를 "X 분, x 초"로 변환하는 방법은 무엇입니까? 사용자가 프로그램에서 무언가를 시작할 때 System.currentTimeMillis() 사용하여 시간을 기록하고 싶습니다. 완료되면 start 변수에서 System.currentTimeMillis() 를 빼고 "XX 시간, XX 분, XX 초"또는 "XX 분"과 같은 사람이 읽을 수있는 형식을 사용하여 경과 된 시간을 표시하고 싶습니다. , XX 초 "는 누군가 한 시간이 걸리지 않기 때문입니다. 이를 수행하는 가장 좋은 방법은 무엇입니까? 답변 java.util.concurrent.TimeUnit 클래스를 사용하십시오. String.format("%d min, %d sec", TimeUnit.MILLISECONDS.to..

Javadoc 주석의 여러 줄 코드 예제

질문 : Javadoc 주석의 여러 줄 코드 예제 메서드에 대한 Javadoc 주석에 포함하려는 작은 코드 예제가 있습니다. /** * -- ex: looping through List of Map objects -- * * for (int i = 0; i < list.size(); i++) { * Map map = (Map)list.get(i); * System.out.println(map.get("wordID")); * System.out.println(map.get("word")); * } * * * @param query - select statement * @return List of Map objects */ 문제는 코드 예제가 줄 바꿈없이 Javadoc에 표시되어 읽기가 어렵다는 것입니다. ..

자바 java.lang.UnsupportedClassVersionError: Unsupported major.minor version 오류

질문 : java.lang.UnsupportedClassVersionError 수정 방법 : 지원되지 않는 major.minor 버전 All-in-One 도구 편집, 실행, 컴파일 등으로 Notepad ++ 를 사용하려고합니다. JRE가 설치되어 있고 경로 변수를 .../bin 디렉토리에 설정했습니다. 메모장에서 "Hello world"를 실행하면 다음 메시지가 표시됩니다. java.lang.UnsupportedClassVersionError: test_hello_world : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCo..

wget을 통해 Linux에서 Java JDK를 다운로드하면 대신 라이센스 페이지가 표시됩니다.

질문 : wget을 통해 Linux에서 Java JDK를 다운로드하면 대신 라이센스 페이지가 표시됩니다. Oracle에서 Java를 다운로드하려고하면 대신 OTN 사용 조건에 동의해야한다는 내용의 페이지가 다운로드됩니다. 죄송합니다! Oracle Technology Network에서 제품을 다운로드하려면 OTN 라이센스 조건에 동의해야합니다. 확실히 ... 귀하의 브라우저에는 "쿠키"와 JavaScript가 활성화되어 있습니다. 다운로드하려는 제품에 대해 "라이센스 동의"를 클릭했습니다. 라이센스에 동의 한 후 30 분 이내에 다운로드를 시도합니다. Java를 다운로드하고 설치하려면 어떻게합니까? 답변 JDK 15에 대해 2020 년 11 월 5 일부터 작동합니다. wget --no-check-certi..

속성 별 Java 8 구별

질문 : 속성 별 Java 8 구별 Java 8에서 각 객체의 속성의 구별 성을 확인하여 Stream API를 사용하여 컬렉션을 필터링하려면 어떻게해야합니까? 예를 들어, Person 개체 목록이 있고 같은 이름을 가진 사람들을 제거하고 싶습니다. persons.stream().distinct(); Person 객체에 대해 기본 동등성 검사를 사용하므로 다음과 같은 것이 필요합니다. persons.stream().distinct(p -> p.getName()); 불행히도 distinct() 메서드에는 이러한 오버로드가 없습니다. Person 클래스 내에서 동등성 검사를 수정하지 않고 이것을 간결하게 할 수 있습니까? 답변 상태 저장 필터로 distinct 것을 고려하십시오. 다음은 이전에 본 내용에 대한..

Java에서 List을 Array로 변환하는 방법

질문 : Java에서 목록을 배열로 변환 Java에서 List 을 Array 로 어떻게 변환 할 수 있습니까? 아래 코드를 확인하십시오. ArrayList tiendas; List tiendasList; tiendas = new ArrayList(); Resources res = this.getBaseContext().getResources(); XMLParser saxparser = new XMLParser(marca,res); tiendasList = saxparser.parse(marca,res); tiendas = tiendasList.toArray(); this.adaptador = new adaptadorMarca(this, R.layout.filamarca, tiendas); setListA..

Java에서 두 배열을 연결하는 방법

질문 : Java에서 두 배열을 어떻게 연결할 수 있습니까? Java에서 String 배열을 연결해야합니다. void f(String[] first, String[] second) { String[] both = ??? } 이를 수행하는 가장 쉬운 방법은 무엇입니까? 답변 오래된 Apache Commons Lang 라이브러리에서 한 줄짜리 솔루션을 찾았습니다. ArrayUtils.addAll(T[], T...) 암호: String[] both = ArrayUtils.addAll(first, second); 출처 : https://stackoverflow.com/questions/80476/how-can-i-concatenate-two-arrays-in-java

macOS Mojave (10.14)에서 Lion (10.7)까지 JAVA_HOME 환경변수 설정

질문 : macOS Mojave (10.14)에서 Lion (10.7)까지 JAVA_HOME은 어디에 있습니까? Java는 최신 버전의 macOS에있는 선택적 패키지입니다. 그러나 일단 설치되면 JAVA_HOME 환경 변수가 제대로 설정되지 않은 것처럼 보입니다. 답변 Java 선택적 패키지 또는 Oracle JDK가 설치된 상태에서 ~ / .bash_profile 파일에 다음 행 중 하나를 추가하면 그에 따라 환경 변수가 설정됩니다. export JAVA_HOME="$(/usr/libexec/java_home -v 1.6)" or export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)" or export JAVA_HOME="$(/usr/libexec/java_home..

자바에서 일반 텍스트 파일 읽기

질문 : 자바에서 일반 텍스트 파일 읽기 Java에서 파일의 데이터를 읽고 쓰는 방법은 여러 가지가있는 것 같습니다. 파일에서 ASCII 데이터를 읽고 싶습니다. 가능한 방법과 차이점은 무엇입니까? 답변 ASCII는 TEXT 파일이므로 Readers 를 사용하여 읽을 수 있습니다. InputStreams 사용하여 바이너리 파일에서 읽기도 지원합니다. 읽고있는 파일이 큰 경우 FileReader BufferedReader 를 사용하여 읽기 성능을 향상시킬 수 있습니다. Reader 사용 방법에 대한 이 기사를 살펴보십시오. 또한 Thinking In Java 라는이 멋진 (아직 무료) 책을 다운로드하여 읽어 보는 것이 좋습니다. Java 7에서 : new String(Files.readAllBytes(....

728x90
반응형