jdk11新特性——更简化的编译运行程序(代码片段)

小志的博客 小志的博客     2022-12-19     171

关键词:

目录

一、概述

  • JEP 330 : 增强java启动器支持运行单个java源代码文件的程序。

  • 在我们的认知里面,要运行一个 Java 源代码必须先编译(javac命令),再运行(java命令),两步执行动作。而在未来的 Java 11 版本中,通过一个 java 命令就直接搞定了。

    // 编译
    javac Test1.java
    // 运行
    java Test1
    

二、注意事项

  • 执行源文件中的第一个类, 第一个类必须包含主方法。
  • 不可以使用别的源文件中的自定义类, 本文件中的自定义类是可以使用的。

三、注意事项1——代码示例

3.1、示例1

  • 示例代码

    public class Test6 
        public static void main(String[] args) 
            System.out.println("hello Test6");
        
    
    
  • 执行java命令进行运行,如下图所示:

  • 由上图输出可知:执行java命令可运行源文件中的第一个类, 第一个类必须包含主方法。

3.2、示例2

  • 示例代码

    public class Test6 
       
    
    
  • 执行java命令进行运行,如下图所示:

  • 由上图输出可知:执行java命令可运行源文件中的第一个类, 第一个类必须包含主方法。否则报错。

3.3、示例3

  • 示例代码

    /**
     * @description:
     * @author: xz
     */
    public class Test7 
        public static void main(String[] args) 
            System.out.println("hello Test7");
        
    
    public class Test6 
        public static void main(String[] args) 
            System.out.println("hello Test6");
        
    
    
  • 执行java命令进行运行,如下图所示:

  • 由上图输出可知:执行java命令可运行源文件中的第一个类(即Test7类), 第一个类(即Test7类)必须包含主方法。

四、注意事项2——代码示例

4.1、示例1

  • 示例代码

    /**
     * @description:
     * @author: xz
     */
    public class Test6 
        public static void main(String[] args) 
            System.out.println("hello Test6");
    		User user =new User();
        
    
    public class User
    	private String name;
    	private String age;
    
    
  • 执行java命令进行运行,如下图所示:

  • 由上图输出可知:本文件中的自定义类是可以使用的。

4.2、示例2

  • Test6.java文件示例代码

    /**
     * @description:
     * @author: xz
     */
    public class Test6 
        public static void main(String[] args) 
            System.out.println("hello Test6");
    		User user =new User();
        
    
    
  • User.java文件示例代码

    /**
    * @description:
    * @author: xz
    */
    public class User
    	private String name;
    	private String age;
    
    
  • 执行java命令进行运行,如下图所示:

  • 由上图输出可知:不可以使用别的源文件中的自定义类。

jdk11新特性——完全支持linux容器(包括docker)(代码片段)

目录一、问题二、问题的解决三、容器的内存限制四、设置可用的CPU五、分配内存和CPU一、问题许多运行在Java虚拟机中的应用程序(包括ApacheSpark和Kafka等数据服务以及传统的企业应用程序)都可以在Docker容器中运行。但... 查看详情

jdk11新特性——新加的一些更实用的api(代码片段)

目录一、集合增强1.1、List集合of()方法1.2、Set集合of()方法1.3、Map集合of()方法1.4、List集合copyOf()方法1.5、of()和copyOf()方法创建集合的注意事项二、Stream增强2.1、Stream新增of()方法2.2、Stream新增ofNullable()方法2.3、Stream新增takeWhile()和dr... 查看详情

jdk11新特性——新加的一些更实用的api(代码片段)

目录一、集合增强1.1、List集合of()方法1.2、Set集合of()方法1.3、Map集合of()方法1.4、List集合copyOf()方法1.5、of()和copyOf()方法创建集合的注意事项二、Stream增强2.1、Stream新增of()方法2.2、Stream新增ofNullable()方法2.3、Stream新增takeWhile()和dr... 查看详情

jdk11新特性——官方的更新列表

目录一、官方的更新列表二、JEP(JDKEnhancementProposal特性增强提议)一、官方的更新列表二、JEP(JDKEnhancementProposal特性增强提议)JShell——(java9开始支持)DynamicClass-FileConstants类文件新添的一种结构局部变量类型推断(var关键字)... 查看详情

jdk9新特性(代码片段)

JDK9新特性目录导航目录结构模块化系统jshell多版本兼容JAR接口的私有方法改进try-with-resourcs改进砖石操作符限制使用单独下划线标识符String存储结构变更快速创建只读结合增强StreamAPI改进Optional类多分辨率图像API全新HTTP客服端API... 查看详情

jdk9的新特性(代码片段)

2、模块化系统----Jigsaw项目   ①可以在更小的设备中运行;   ②必须的jdk模块,非全部jdk模块;   ③甚至开发者还可以创建自己的模块来简化代码;   ④内部的API(com.sun.*),默认情况下是不能使用,... 查看详情

jdk8新特性:使用optional:解决npe问题的更干净的写法(代码片段)

一、JDK8中Optional的方法使用介绍空指针异Optional常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optional类,Guava通过使用检查空值的方式来防止代码污染,它鼓励程序员写更干... 查看详情

jdk8新特性(代码片段)

1Java8新特性的简介速度更快。代码更少(增加了新语法Lambda表达式)。强大的StreamAPI。便于并行。最大化的减少空指针异常OPtional。 其中最为核心的是Labmda表示式和StreamAPI。 2为什么使用Lambda表示式2.1简介Lambda是一个匿名... 查看详情

dk1.5-jdk11各个新特性(代码片段)

.../blog.csdn.net/lsxf_xin/article/details/79712537 JDK各个版本的新特性  要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。以下介绍一下JDK1.5版本... 查看详情

jdk13的新特性:appcds详解(代码片段)

...表使用class文件列表生成jsa文件JDK13的新用法总结JDK13的新特性:AppCDS详解简介AppCDS的全称是ApplicationClass-DataSharing。主要是用来在不 查看详情

jdk1.8新特性(代码片段)

...、类库、开发工具以及Java虚拟机等方面都带来了不少新特性。并且版本稳定,已经广泛应用于企业级开发。这些新特性能够帮助开发人员提升编码效率,加深对java的理解,因此作为一个合格的java程序员,掌握和理解这些新特性... 查看详情

jdk8新特性之lambda(代码片段)

Lambda体验Lambda是一个匿名函数,可以理解为一段可以传递的代码。Lambda表达式写法,代码如下:借助Java8的全新语法,上述Runnable接口的匿名内部类写法可以通过更简单的Lambda表达式达到相同的效果/***从匿名类到Lambda表达式的转变... 查看详情

jdk11新特性——removethejavaeeandcorbamoudles(代码片段)

目录一、RemovetheJavaEEandCORBAMoudles1.1、概述1.2、在java11中将java9标记废弃的JavaEE及CORBA模块移除掉,具体如下二、JEP:335:DeprecatetheNashornJavaScriptEngine三、JEP:336:DeprecatethePack200ToolsandAPI一、RemovetheJavaEEandCOR 查看详情

jdk11新特性——removethejavaeeandcorbamoudles(代码片段)

目录一、RemovetheJavaEEandCORBAMoudles1.1、概述1.2、在java11中将java9标记废弃的JavaEE及CORBA模块移除掉,具体如下二、JEP:335:DeprecatetheNashornJavaScriptEngine三、JEP:336:DeprecatethePack200ToolsandAPI一、RemovetheJavaEEandCOR 查看详情

学习-jdk8特性(代码片段)

jdk8新特性Lambda表达式Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。方法引用?方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语... 查看详情

jdk11新特性——javaflightrecorder(代码片段)

...lightRecorder源自飞机的黑盒子。FlightRecorder以前是商业版的特性,在java11当中开源出来,它可以导出事件到文件中,之后可以用JavaMissionControl来分析。二、使用可以在应用启动时配置java-XX:StartFlightRecording或者在应用启... 查看详情

jdk11新特性——javaflightrecorder(代码片段)

...lightRecorder源自飞机的黑盒子。FlightRecorder以前是商业版的特性,在java11当中开源出来,它可以导出事件到文件中,之后可以用JavaMissionControl来分析。二、使用可以在应用启动时配置java-XX:StartFlightRecording或者在应用启... 查看详情

发布倒计时!jdk11为我们带来哪些新特性?(代码片段)

...,JDK11已经进入了RampdownPhaseTwo阶段,这标志着该版本所有特性已经被冻结,不会有新的JEP会加入版本中。  这一阶段将会修复P1–P2级BUG,之后,JDK11预定于今年9月25日发布。确定发布的17个JEP如下,其中包括14个新特性以及3个移除... 查看详情