Java 9 모듈은 특정 기능을 제공하기 위해 패키지 모음으로 도입된 새로운 엔터티입니다. Java 9 모듈은 패키지를 모듈로 재배치하고 분류한 후 Java 개발 키트의 첫 번째 릴리스입니다. JPMS(Java 9 플랫폼 모듈 시스템)라고도 합니다. Java 9에서는 필수 모듈만 포함하여 런타임 크기를 줄일 수 있습니다. 예를 들어 GUI를 지원하지 않는 장치의 경우 GUI 모듈을 포함하지 않고 런타임을 생성할 수 있습니다.
무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
코드:
module eg.com.module1 { }
코드:
module eg.com.module1 { exports eg.com.module1.service; }
코드:
{ requires eg.com.module1; }
코드:
module com.educba.util { exports com.educba.app; exports com.educba.security to com.educba.client, com.educba.producer; }
코드;
open module <em>modulename</em> { // module directives }
src\com.educba\com\educba
mkdir –r src\com.educba\com\educba
module com.educba { }
For example, JAVA_HOME C:\Program Files\Java\jdk-9\bin
Add %JAVA_HOME% to PATH in control Panel->system->advanced system setting->environment variables.
Code:
>javap mods/com.educba/module-info.class
Output:
It shows requires java.base in the modules definition, though we had created an empty module. It is because java.base is the basic and independent module. All other modules depend on it.
The most obvious difference between JDK 8 and JDK 9.
Feature | Java 8 | Java 9 |
Top Level component | Package | Module |
New features launched | ● Lambda Expressions
● Stream API ● Date API |
● Java Module System (Jigsaw Project)
● Java REPL ● Milling Project Coin |
Performance | Compromised performance due to big size of jdk | Improved performance |
Testing and maintaining applications | Difficult with large size of JRE | Easy with REPL and reduced size depending on modules included. JShell or REPL: Read and evaluate Print Loop for easy execution and testing of Java Constructs like class, interface, enum, object, and statements easily. |
Security | It is compromised because of no encapsulation. Internal APIs can be accessed easily by users and potential hackers. Reflection could be used to learn about private members too. | String security as Reflection does not provide access to private members. Only those exposed by export keywords are available through reflection. |
Packaging format | JAR | JMOD can include native code and configuration files. |
Java 9는 실제로 분산 아키텍처의 새로운 코딩 기술과 호환되도록 하기 위해 Java 코드를 재구성하는 데 가장 많이 요구되는 버전입니다. 필수 모듈을 포함하도록 선택하여 실행 파일의 크기를 줄이는 데 도움이 되었으며 결과적으로 성능이 향상되었습니다. 강력한 캡슐화를 통해 잠재적인 해커가 사용할 수 있는 클래스가 적어져 보안이 강화되었습니다. 모듈성은 종속성 선언 및 결정에 투명성을 제공했습니다.
답변: Java 9에서 레거시 애플리케이션을 컴파일할 수 있습니다. 컴파일 시 Java 9의 모듈식 구조에 없는 코드 부분에 대해 오류가 발생합니다. 여기서 약간의 비용을 지출해야 합니다. 필수 모듈을 포함할 시간입니다. 필요한 출력을 위해 Jshell을 사용하여 새 코드를 테스트할 수 있습니다.
답변: java –list-modules를 사용하여 모듈을 나열할 수 있습니다. 해당 기능에 대한 지식을 얻으려면 설명서를 참조해야 합니다.
답변: 아니요. 명령줄 인터페이스에 얼마나 익숙한지에 따라 다릅니다. IDE는 사용자에게 알려지지 않은 많은 작업을 백엔드에서 수행합니다. CLI는 문제를 파악하고 해결하는 가장 좋은 선택입니다.
답변: 공개 패키지, info.java 및 required_package_name에 액세스하려면 모듈의 모듈 정의에 다음을 추가해야 합니다.
위 내용은 자바 9 모듈의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!