• Java编译器002---javac -source/-target选项


    源码:

    public class TestSource {
        public static void main(String[] args) {
            List<String> stringList = Arrays.stream(new String[]{"hello", "hi", "how are you", "what?", "hi"})
                .distinct()
                .filter(word -> word.startsWith("h"))
                .sorted(Comparator.reverseOrder())
                .collect(Collectors.toList());
            System.out.println(stringList);
        }
    }

    -source:

    用于指定编译源码时使用的JDK版本,例如:javac -source 1.7 TestSource.java 指定使用JDK1.4编译TestSource.java,

    但是TestSource.java中使用了lamba表达式,因此编译报错,需要指定JDK版本为1.8;

     -target:

    用于指定生成的字节码文件要运行在哪个JDK版本,如指定target版本为1.8,则运行字节码文件的JDK版本必须大于等于1.8

    编译时同时使用:

    运行使用的JDK版本必须大于等于编译使用的JDK版本,即-target指定的版本必须大于等于-source,否则编译会有如下错误:

    javac: 源发行版 1.8 需要目标发行版 1.8

  • 相关阅读:
    Springboot websocket学习Demo
    webpack与vue使用
    图片服务器图片剪切处理
    时间字段设置默认值
    函数的递归
    数据类型检测及封装
    隔行变色
    if-else案例–开关灯
    作用域
    数据类型核心操作步骤和原理
  • 原文地址:https://www.cnblogs.com/sniffs/p/12620636.html
Copyright © 2020-2023  润新知