Java 149

Java 날짜 및 시간 클래스를 사용할까요, 아니면 Joda Time과 같은 서드파티 라이브러리를 사용할까요?

Java 날짜 및 시간 클래스를 사용할까요, 아니면 Joda Time과 같은 서드파티 라이브러리를 사용할까요? 세계 각국에서 사용할 수 있는 웹 기반 시스템을 만들고 있습니다.저장해야 하는 데이터 유형 중 하나는 날짜와 시간입니다. Joda time 등 서드파티 라이브러리와 비교하여 Java 날짜 및 시간 클래스를 사용할 때의 장단점은 무엇입니까?이런 서드파티 도서관이 존재하는 데는 이유가 있겠지만, 실제로 비교한 적은 없습니다.편집: Java 8이 출시되었으므로 사용할 수 있다면 그렇게 하십시오. java.time조다 타임보다 깨끗하다고 생각합니다.하지만 자바-8 이전 상태로 갇혀 있다면, 계속 읽어보십시오... 맥스가 조다 사용에 대한 장단점을 물어봤는데... 장점: 아주 잘 작동한다.Joda에는 표..

programing 2022.09.22

Java 8: 람다의 반복 횟수를 세는 데 선호되는 방법?

Java 8: 람다의 반복 횟수를 세는 데 선호되는 방법? 나는 자주 같은 문제에 직면한다.람다 밖에서 사용하기 위해 람다의 런을 세어야 합니다. 예: myStream.stream().filter(...).forEach(item -> { ... ; runCount++}); System.out.println("The lambda ran " + runCount + "times"); 이 문제는 runCount가 다음과 같이 되어 있어야 한다는 것입니다.final 「 」, 「 」, 「 」는 수.int은...일 수 .Integer그건 불변의 일이니까클래스 레벨 변수(필드)로 만들 수 있지만 이 코드 블록에서만 필요합니다. 여러 가지 방법이 있다는 것을 알고 있는데, 이 문제에 대해 어떤 해결책을 선호하는지 궁금할..

programing 2022.09.22

ProceedingJoinPoint에서 메서드의 주석 값을 가져오려면 어떻게 해야 합니까?

ProceedingJoinPoint에서 메서드의 주석 값을 가져오려면 어떻게 해야 합니까? 아래에 주석이 있습니다. My Annotation.자바 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { } SomeAspect.java public class SomeAspect{ @Around("execution(public * *(..)) && @annotation(com.mycompany.MyAnnotation)") public Object procede(ProceedingJoinPoint call) throws Throwable { //Some logic } } SomeOther.ja..

programing 2022.09.21

Eclipse 실행 시 기본 라이브러리를 재정의하지 않고 "java.library.path"에 추가하는 방법

Eclipse 실행 시 기본 라이브러리를 재정의하지 않고 "java.library.path"에 추가하는 방법 java.library.path에 추가해야 하는 네이티브 라이브러리가 있습니다.JVM 인수 -Djava.library.path=path...나는 내가 원하는 대로 길을 설정할 수 있다. 문제는 다른 라이브러리(pentaho reporting)가 기본 java.library.path(시스템 디렉토리 등)를 기반으로 글꼴을 검색하고 수동 설정이 기본 경로를 덮어쓰는 것입니다. 그래서 : 패스 엔트리를 덮어쓰지 않고 기본 java.library.path에 추가할 수 있는 방법은 무엇입니까(-Djava.library.path를 사용하는 것 같습니다.(기본 경로를 수동으로 추가하고 싶지 않습니다.전개에는 ..

programing 2022.09.19

휴지 상태, @SequenceGenerator 및 allocationSize

휴지 상태, @SequenceGenerator 및 allocationSize 할 때 은 Hibernate입니다.@SequenceGenerator- 실제 데이터베이스 시퀀스를 1씩 증가시키고, 이 값을 50으로 곱합니다(기본값).allocationSizevalue) - 이 IDvalue)로합니다.- 「 ID 」 。 이는 잘못된 동작이며 다음과 같은 사양과 충돌합니다. allocation Size - (옵션)시퀀스에서 시퀀스 번호를 할당할 때 증가하는 양. 명확히 하자면:생성된 아이디 간의 간격은 신경 쓰지 않습니다. 기본 데이터베이스 시퀀스와 일치하지 않는 ID에 관심이 있습니다.예를 들어, 다른 응용 프로그램(예를 들어 플레인 JDBC 사용)은 시퀀스에서 얻은 ID 아래에 새 행을 삽입하고 싶을 수 있습..

programing 2022.09.18

ThreadPoolExecutor가 큐잉하기 전에 스레드를 최대값으로 늘리려면 어떻게 해야 합니까?

ThreadPoolExecutor가 큐잉하기 전에 스레드를 최대값으로 늘리려면 어떻게 해야 합니까? 인 '어디서나'가요.ThreadPoolExecutor은, 「」의 에 있습니다.ExecutorService많은 분들이 쓰시는 실타래 같은 거.Javadocs: corePoolSize보다 크고 실행 중인 maximumPoolSize 스레드 수가 적을 경우 큐가 꽉 찬 경우에만 새 스레드가 생성됩니다. 즉, 다음 코드를 사용하여 스레드 풀을 정의하면 두 번째 스레드는 시작되지 않습니다.LinkedBlockingQueue계는없없 없없없다다 ExecutorService threadPool = new ThreadPoolExecutor(1 /*core*/, 50 /*max*/, 60 /*timeout*/, TimeUn..

programing 2022.09.18

serialVersion이란UID와 그것을 사용해야 하는 이유는 무엇입니까?

serialVersion이란UID와 그것을 사용해야 하는 이유는 무엇입니까? Eclipse는 다음 경우에 경고를 발행합니다.serialVersionUID가 없습니다. 직렬화 가능한 클래스 Foo가 정적 최종 serialVersion을 선언하지 않습니다.UID 필드 길이 뭐가serialVersionUID그리고 그게 왜 중요하죠?누락된 예를 보여 주십시오.serialVersionUID문제가 생깁니다.에 대한 설명으로는 다음과 같은 내용을 들 수 있습니다. 시리얼라이제이션 런타임은 시리얼라이제이션이 가능한 각 클래스와 관련지어집니다.버전 번호는serialVersionUID시리얼화된 객체의 송신측과 수신측이 시리얼라이제이션과 관련하여 그 객체의 클래스를 로드하고 있는지 확인하기 위해 디시리얼라이제이션 중에 사용..

programing 2022.09.17

-Xmx3G를 사용하여 "VM 초기화 중 오류가 발생했습니다. 개체 힙에 충분한 공간을 예약할 수 없습니다."

-Xmx3G를 사용하여 "VM 초기화 중 오류가 발생했습니다. 개체 힙에 충분한 공간을 예약할 수 없습니다." 우선 RAM이 8GB인 박스가 있기 때문에 전체 메모리가 문제인지 의심됩니다.이 애플리케이션은 6GB 이하의 머신에서 정상적으로 동작하고 있습니다. Eclipse의 "Run Configurations"에서 "VM Arguments" 아래의 -Xmx3G를 사용하여 3GB의 공간을 예약하려고 합니다. 1500MB를 초과하여 예약하려고 할 때마다 -Xmx3G를 사용하여 "VM 초기화 중 오류가 발생하였습니다.오브젝트 힙에 충분한 공간을 예약할 수 없습니다"라는 오류가 나타납니다. 이게 무슨 일이야?그 기계에서 32비트 jvm을 사용하고 있는 것 같습니까?수정 방법은 다음과 같습니다. Start->Co..

programing 2022.09.17

Tomcat - Catalina_BASE 및 Catalina_HOME 변수

Tomcat - Catalina_BASE 및 Catalina_HOME 변수 Tomcat 6의 여러 인스턴스가 동일한 서버(Linux)에서 실행되고 있으며 예상대로 작동합니다.나는 표준적인 관행이 무엇인지를 알아내려고 한다.CATALINA_HOME그리고.CATALINA_BASE변수입니다. Tomcat 설치 환경에 셋업이 있습니다.CATALINA_HOME공통 폴더를 가리키다/tomcat6)와CATALINA_BASE변수는 인스턴스 이름에 따라 달라집니다(예:/tomcat_instance1,/tomcat_instance2) 제 질문은 다음과 같습니다. 두 가지 변수가 정말 필요한가요? 아니면 하나만 줘도 돼?CATALINA_HOME을 없애다CATALINA_BASE(또는 그 반대) 단일 호스트에서 여러 Tomca..

programing 2022.09.16

마지막으로 블록은 항상 실행됩니까?

마지막으로 블록은 항상 실행됩니까? 최종적으로 Java에서 실행되지 않는 조건이 있습니까?감사합니다.Sun 튜토리얼에서 주의: Try 코드 또는 Catch 코드 실행 중에 JVM이 종료되면 최종적으로 블록이 실행되지 않을 수 있습니다.마찬가지로 try 또는 catch 코드를 실행하는 스레드가 중단되거나 중단되면 응용 프로그램 전체가 계속되더라도 최종 블록이 실행되지 않을 수 있습니다. 그 블록이 실행되지 않을 다른 방법은...System.exit이 가상 시스템을 종료합니다. 현재 실행 중인 Java 가상 시스템을 종료합니다.인수는 상태 코드로 기능합니다.규칙상 0이 아닌 상태 코드는 비정상적인 종료를 나타냅니다. 는 " " 를 합니다.exit 내의 Runtime이 메서드는 정상적으로 반환되지 않습니다. ..

programing 2022.09.16