Quartz 작업 스케줄링이란
Quartz는 작업 스케줄링 분야의 OpenSymphony 오픈 소스 조직의 또 다른 오픈 소스 프로젝트입니다. J2EE 및 J2SE 애플리케이션과 결합하거나 단독으로 사용할 수 있습니다. Quartz는 전적으로 Java로 작성된 오픈 소스 작업 스케줄링 프레임워크입니다. 작업 일정이라는 용어에 겁을 먹지 마십시오. Quartz 프레임워크에는 많은 추가 기능이 포함되어 있지만 단순한 형태로 인해 사용하기가 거의 참을 수 없을 만큼 쉽습니다!
사실 아직 명확하게 설명하지 않았습니다. 간단히 말하면 Quartz 작업 스케줄링은 예정된 작업을 실현할 수 있습니다. Windows와 유사한 작업 일정, .Net에서 Windows 서비스로 구현된 예약된 작업 등을 구현할 수 있습니다. 또한 Spring 프레임워크와 결합하면 사용이 매우 간단하고 시간 설정이 약간이라는 점을 제외하면 견딜 수 없습니다. 모호하다... 그건 중요하지 않다. 해결 방법은 나중에 알려줄게.
이제 요구 사항이 있습니다. 사용자가 시스템에서 작업을 완료하면 사용자에게 금화를 보상하지만 성능 문제를 고려하여 사용자에게 즉시 재충전되지는 않습니다. 이 시간대에는 사용자가 상대적으로 적기 때문에 오전 1시에 균일하게 사용자를 충전할 계획입니다. 당신은 무엇을 할 것인가?
1. GoldQuartz.java 파일 추가
물론 저처럼 예약된 작업을 실행하기 위해 특별히 cn.mayongfa.quartz 패키지를 추가할 수도 있습니다.
이 클래스의 목적은 정기적으로 사용자에게 금화를 자동으로 추가하는 것입니다.
아아아아끝났나요? 네, 그렇게 간단합니다. 그것은 주로 @Scheduled의 cron이 무엇을 의미하는지와 관련이 있습니다. 지금은 전혀 이해할 수 없기 때문에 작성 방법과 자동 생성 방법에 대해 설명하겠습니다.
2. springMVC-servlet.xml 파일 구성
@Component public class GlodQuartz { /** * 用户自动加金币 * 每天凌晨一点执行一次 */ @Scheduled(cron = "0 0 1 * * ? ") public void addUserGold() { System.out.println("凌晨一点了,你睡了么?"); } /** * 每隔5秒定时清理缓存 */ @Scheduled(cron = "*/5 * * * * ? ") public void cacheClear() { System.out.println("时间又过去5秒了,真令人伤感..."); } }
정말 간단합니다! 사용하기가 너무 쉬워서 참을 수 없습니다. 이
<!-- 扫描定时作业调度包 --> <task:annotation-driven /> <context:component-scan base-package="cn.mayongfa.quartz"/>
결과를 보려면 실행
이 시점에서 필요에 따라 수행하려는 예약된 작업을 완료할 수 있습니다. 그럼 @Scheduled의 cron이 무엇을 의미하는지 자세히 설명하겠습니다.
Cron 표현식에는 초, 분, 시간, 일, 월, 요일, 연도(선택 필드)의 7개 필드가 포함됩니다.
Cron 트리거는 일련의 특수 문자도 사용합니다.
백슬래시(/) 문자는 증분 값을 나타냅니다. 예를 들어 초 필드의 "5/15"는 5초부터 시작하여 15초마다를 의미합니다.
물음표(?) 문자와 문자 L 문자는 날짜 및 요일 필드에서만 사용할 수 있습니다. 물음표는 이 필드에 특정 값이 포함되어 있지 않음을 나타냅니다. 따라서 월 내의 날짜를 지정하는 경우 요일 필드에 "?"를 삽입하여 요일 값이 중요하지 않음을 나타낼 수 있습니다. 문자 L 문자는 마지막의 약자입니다. 해당 월의 마지막 날에 실행되도록 예약하려면 날짜 필드에 입력합니다. 요일 필드에서 "L"은 단독으로 존재할 경우 "7"과 같고, 그렇지 않으면 해당 월 내 요일의 마지막 인스턴스를 나타냅니다. 따라서 "0L"은 매월 마지막 일요일에 실행되도록 예정되어 있음을 의미합니다.
날짜 필드의 문자(W) 문자는 지정된 값에 가장 가까운 평일에 실행되도록 예약합니다. 해당 월의 첫 번째 영업일에 실행되도록 예약하려면 월 날짜 필드에 "1W"를 입력합니다.
파운드(#) 문자는 해당 월의 특정 근무일 인스턴스를 지정합니다. 매월 두 번째 월요일에 작업을 예약하려면 요일 필드에 "MON#2"를 입력합니다.
별표(*) 문자는 필드에 가능한 모든 값을 사용할 수 있음을 나타내는 와일드카드 문자입니다.
요약하자면
일부 코드를 정기적으로 실행해야 할 때 Job Scheduling을 사용하면 됩니다. 이를 위해 Quartz가 탄생했는데 Spring과 결합하면 매우 편리합니다. Quartz를 사용하면 코드를 빠르게 작성할 수 있습니다. 며칠 전에 우리 프로젝트 팀의 동료가 이 기능을 사용하고 그에게 깊은 인상을 받았습니다.
Java에서 Quartz 작업 스케줄링 타이머를 사용하는 Spring과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

Bytecodeachievesplatformincendence는 executedbirtualmachine (vm)을 beenecutedbyavirtmachine (vm)을 허용합니다

Java는 100% 플랫폼 독립성을 달성 할 수 없지만 플랫폼 독립성은 JVM 및 바이트 코드를 통해 구현되어 코드가 다른 플랫폼에서 실행되도록합니다. 특정 구현에는 다음이 포함됩니다. 1. 바이트 코드로의 컴파일; 2. JVM의 해석 및 실행; 3. 표준 라이브러리의 일관성. 그러나 JVM 구현 차이, 운영 체제 및 하드웨어 차이, 타사 라이브러리의 호환성은 플랫폼 독립성에 영향을 줄 수 있습니다.

Java는 "Writ 2. 유지 보수 비용이 낮 으면 하나의 수정 만 필요합니다. 3. 높은 팀 협업 효율성은 높고 지식 공유에 편리합니다.

새로운 플랫폼에서 JVM을 만드는 주요 과제에는 하드웨어 호환성, 운영 체제 호환성 및 성능 최적화가 포함됩니다. 1. 하드웨어 호환성 : JVM이 RISC-V와 같은 새로운 플랫폼의 프로세서 명령어 세트를 올바르게 사용할 수 있도록해야합니다. 2. 운영 체제 호환성 : JVM은 Linux와 같은 새로운 플랫폼의 시스템 API를 올바르게 호출해야합니다. 3. 성능 최적화 : 성능 테스트 및 튜닝이 필요하며 쓰레기 수집 전략은 새로운 플랫폼의 메모리 특성에 적응하도록 조정됩니다.

javafxeffecticallydressessplatforminconsistenciesinguedevelopment는 aplatform-agnosticscenegraphandcsstyling을 사용하여 development.1) itabstractsplatformspecificsthroughascenegraph, csstyling allowsforfine-tunin을 보장합니다

JVM은 Java 코드를 기계 코드로 변환하고 리소스를 관리하여 작동합니다. 1) 클래스로드 : .class 파일을 메모리에로드하십시오. 2) 런타임 데이터 영역 : 메모리 영역 관리. 3) 실행 엔진 : 해석 또는 컴파일 바이트 코드. 4) 로컬 메소드 인터페이스 : JNI를 통해 운영 체제와 상호 작용합니다.

JVM을 통해 Java는 플랫폼을 가로 질러 실행할 수 있습니다. 1) JVM 하중, 검증 및 바이트 코드를 실행합니다. 2) JVM의 작업에는 클래스 로딩, 바이트 코드 검증, 해석 실행 및 메모리 관리가 포함됩니다. 3) JVM은 동적 클래스 로딩 및 반사와 같은 고급 기능을 지원합니다.

Java 응용 프로그램은 다음 단계를 통해 다른 운영 체제에서 실행할 수 있습니다. 1) 파일 또는 경로 클래스를 사용하여 파일 경로를 처리합니다. 2) system.getenv ()를 통해 환경 변수를 설정하고 얻습니다. 3) Maven 또는 Gradle을 사용하여 종속성 및 테스트를 관리하십시오. Java의 크로스 플랫폼 기능은 JVM의 추상화 계층에 의존하지만 여전히 특정 운영 체제 별 기능의 수동 처리가 필요합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

드림위버 CS6
시각적 웹 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구
