在 Ubuntu 中使用 PPA 安装 Java 8


虽然我不是 Java 工程师, 自己也从没以及没打算写 Java ,但还是很关注这个技术。关于 Java 8  的新特性:

接口里已经完全可以定义静态方法了. 举一个比较普遍的例子就是在java类库中, 对于一些接口如Foo, 都会有一个有静态方法的工具类Foos 来生成或者配合Foo对象实例来使用. 既然静态方法可以存在于接口当中, 那么大多数情况下 Foos工具类完全可以使用接口中的公共方法来代理 (或者将Foos置成package-private).

除此之外更重要的就是, Java 8中接口可以定义默认的方法了.举个例子,一个for-each循环的方法就可以加入到java.lang.Iterable中:

public default void forEach(Consumer<? super T> action) {
    Objects.requireNonNull(action); for (T t : this) {
        action.accept(t);
    }
}

在过去,java类库的接口中添加方法基本上是不可能的. 在接口中添加方法意味着破坏了实现了这个接口的代码. 但是现在, 只要能够提供一个正确明智的默认的方法的实现, java类库的维护者就可以在接口中添加方法.

Java 8中, 大量的默认方法已经被添加到核心的JDK接口中了。

下面是本文的重点, 在 Ubuntu 中使用 PPA 安装 Java 8 ( 支持 Ubuntu 10.04 - Ubuntu 14.04 ):

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install Oracle-java8-installer

完成之后可以通过以下命令来查看版本:

javac -version

安装 Java 8 需要接受许可,如果你想自动安装,那么可以在安装之前运行:

echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

设置 Java 8 环境变量:

sudo apt-get install oracle-java8-set-default

切换为 Java 7 :

sudo update-java-alternatives -s java-7-oracle

再切换为 Java 8:

sudo update-java-alternatives -s java-8-oracle

相关内容

    暂无相关文章