标签: java-7

如何在Mac OSX上使用JDK 7?

我想使用此链接中提到的WatchService API:http: //download.oracle.com/javase/tutorial/essential/io/notification.html

阅读后,我发现WatchService是NIO类的一部分,它安排在JDK 7中.因此,它是测试版.没关系.

http://jdk7.java.net/download.html有我下载和提取的JDK.我有一堆文件夹.我不知道该如何处理它们.

然后,我读了一些更多,发现一些不错的人创建了JDK 7作为二进制文件,所以像我这样的人可以轻松地安装它.它被称为Open JDK:http: //code.google.com/p/openjdk-osx-build/

所以,我下载了.dmg文件并安装它.然后我打开"Java Preference"并看到OpenJDK7可用.

所以,现在我觉得我可以开始试用WatchService API了.从第一个链接的教程中,作者首先给出了一个.java文件来测试它,并确保它正在运行.以下是该文件的链接:http: //download.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java

因此,我启动Eclipse(实际上我使用STS)并创建一个新的Java项目并在"使用执行环境JRE:"中选择JaveSE-1.7.在src文件夹下,我复制粘贴了WatchDir.java文件.

我仍然看到大量波浪形的红线.所有"import.java.nio.*"都是红色的,我无法将其作为Java应用程序运行.

我需要做什么?

java macos java-7

107
推荐指数
8
解决办法
20万
查看次数

PermGen和Metaspace有什么区别?

在Java 7之前,JVM内存中有一个名为PermGen的区域,JVM用于保存其类.在Java 8中,它被删除并被称为Metaspace的区域取代.

PermGen和Metaspace之间最重要的区别是什么?

我知道的唯一区别是java.lang.OutOfMemoryError: PermGen space不能再抛出并MaxPermSize忽略VM参数.

java permgen java-7 java-8 metaspace

107
推荐指数
3
解决办法
5万
查看次数

生产中的Java G1垃圾收集

由于Java 7将默认使用新的G1垃圾收集,Java是否能够处理一个数量级更大的堆而不会产生"破坏性"的GC暂停时间?有人在生产中实际实施了G1,你的经历是什么?

公平地说,我唯一一次看到非常长的GC暂停是非常大的堆,远远超过工作站.澄清我的问题; G1将打开数百GB的网关?TB?

java garbage-collection g1gc java-7

90
推荐指数
8
解决办法
5万
查看次数

java 7中的新功能

Java 7中将实现哪些新功能?他们现在在做什么?

java java-7

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

线程"main"中的异常java.lang.UnsupportedClassVersionError:a(不支持的major.minor版本51.0)

可能重复:
不支持的主要.minor版本51.0

我安装了JDK7,一个简单的hello word程序得到编译,但是当我运行它时,我得到了以下异常.

Exception in thread "main" java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我检查java -version了命令提示符,它显示了Java版本1.4.2_03但是当我尝试从java.com安装新的java版本时它说我推荐了Java 7版本.

java exception java-7 unsupported-class-version

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

我是否正确使用Java 7 try-with-resources

我期待缓存的读取器和文件读取器关闭,如果异常抛出则释放资源.

public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{
    try (BufferedReader br = new BufferedReader(new FileReader(filePath)))
    {
        return read(br);
    } 
}
Run Code Online (Sandbox Code Playgroud)

但是,是否需要有catch成功关闭的条款?

编辑:

从本质上讲,Java 7中的上述代码与Java 6中的代码相同:

public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{

    BufferedReader br = null;

    try
    {
        br = new BufferedReader(new FileReader(filePath));

        return read(br);
    }
    catch (Exception ex)
    {
        throw ex;
    }
    finally
    {
        try
        {
            if (br != null) br.close();
        }
        catch(Exception ex)
        {
        }
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

java-7 try-with-resources

86
推荐指数
2
解决办法
6万
查看次数

java.lang.VerifyError:期望分支目标JDK 1.7处的stackmap帧

升级到JDK 1.7后,我得到以下异常:

java.lang.VerifyError: Expecting a stackmap frame at branch target 71 in method com.abc.domain.myPackage.MyClass$JaxbAccessorM_getDescription_setDescription_java_lang_String.get(Ljava/lang/Object;)Ljava/lang/Object; at offset 20
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2413)
    at java.lang.Class.getConstructor0(Class.java:2723)
    at java.lang.Class.newInstance0(Class.java:345)
    at java.lang.Class.newInstance(Class.java:327)
    at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:184)
    at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:129)
    at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$GetterSetterReflection.optimize(Accessor.java:384)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:72)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:311)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1148)
    at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:130)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:248)
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:235)
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:445)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:637)
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584)
    at com.abc.domain.myPackage.MyClass.marshalFacetsTest(MyClass.java:73) …
Run Code Online (Sandbox Code Playgroud)

java jaxb java-7

83
推荐指数
3
解决办法
10万
查看次数

关于G1的Java 7(JDK 7)垃圾收集和文档

Java 7已经出现了一段时间了,但我找不到任何关于垃圾收集器配置的好资源,特别是新的G1收集器.

我的问题:

  1. G1是Java 7中的默认收集器,如果不是,我如何激活G1?
  2. g7在Java7中有哪些可选设置?
  3. 是否对Java 7中的其他收集器(如cms并行收集器)进行了更改?
  4. 在哪里可以找到有关Java 7中垃圾收集的好文档?

java garbage-collection heap-memory g1gc java-7

80
推荐指数
5
解决办法
10万
查看次数

通过apt-get在Debian中安装Java 7(Oracle)

通过apt-get存储库在Debian中安装Oracle Java 7似乎不起作用.

apt-get install oracle-java7-installer
Run Code Online (Sandbox Code Playgroud)

看起来apt-get不认识oracle-java7-installer.

debian apt-get java-7

79
推荐指数
1
解决办法
12万
查看次数

Java 7和8中方法的最大大小

我知道Java的方法不能大于64 KB.该限制导致我们从JavaCC语法生成代码的问题.我们遇到了Java 6的问题,并且能够通过更改语法来解决这个问题.是否已针对Java 7更改了限制,还是计划用于Java 8?

只是为了说清楚.我自己不需要大于64 KB的方法.但我写了一个语法,编译成一个非常大的方法.

java java-7 java-8

77
推荐指数
3
解决办法
2万
查看次数