标签: java-7

二进制Java 7 for Mac

在任何地方都有Java 7的二进制版本(使用Mac/BSD端口项目)吗?一些博客(例如,在Mac OS X上构建Java 7)有详细的说明从源代码构建jdk,但我希望有人可以下载它的二进制文件.

这些说明的问题在于让所有版本号都正确是非常烦人的,而轻微的变化可能会导致浪费时间.

java binary macos release java-7

17
推荐指数
2
解决办法
8125
查看次数

为什么隐藏的静态方法在Sun JDK 6下编译但在OpenJDK 6和7下导致编译失败?

以下课程:

public class StaticMethodsDemo {

    public static class A {
        public static A make() { return new A(); };
    }
    public static class B extends A {
        public static B make() { return new B(); };
    }
    public static class BPrime<T> extends A {
        public static <T> BPrime<T> make() { return new BPrime<T>(); };
    }

    public static void main(String[] args) {
        B.make();
        // compiles under Sun JDK 1.6.0_20 but fails under Oracle JDK 1.7.0_01. Why?
        BPrime.<Object>make();
    }
}
Run Code Online (Sandbox Code Playgroud)

在Sun JDK …

java generics java-7

17
推荐指数
1
解决办法
1149
查看次数

已知Tomcat 6.0和JDK 1.7.0_02问题?

是否有已知Tomcat 6.0和JDK 1.7.0_02问题是什么?

如果答案是否定的,我知道这是一个难以回答的问题.但我需要问一下,以防答案是肯定的.此外,我将接受以下问题的任何解决方案作为答案.请分享您遇到的任何问题,如有需要,我会更新此问题.

问题:

自从JDK 1.7.0升级到1.7.0_02之后我遇到的一些问题(由于Java 1.7.0错误,我这样做是为了避免Eclipse的帮助菜单崩溃).

  • Tomcat服务器启动需要更长的时间,我需要120秒的超时来处理它.
  • FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 错误,第二天消失,然后第三天重新出现,除了重新加载Eclipse之外没有任何变化.
  • 关闭Tomcat服务器需要更长的时间.我需要60秒的超时来处理它,默认值为15秒.
  • 在构建工作区和验证手头的项目时,Eclipse本身似乎陷入停顿(比喻说).Eclipse中的所有内容似乎都需要更长时间,甚至打开未打开的文件.

一切似乎都很可疑.

PS JDK 1.7.0_02也被称为1.7.0u2,Java SE 7u2,Java SE 7 Update 2等.

版本:

  • JDK = Oracle,64位,从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载.下载并安装了完整的文件jdk-7u2-windows-x64.exe.
  • Tomcat = Tomcat 6.0.33,与Eclipse分开下载
  • 日食= Eclipse Java EE IDE for Web Developers.,Version: Indigo Release,Eclipse Platform,Version: 3.7.0.v20110530-9gF7UHNFFt4cwE-pkZDJ7oz-mj4OSEIlu9SEv0f,Build id: …

java eclipse tomcat6 java-7

17
推荐指数
1
解决办法
5983
查看次数

Java 7中泛型类变量访问的变化

下面是一些使用Java 6编译但不能在Java 7中编译的代码的简单示例.

public class Test<T extends Test> {

  private final int _myVar;

  public Test(int myVar) {
    _myVar = myVar;
  }

  public int get(TestContainer<T> container){
    T t = container.get();
    return t._myVar;
  }

  private static class TestContainer<T extends Test> {
    private final T _test;
    private TestContainer(T test) {
      _test = test;
    }
    public T get(){
      return _test;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在Java 7中,它无法在get(TestContainer<T> container)方法中编译,错误如下:

错误:_myVar在Test中具有私有访问权限

我不明白为什么这不再编译 - 在我看来它应该.变量t是类型T,必须扩展Test.它试图从类中访问_myVar实例的字段.TestTest

实际上,如果我将方法更改为get(TestContainer<T> …

java compiler-construction generics access-modifiers java-7

17
推荐指数
1
解决办法
1858
查看次数

为什么switch语句比Java 7中的String更快?

在Java 7中,string对象可以是switch语句的表达式.有人可以从官方文档中解释以下声明吗?

Java编译器通常使用String对象生成比使用链式if-then-else语句更高效的字节码.

java if-statement switch-statement java-7

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

Netbeans Profiler:永远连接到目标虚拟机

我正在尝试将Netbeans探查器附加到我的Java项目中,但它仍然受到了阻碍Connecting to the target vm.

我发现了这个旧的错误报告,但已经修复了.在Windows 7上,我的版本是7.1.2,Java 1.7.0_04.

我试图禁用防火墙并以管理员身份启动Netbeans但仍然遇到了同样的问题.

有点奇怪的是校准工作正常.

我觉得这是Java 7的一个问题.因为如果我查看profiler\lib\deployed那里没有jdk17文件夹.只有jdk16和jdk15.

有什么想法吗?

java profiler netbeans java-7

16
推荐指数
1
解决办法
5664
查看次数

为什么这个代码在Java 1.6中编译而在Java 1.7中编译?

以下代码在Java 1.6中编译良好,但无法在Java 1.7中编译.为什么?

代码的相关部分是对私有"数据"字段的引用.引用来自定义字段的同一类,因此看似合法.但它是通过一般类型的变量发生的.这段代码 - 一个基于内部库中的类的简化示例 - 在Java 1.6中工作,但现在不在Java 1.7中.

我不是在问这个如何解决这个问题.我已经做到了.我试图找到解释为什么这不再起作用的原因.我想到了三种可能性:

  • 根据JLS,此代码不是法律的,并且永远不应该编译(1.6编译器中存在错误,在1.7中已修复)
  • 根据JLS,此代码是LEGAL并且应该编译(1.7编译器中引入了向后兼容性错误)
  • 此代码属于JLS中的灰色区域

Foo.java:

import java.util.TreeMap;
import java.util.Map;

public abstract class Foo<V extends Foo<V>> {

    private final Map<String,Object> data = new TreeMap<String,Object>();

    protected Foo() { ; }

    // Subclasses should implement this as 'return this;'
    public abstract V getThis();

    // Subclasses should implement this as 'return new SubclassOfFoo();'
    public abstract V getEmpty();

    // ... more methods here ...

    public V copy() {
        V x …
Run Code Online (Sandbox Code Playgroud)

java generics javac java-6 java-7

16
推荐指数
1
解决办法
5079
查看次数

javafx 8兼容性问题 - FXML静态字段

我设计了一个javkx应用程序在jdk 7中工作正常.当我尝试在java 8中运行它时,我得到以下异常:

javafx.fxml.LoadException: 
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2617)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2595)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3230)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3191)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3164)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3140)
    at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3132)


Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Root cannot be null
    at javafx.scene.Scene.<init>(Scene.java:364)
    at javafx.scene.Scene.<init>(Scene.java:232)
        at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:204)
    at javafx.concurrent.EventHelper.fireEvent(EventHelper.java:219)
    at javafx.concurrent.Task.fireEvent(Task.java:1357)
    at javafx.concurrent.Task.setState(Task.java:720)
    at javafx.concurrent.Task$TaskCallable$2.run(Task.java:1438)
    at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)
    at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.access$300(WinApplication.java:39)
    at com.sun.glass.ui.win.WinApplication$4$1.run(WinApplication.java:112)
    at java.lang.Thread.run(Thread.java:744)
Run Code Online (Sandbox Code Playgroud)

我发现原因是在控制器类的initialize方法中我无法在任何静态组件中使用内置方法.(例如:staticMyTextField.setText()导致java …

java java-7 java-8 javafx-2 javafx-8

16
推荐指数
1
解决办法
9447
查看次数

数字之间的下划线

错误地添加下划线如下:

int i = 1_5;
Run Code Online (Sandbox Code Playgroud)

但没有编译错误.为什么会这样?输出就像是忽略下划线一样.那为什么Java中有这样的功能?

java int java-7

16
推荐指数
2
解决办法
1248
查看次数

JavaFx将文件拖放到程序中

嘿,社区我想知道是否有可能创建一个程序,允许用户从硬盘驱动器(桌面,文档文件夹,视频文件夹)的任何位置拖动文件,并将其放入程序的窗口.

我正在创建一个媒体播放器,我希望能够通过将MP4拖放到窗口中来播放视频.我是否需要将文件存储在变量中,或者只将文件的位置存储到变量中.此外,重要的是我保持对跨平台的支持.

我正在使用JavaFx与java 7更新79 jdk.

提前致谢.

java javafx media-player java-7 java-8

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