문제 설명 모든 요소가 1000000보다 작은 주어진 정수 배열로 배열에서 가장 큰 소수와 가장 작은 소수의 차이를 찾으십시오. 예 Array: [ 1, 2, 3, 4, 5 ] Largest Prime Number = 5 Smallest Prime Number = 2 Difference = 5 - 3 = 2. 해결책 주어진 수보다 작은 모든 소수를 찾는 효율적인 방법인 에라토스테네스의 체 접근법을 사용합니다. 그런 다음 필요한 차이를 얻기 위해 가장 큰 소수와 가장 작은 소수를 알아낼 것입니다. 예 다음은 필요한 출력을 찾
특성 특성은 Java의 인터페이스와 유사하며 특성 키워드를 사용하여 생성됩니다. 추상 클래스 추상 클래스는 자바의 추상 클래스와 유사하며 abstract 키워드를 사용하여 생성됩니다. 예시 다음은 Traits 및 Abstract Classes의 사용법을 보여주는 Scala 프로그램입니다. trait SampleTrait { // Abstract method def test // Non-Abstract method def tutoria
Java 9 버전의 주요 변경 사항은 모듈 시스템입니다. , 모듈식 JVM을 제공합니다. 사용 가능한 메모리가 적은 장치에서 실행됩니다. JVM은 애플리케이션에 필요한 모듈과 API로만 실행됩니다. module Module-Name { requires moduleName; exports packageName; } 다음은 모듈 시스템의 장점과 단점입니다. 모듈의 장점: Java 9의 주요 변경 사항은 이제 모듈식 JDK가 있는 모듈 시스템이라는 것입니다. , 모듈식 소스 코드 및 모듈식 런타임 이미지 . 내부 API는
JShell JShell에서 코드를 실행하고 즉시 출력을 표시하는 대화식 Java Shell 도구입니다. JShell은 REPL 입니다. (읽기-평가-인쇄-루프 ) 명령줄에서 실행할 수 있는 도구 프롬프트. JShell에는 몇 가지 미리 정의된 특별한 옵션을 포함하는 시작 시 스크립트를 로드하는 옵션이 있습니다. --startup을 사용하여 지정할 수 있습니다. 파일 이름 또는 DEFAULT 중 하나를 전달하는 플래그 , JAVASE 및 인쇄 중 . /list -start를 사용할 수 있습니다. comamnd는 평가할 모든 시
스트림 API 많은 내장 기능 제공 스트림 파이프라인을 사용하여 컬렉션에 대한 작업을 수행하는 데 도움이 됩니다. API는 선언적 프로그래밍 입니다. 코드가 정확하고 오류가 덜 발생합니다. 자바 9에서 , 몇 가지 유용한 메소드가 Stream API에 추가되었습니다. . Stream.iterate(): 이 방법은 기존 for-loops의 스트림 버전 대체로 사용할 수 있습니다. . Stream.takeWhile() :이 방법은 값을 취하는 while 루프에서 사용할 수 있습니다. 조건이 충족되는 동안. Stream.dropW
게시자 인터페이스는 구독자로부터 받은 요구에 따라 게시하는 무한한 수의 순차 요소를 제공합니다. . Publisher.subscribe(Subscriber) 호출에 대한 응답으로 , 구독자의 메소드에 대한 가능한 호출 시퀀스 . onSubscribe() 메소드 다음에 무한한 수의 onNext() 방법(구독자가 요청한 대로 ) 다음에 onError() 메소드, 실패 또는 onComplete()가 있는 경우 구독 동안 사용할 수 있는 요소가 더 이상 없을 때의 방법 취소되지 않습니다. 구문 public interface Publis
일반적으로 가변 핸들 변수에 대한 단순히 형식화된 참조입니다. 배열 이 됩니다. 요소, 인스턴스 또는 정적 필드 클래스의. VarHandle 클래스는 특정 조건에서 변수에 대한 쓰기 및 읽기 액세스를 제공할 수 있습니다. 이는 불변입니다. 그리고 눈에 보이는 상태가 없습니다. 또한 하위 분류할 수 없으며 각 VarHandle 일반 유형이 있습니다. 티 이 VarHandle이 나타내는 각 변수의 유형입니다. . VarHandle 의 목적 java.util.concurrent.atomic에 해당하는 호출에 대한 표준을 정의하는
JShell 명령줄 도구입니다. 자바 9에 도입됨 , Java의 첫 번째 공식 REPL 사용자의 입력을 읽고 평가하고 결과를 인쇄하는 간단한 프로그래밍 환경을 만드는 도구입니다. 클래스 외부의 선언 또는 인터페이스 (및 자체적으로 클래스 및 인터페이스 선언)은 다음 규칙에 따라 생성되었습니다. 외부 선언 규칙: 1) 공개, 보호됨과 같은 액세스 수정자 , 및 비공개 무시할 수 있습니다. 모든 선언 스니펫은 다른 모든 스니펫에서 액세스할 수 있습니다. jshell> private int i = 10; i ==>
VarHandle 변수에 대한 참조이며 다양한 액세스 모드(예:일반 읽기/쓰기 , 휘발성 읽기/쓰기 및 비교 및 교환 ), java.util.concurrent.atomic 에서 제공하는 기능과 유사 및 sun.misc.Unsafe . 변수는 배열 일 수 있습니다. 요소, 인스턴스 또는 정적 클래스의 필드입니다. 아래 예에서는 정적 변수 핸들을 생성할 수 있습니다. 예시 import java.lang.invoke.MethodHandles; import java.lang.invoke.VarHandle; public clas
다중 버전 호환 JAR 함수를 사용하면 특정 버전의 Java 환경에서 라이브러리 프로그램을 실행할 때만 사용하도록 선택한 클래스 버전을 만들 수 있습니다. --release를 통해 컴파일된 버전을 지정할 수 있습니다. 매개변수. 특정 변경 사항은 MANIFEST.MF META-INF의 파일 디렉토리에는 아래와 같은 새 속성이 있습니다. Multi-Release: true META-INF 아래에 새 버전 디렉토리가 있습니다. 디렉토리. Java 9 버전을 지원하려면 버전 디렉토리 아래에 9 디렉토리가 있습니다. multirel
Java 9에서는 정적 메서드가 거의 없습니다. stream() 또는() 및 ifPresentOrElse() 선택 사항 에 추가되었습니다. 수업. 선택 사항 도입 클래스가 널 포인터 예외를 해결합니다. . Optional.or() 메소드는 선택 사항 을 반환합니다. 값이 있으면 값을 설명하고, 그렇지 않으면 제공하는 함수에 의해 생성된 Optional을 반환합니다. 구문 public Optional<T> or(Supplier<? extends Optional<? extends T>