在任何地方都有Java 7的二进制版本(使用Mac/BSD端口项目)吗?一些博客(例如,在Mac OS X上构建Java 7)有详细的说明从源代码构建jdk,但我希望有人可以下载它的二进制文件.
这些说明的问题在于让所有版本号都正确是非常烦人的,而轻微的变化可能会导致浪费时间.
以下课程:
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 …
是否有已知Tomcat 6.0和JDK 1.7.0_02问题是什么?
如果答案是否定的,我知道这是一个难以回答的问题.但我需要问一下,以防答案是肯定的.此外,我将接受以下问题的任何解决方案作为答案.请分享您遇到的任何问题,如有需要,我会更新此问题.
自从JDK 1.7.0升级到1.7.0_02之后我遇到的一些问题(由于Java 1.7.0错误,我这样做是为了避免Eclipse的帮助菜单崩溃).
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 错误,第二天消失,然后第三天重新出现,除了重新加载Eclipse之外没有任何变化.一切似乎都很可疑.
PS JDK 1.7.0_02也被称为1.7.0u2,Java SE 7u2,Java SE 7 Update 2等.
Oracle,64位,从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载.下载并安装了完整的文件jdk-7u2-windows-x64.exe.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 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 7中,string对象可以是switch语句的表达式.有人可以从官方文档中解释以下声明吗?
Java编译器通常使用String对象生成比使用链式if-then-else语句更高效的字节码.
我正在尝试将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 1.6中编译良好,但无法在Java 1.7中编译.为什么?
代码的相关部分是对私有"数据"字段的引用.引用来自定义字段的同一类,因此看似合法.但它是通过一般类型的变量发生的.这段代码 - 一个基于内部库中的类的简化示例 - 在Java 1.6中工作,但现在不在Java 1.7中.
我不是在问这个如何解决这个问题.我已经做到了.我试图找到解释为什么这不再起作用的原因.我想到了三种可能性:
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) 我设计了一个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 …
错误地添加下划线如下:
int i = 1_5;
Run Code Online (Sandbox Code Playgroud)
但没有编译错误.为什么会这样?输出就像是忽略下划线一样.那为什么Java中有这样的功能?
嘿,社区我想知道是否有可能创建一个程序,允许用户从硬盘驱动器(桌面,文档文件夹,视频文件夹)的任何位置拖动文件,并将其放入程序的窗口.
我正在创建一个媒体播放器,我希望能够通过将MP4拖放到窗口中来播放视频.我是否需要将文件存储在变量中,或者只将文件的位置存储到变量中.此外,重要的是我保持对跨平台的支持.
我正在使用JavaFx与java 7更新79 jdk.
提前致谢.