标签: java-6

处理"java.lang.OutOfMemoryError:PermGen space"错误

最近我在我的Web应用程序中遇到了这个错误:

java.lang.OutOfMemoryError:PermGen空间

这是在Tomcat 6和JDK 1.6上运行的典型Hibernate/JPA + IceFaces/JSF应用程序.显然,重新部署应用程序几次后就会发生这种情况.

导致它的原因以及可以采取哪些措施来避免它?我该如何解决这个问题?

memory-leaks exception out-of-memory permgen java-6

1215
推荐指数
17
解决办法
102万
查看次数

从java.io.File获取java.nio.file.Path对象

是否可以从java.io.File?获取Path对象?

我知道你可以使用toFile()方法将路径转换为文件,但我找不到相反的转换.有没有办法在Java 6或更低版本中执行此操作?

java file path java-6

196
推荐指数
4
解决办法
12万
查看次数

从Java中获取HashMap的密钥

我有一个Java中的Hashmap,如下所示:

private Map<String, Integer> team1 = new HashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)

然后我这样填写:

team1.put("United", 5);
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得钥匙?像:team1.getKey()回归"联合国".

java java-6 data-structures

152
推荐指数
5
解决办法
54万
查看次数

如何将特定的Java版本设置为Maven

在我的机器我安装了两个版本的Java:(1.6和1.7手动我安装).我需要他们两个不同的项目.但Maven的,我需要1.7,现在我的Maven使用1.6 Java版本,我怎么能设置的Maven使用1.7?

maven java-6 java-7

138
推荐指数
13
解决办法
22万
查看次数

Java中的三元运算符仅评估自Java 7以来的一个表达式 - 在Java 1.6和更低版本中是不同的?

为了准备Oracle认证助理Java SE 8程序员1考试,我在官方学习指南中看到了关于三元表达的以下段落:

三元表达式评估
从Java 7开始,将仅在运行时评估三元运算符的右侧表达式之一.以类似于短路运算符的方式,如果三元运算符中的两个右手表达式之一执行副作用,则可能不会在运行时应用它.让我们用以下例子来说明这个原则:[...]

它表示只评估两个表达式中的一个,演示如下:

int y = 1;
int z = 1;
int a = y < 10 ? y++ : z++;
Run Code Online (Sandbox Code Playgroud)

在这里,只有y增量,但z没有,正如您所期望的那样.

我绊倒的是段落的开头(标记为黄色),其中显示"从Java 7开始,......".我用Java 1.6测试了相同的代码,但是我找不到行为上的差异.我希望Java 1.6只根据段落中给出的信息来评估这两个表达式.有没有人知道他们想用"从Java 7开始......"这么说?

编辑:为了避免混淆:归结为这个问题,因为他们编写了"从Java 7开始",从Java 6切换到Java 7时,三元运算符有什么变化吗?

java ternary-operator short-circuiting java-6

106
推荐指数
2
解决办法
6555
查看次数

是否可以在java中读取注释的值?

这是我的代码:

@Column(columnName="firstname")


private String firstName;

 @Column(columnName="lastname")
 private String lastName;

 public String getFirstName() {
  return firstName;
 }

 public void setFirstName(String firstName) {
  this.firstName = firstName;
 }

 public String getLastName() {
  return lastName;
 }

 public void setLastName(String lastName) {
  this.lastName = lastName;
 }
Run Code Online (Sandbox Code Playgroud)

是否可以在另一个类中读取我的注释@Column(columnName ="xyz123")的值?

java annotations getter-setter java-6

94
推荐指数
5
解决办法
13万
查看次数

将File.listFiles与FileNameExtensionFilter一起使用

我想获得一个目录中具有特定扩展名的文件列表.在API(Java 6)中,我看到了一个File.listFiles(FileFilter)可以执行此操作的方法.

由于我需要特定的扩展,我创建了一个FileNameExtensionFilter.但是当我使用listFiles它时出现编译错误.我认为,因为FileNameExtensionFilter implements FileFilter,我应该能够做到这一点.代码如下:

FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir  = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
Run Code Online (Sandbox Code Playgroud)

最后一行显示编译错误:

类型File中的方法listFiles(FileNameFilter)不适用于FileNameExtensionFilter类型的参数

我试图使用listFiles(FileFilter),而不是listFiles(FileNameFilter).为什么编译器不能识别这个?

如果我编写自己的扩展过滤器扩展,这是有效的FileFilter.我宁愿使用而FileNameExtensionFilter不是写我自己的.我究竟做错了什么?

java file filter java-6

75
推荐指数
3
解决办法
17万
查看次数

Android Studio需要哪个JDK版本(语言级别)?

我是android世界的新角色,拥有.NET背景.我正在尝试安装Android Studio,但我在Android.com上与开发Android应用程序所需的JDK版本不匹配.

SDK网页上,它指出需要JDK 6(在系统要求部分下).吉姆威尔逊也坚持他的Pluralsight课程(这是从去年五月开始的新课程),使用版本7和Android SDK将会产生很多麻烦,并且明确只使用JDK 6.

虽然在Android工作室页面(在安装步骤2下),他们解释了如何设置指示正确JDK位置的环境变量.在这里,他们使用JDK 7的路径

选择Start menu > Computer > System Properties > Advanced System Properties.然后打开Advanced tab > Environment Variables并添加一个JAVA_HOME指向JDK文件夹的新系统变量C:\Program Files\Java\jdk1.7.0_21.

我很确定ADT和Eclipse软件包以及Android Studio软件包都使用相同的SDK,但现在我对我需要安装哪个JDK版本感到困惑.我唯一的目的是在迈出Android开发的第一步时尽可能避免出现问题.

免责声明:我对Pluralsight没有任何意义.我只是跟随课程的普通用户.

java android java-6 java-7 android-studio

75
推荐指数
1
解决办法
11万
查看次数

intern()在Java 6和Java 7中表现不同

class Test {
    public static void main(String...args) {
        String s1 = "Good";
        s1 = s1 + "morning";
        System.out.println(s1.intern());
        String s2 = "Goodmorning";
        if (s1 == s2) {
            System.out.println("both are equal");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码在Java 6和Java 7中生成不同的输出.在Java 6中,s1==s2条件返回false并在Java 7中s1==s2返回true.为什么?

为什么这个程序在Java 6和Java 7中产生不同的输出?

java string string-interning java-6 java-7

54
推荐指数
6
解决办法
5661
查看次数

Java 1.6 - 确定符号链接

在DirectoryWalker类中,我想知道File实例是否实际上是指向目录的符号链接(假设,walker在UNIX系统上行走).鉴于,我已经知道实例是一个目录,以下是确定符号链接的可靠条件吗?

File file;
// ...      
if (file.getAbsolutePath().equals(file.getCanonicalPath())) {
    // real directory ---> do normal stuff      
}
else {
    // possible symbolic link ---> do link stuff
}
Run Code Online (Sandbox Code Playgroud)

java java-6

42
推荐指数
4
解决办法
4万
查看次数