我看到Eclipse有两个主要的发行版 - 一个是3.6,3.7,3.8路径,另一个是4.0,4.1路径(http://www.eclipse.org/e4/).
我不清楚这两个发行版之间有什么区别?
使用java.exe,javaw.exe和jvm.dll运行应用程序(例如,Eclipse)有什么区别?另外,它在性能方面有什么不同吗?
使用JDK7,反射API已更改,现在getDeclaredMethods()返回的方法不会按照在源文件中声明的顺序返回.
现在我的问题是,javac生成的.class文件是否包含与源文件中定义的顺序相同的方法,还是可以按随机顺序编写方法?
为什么以下代码在JDK7中抛出CloneNotSupportedException而在JDK6中抛出?
public class DemoThread extends Thread implements Cloneable {
/**
* @param args
*/
public static void main(String[] args) {
DemoThread t = new DemoThread();
t.cloned();
}
public DemoThread cloned()
{
try {
return (DemoThread) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的Grails域:
class User {
....
Address address
}
Run Code Online (Sandbox Code Playgroud)
在保存用户的同时,我也要验证Address对象,并将Address对象的所有错误添加到User对象本身.
我正在尝试编写一个自定义验证器it.validate()
,但我无法找到"addAll"地址错误消息的方法.
是线程安全的onReceive()
方法BroadcastReceiver
还是我需要自己实现同步?
如果我有任何在该onReceive()
方法中使用的类级别变量,并且该onReceive()
方法被很快调用多次,是否会引起问题?
public class MyBroadCastReceiver extends BroadcastReceiver {
boolean isFirstTrigger = true;
@Override
public void onReceive(Context context, Intent arg1) {
if(isFirstTrigger)
{
//Do something time consuming
isFirstTrigger = false;
}
}
Run Code Online (Sandbox Code Playgroud) 我正试图从Eclipse迁移到Idea并且很难尝试执行JUnits.该应用程序是一个具有10k + java类的遗留应用程序.
每当我运行任何JUnit时,要么编译测试用例需要3-4分钟然后执行它,要么为该特定的JUnit类提供ClassNotFoundException.
我完成了项目的全部构建(大约需要9分钟).我希望在构建之后,只应在"Make"期间重新编译修改过的文件.在我的情况下,由于我没有更改任何文件,JUnit应该立即执行.
我正在使用IntelliJ Idea 12社区版,我在编译器设置中选中了"使用外部版本".
我错过了任何设置或做错了吗?
编辑: 在运行JUnit时,我观察了输出类目录,看起来它正在删除生成的类并再次编译它们!
以下代码使用JDK7在Eclipse中编译没有任何问题(我使用的是更新10,但应该可以与任何版本的JDK7一起使用),但是在通过命令行使用完全相同的JDK进行编译时会失败.该类只提供接口方法的存根实现.
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.security.cert.X509Certificate;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.Version;
public class TestBundle implements Bundle {
/**
* @param args
*/
public static void main(String[] args) {
}
@Override
public int compareTo(Bundle o) {
return 0;
}
@Override
public <A> A adapt(Class<A> arg0) {
return null;
}
@Override
public Enumeration<URL> findEntries(String arg0, String arg1, boolean arg2) {
return null;
}
@Override …
Run Code Online (Sandbox Code Playgroud) 我知道System.gc()
不能保证导致GC,但理论上,在下面的代码中,该对象是否obj
有资格进行垃圾收集?
public class Demo {
public static void main(String[] args) throws Exception {
SomeClass obj = new SomeClass();
ArrayList list = new ArrayList();
list.add(obj);
obj = null;
System.gc();
}
}
class SomeClass {
protected void finalize() {
System.out.println("Called");
}
}
Run Code Online (Sandbox Code Playgroud)