我正在开始使用Gradle的一个polyglot java/scala项目。java模块是使用JDK1.6构建的遗留模块,因此我决定让构建环境使用旧的JDK。
这有一个非常实际的理由。代码如下:
class X{
private int i;
<T extends X> void aMethod(T t){
int it = t.i;
}
}
将使用JDK1.6进行良好的编译,但将与JDK1.7中断,出现以下错误:
error: i has private access in X
出于这个原因(虽然很不幸),我决定坚持使用JDK1.6(我们确实有类似的代码)。
我愚蠢地把引导放在它自己的228米空间分区中,现在当我试图进行升级时,它总是告诉我它没有空间。
我试图删除旧包,但仍然没有足够的空间。
有没有一种方法可以摆脱这个/boot分区,并将它与根结合起来?
或者增加它的大小?
这是一个远程服务器,我只有命令行访问权限。
谢谢
更新:
dpkg -l | grep linux-image
ii linux-image-3.2.0-23-generic 3.2.0-23.36 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
我正在使用Eclipse露娜开发java maven应用程序。
现在,我使用jdk1.7作为我默认安装的JRE。
在我从SVN中更新之后,我开始在我的pom.xml文件上得到这个错误:
You need to run build with JDK or have tools.jar on the classpath.
If this occures during eclipse build make sure you run eclipse under JDK as well
(com.mysema.maven:apt-maven-plugin:1.0.6:process:default:
在JDK1.6中,Doug在final字段前面使用next。
static final class HashEntry<K,V> {
final K key;
final int hash;
volatile V value;
final HashEntry<K,V> next;
而在JDK1.7中,next字段前面是volatile。我还注意到,在JDK1.7中,get方法使用getObjectVolatile方法读取具有易失性负载语义的value字段。
我不明白Doug之前为什么使用final。如果正确性有问题,那么他如何用JDK1.