모듈 패키지의 컨테이너이며 각 모듈에는 모듈 을 포함하는 모듈 설명자가 포함됩니다. 이름 , 모듈 종속성, 그것은 다른 모듈의 이름이 의존하는 모듈에서만 사용할 수 있는 내보내는 패키지의 이름과 의존한다는 것을 의미합니다. module com.tutorialspoint.app { /** Modules upon which the module com.tutorialspoint.app depends on */ requires com.tutorialspoint.services;  
자바 9부터 readNBytes() 메소드를 InputStream 에 추가할 수 있습니다. 수업. 이 메서드는 입력 스트림에서 요청된 바이트 수를 지정된 바이트 배열로 읽습니다. . 이 메서드는 len 바이트까지 차단합니다. 의 입력 데이터가 읽혔거나 스트림의 끝이 감지되었거나 예외가 발생했습니다. readNBytes() 메소드는 입력 스트림을 닫지 않습니다. 이 방법은 메모리 를 방지하는 데 유용할 수 있습니다. 문제 대용량 파일로. 구문 public int readNBytes(byte[] b, int off, int len)
직소 퍼즐 의 주요 목표 프로젝트 모듈화 를 도입하는 것입니다. Java 9에서 모듈을 만든 다음 이를 JDK에 적용하는 개념 . 다음은 모듈식의 이점 중 일부입니다. (직소 퍼즐 ) 강력한 캡슐화: 모듈은 사용할 수 있는 부품에만 액세스할 수 있습니다. 패키지를 module-info.java로 명시적으로 내보내지 않는 한 파일, 패키지의 공개 클래스는 공개할 수 없습니다. 종속성 지우기: 모듈은 필수 절을 통해 사용되는 다른 모듈에 대해 선언해야 합니다. 모듈은 비교적 작은 컴퓨팅 장치로 쉽게 확장할 수 있는 더 짧은 런타임
JShell 자바 코드를 실행하고 즉각적인 결과를 얻을 수 있는 대화형 도구입니다. 컴파일이나 빌드 없이 표현식이나 짧은 알고리즘을 빠르게 평가합니다. 표현을 실행할 수 있습니다. , 수업 , 메서드 , 변수, JShell 도구의 도움으로 등등. 아래는 키보드 의 일부입니다. 바로가기 키 : 입구 - 라인 검증 왼쪽 화살표 - 줄에서 왼쪽으로 이동 오른쪽 화살표 - 줄에서 오른쪽으로 이동 Ctrl-A - 줄의 시작 부분으로 이동 Ctrl-E - 줄 끝으로 이동 Alt-B - 단어별로 왼쪽으로 이동 Alt-F - 단어별로
JShell Java 9 이후 도입된 대화형 도구입니다. 사용자의 입력을 읽고 평가하고 결과를 인쇄하는 명령줄에서 간단한 프로그래밍 환경을 만드는 Java의 첫 공식 REPL 도구입니다. 새 JShell 인스턴스 를 만들 수 있습니다. 프로그래밍 방식으로 Java 언어로. JShell 및 관련 API는 jdk.jshell 에서 찾을 수 있습니다. 패키지. 정적 메소드를 사용하여 JShell에 대한 새 인스턴스를 얻을 수 있습니다. create() JShell 클래스의 평가() JShell 인스턴스에 표현식을 추가하는 데 사용되는
JShell 명령줄입니다. 도구 Java 명령문(단순 명령문, 복합 명령문 또는 전체 메소드 및 클래스)을 입력하고 평가하고 결과를 인쇄할 수 있도록 하는 도구입니다. 앞으로 참조 메서드를 참조하는 명령입니다. , 변수 , 또는 클래스 JShell에 입력한 코드에는 존재하지 않습니다. JShell에 코드가 입력되고 순차적으로 평가됨에 따라 이러한 전달 참조 일시적으로 해결되지 않았습니다. JShell은 메서드 에서 전방 참조를 지원합니다. 본체 , 반환 유형 , 매개변수 유형 , 변수 유형 , 및 내 아 클래스
수집가 클래스는 스트림 의 필수적인 부분입니다. API . Java 9에서 새로운 메소드:filtering() 수집가 에 추가됨 수업. Collectors.filtering() 메서드는 스트림의 요소를 필터링하는 데 사용할 수 있습니다. filter()와 유사합니다. 스트림에 대한 메소드. 필터() 메소드는 그룹화되기 전에 값을 처리하는 반면 filtering() 메소드는 Collectors.groupingBy() 와 함께 잘 사용할 수 있습니다. 필터링 단계가 수행되기 전에 값을 그룹화하는 방법입니다. 구문 public sta
Java 9에서 새로운 메소드가 Collectors 클래스에 추가되었습니다. flatMapping() . Collectors.mapping()과 유사합니다. flatMapping() 메서드를 사용하면 중첩 컬렉션을 처리할 수 있습니다. Collectors.flatMapping() 메소드는 입력 요소에 적용할 함수와 함수를 통해 전달된 요소를 누적하는 수집기를 취합니다. Collectors.mapping()과 달리 메소드, Collectors.flatMapping() 메소드는 불필요한 중간 컬렉션을 제거할 수 있는 요소 스트림을 처리
Java 9 도입 StackWalker API Thread.getStackTrace()의 대안 또는 Throwable.getStackTrace() 및 SecurityManager.getClassContext() . 이 API는 필요한 경우 추가 스택 프레임에 대한 효율적인 지연 액세스를 허용하는 필수 스택 프레임을 통과하고 구체화하는 메커니즘을 대상으로 합니다. 예외 스택 추적의 각 스택 요소에 액세스해야 하는 경우 getStackTrace()를 사용할 수 있습니다. 던질 수 있는 방법 수업. 배열 을 반환합니다. Stack
국제화 Java 9의 향상된 기능에는 유니코드 8.0이 포함됩니다. , UTF-8 속성 파일 및 CLDR 활성화 로케일 데이터 기본적으로. Java 9는 최대 유니코드 를 지원합니다. 8.0 표준 10,555자, 29개 스크립트, 42개 블록으로 구성됩니다. Java 9에서 속성 파일은 UTF-8 인코딩으로 로드됩니다. . 기본적으로 입력 스트림을 읽으면 MalformedInputException 이 발생합니다. 또는 UnmappableCharacterException . 이 경우 PropertyResourceBundle
Java 9에서 LocalDate 클래스는 toEpochSecond()를 제공합니다. 현지 날짜를 에포크 초로 변환하는 방법 . toEpochSecond() 메소드는 LocalDate를 변환합니다. epoch 1970-01-01T00:00:00Z 이후의 시간(초) . LocalDate 주어진 시간 과 결합될 수 있음 및 영역 오프셋 1970-01-01T00:00:00Z부터 초를 계산합니다. 구문 public long toEpochSecond(LocalTime time, ZoneOffset offset) 예 import jav
자바 9에서 ofInstant() 변환하는 방법이 도입되었습니다. LocalDate의 정적 메서드입니다. , 현지 시간 및 LocalDateTime 클래스. 이 메소드는 java.time.Instant를 변환합니다. LocalDate 에 반대 java.time.ZoneId 형식의 시간대가 필요합니다. . 구문 public static LocalTime ofInstant(Instant instant, ZoneId zone) public static LocalDate ofInstant(Instant instant, ZoneId zo
Java 9에서는 Process API 프로세스에 대한 많은 정보를 쉽게 얻을 수 있는 방법을 지원합니다. 프로세스 핸들 인터페이스는 네이티브 프로세스의 제어를 식별하고 제공할 수 있고 프로세스 활성을 확인하고 프로세스를 파괴하는 방법을 제공할 수 있는 반면 ProcessHandle.Info 인터페이스는 프로세스의 정보 스냅샷을 제공할 수 있습니다. destroy()를 사용하여 프로세스를 파괴해야 합니다. ProcessHandle 메소드 인터페이스. 아래 예에서는 ProcessHandle 을 사용하여 프로세스를 종료해야 합니다.
프로세스 취급 클래스 및 관련 API가 Java 9에 도입되었습니다. . ProcessHandle 을 사용할 수 있습니다. pid 를 얻기 위한 인터페이스 및 관련 메소드 및 기타 관련 프로세스에 대한 정보. 프로세스의 모든 자식을 가져온 다음 java.lang.ProcessHandle.children()을 사용해야 합니다. 방법. 이 메서드는 일반적으로 자식이 없는 프로세스인 스트림을 반환합니다. 아래 예에서 우리는 첫 번째 프로세스를 얻고 그 하위 프로세스 정보를 검색할 수 있습니다. 예시 import java.util.st
Java 9에서는 Process API 운영 체제 프로세스를 제어하고 관리하는 데 사용되었습니다. 프로세스 핸들 클래스는 프로세스의 기본 프로세스 를 제공합니다. 신분증 , 시작 시간 , 누적 CPU 시간 , 인수 , 명령 , 사용자 , 상위 프로세스 및 하위 항목 . 또한 프로세스 활성 을 확인하는 방법을 제공합니다. 그리고 파기 프로세스. 모든 ProcessHandle 을 검색합니다. allProcesses()를 사용하여 데이터를 스트림으로 방법. 아래 예에서는 모든 프로세스 정보를 검색합니다. 예시 import ja
Java 9는 반응형 스트림을 도입했습니다. java.util.concurrent.Flow 아래 상호 운용 가능한 게시-구독을 지원하는 패키지 뼈대. 비동기 경계를 넘어 비동기 데이터 스트림을 처리하고(요소를 다른 스레드 또는 스레드 풀로 전달) 수신 측이 임의의 양의 데이터를 버퍼링하도록 강제되지 않으므로 버퍼 오버플로가 발생할 수 없습니다. 흐름 API 4개의 상호 관련된 핵심 인터페이스를 포함합니다. 게시자 , 구독자 , 구독 및 프로세서 . 구문 @FunctionalInterface public static interfac
Java 9부터 R을 만들 수 있습니다. 활성 스트림 4가지 핵심 인터페이스 도입:게시자 , 구독자 , 구독 , 프로세서 및 하나의 구체적인 클래스:SubmissionPublisher 게시자 를 구현하는 상호 작용. 각 인터페이스는 반응성 원칙에 따라 다른 역할을 합니다. 스트림 . submit()을 사용할 수 있습니다. SubmissionPublisher 방법 각 구독자에게 제공된 항목을 게시하는 클래스입니다. 구문 public class SubmissionPublisher<T> extends Object impl
delayedExecutor() 메소드가 CompletableFuture 에 추가되었습니다. Java 9의 클래스. CompletableFuture delayedExecutor()의 두 가지 오버로드된 메서드를 정의합니다. :첫 번째 메소드는 기본 에서 Executor 객체를 반환합니다. 실행자 CompletableFuture 개체 개체는 지연 및 새 실행자 후에 작업을 실행하는 데 사용합니다. 객체는 작업 실행을 수행할 수 있지만 두 번째 메서드는 Executor 객체도 반환하지만 지연 및 새로운 Executor 후에 이
Java 9는 StackWalker 를 정의합니다. API 게으름과 프레임 필터링을 제공합니다. StackWalker 의 개체 스택을 탐색하고 액세스할 수 있으며 하나의 유용한 메서드인 walk()가 포함되어 있습니다. . 이 방법은 StackFrame 을 엽니다. 스트림 현재 스레드에 대해 해당 StackFrame 이 있는 함수를 적용합니다. 개울. StackWalker 를 가져와야 합니다. 개체를 선택한 다음 StackWalker.getInstance() 를 사용합니다. 방법. 아래 예에서는 다른 스택 프레임을 인쇄할 수 있
스택워커 API는 프로그램 실행 중에 스택 추적에 정보 스트림을 제공합니다. 이 API에는 가상 머신 이 필요합니다. 전체 스택의 스냅샷을 캡처하고 필터링 목적으로 요소 배열을 반환합니다. walk()를 사용하여 스택 프레임을 건너뛰고, 삭제하고, 제한해야 합니다. 방법. 첫 번째 일치 프레임을 얻기 위해 클래스별로 스택 프레임을 필터링하고 filter()를 사용하여 일치하는 모든 프레임을 필터링할 수도 있습니다. 방법. 아래 예에서는 StackWalker API를 사용하여 스택 프레임을 필터링할 수 있습니다. 예시 import