Tag: java 7

Eclipse 3.5和Java 7

有什么方法可以将Eclipse 3.5的Java编译器合规性级别提高到1.7。 (即)添加插件/插件。 因为默认情况下这不支持JDK 1.7合规性。 我们在Eclipse升级中有一个约束,因为它是一个RCP应用程序。 对此的任何想法将不胜感激。 谢谢。

Java:线程生成器使用者等待生成数据的最有效方法是什么

使用BlockingQueue消耗生成的数据时,等待数据出现的最有效方法是什么? 场景: 步骤1)数据列表将是添加时间戳的数据存储。 这些时间戳需要按最接近当前时间优先级排序。 此列表可能为空。 线程将时间戳插入其中。 生产 步骤2)我想在另一个线程中使用此处的数据,该线程将从数据中获取时间戳并检查它们是否在当前时间之后。 消费者然后生产 步骤3)如果它们在当前时间之后,则将它们发送到另一个线程以供消费和处理。 在此处理时间戳数据后,从步骤1数据存储中删除。 消费然后编辑原始列表。 在下面的代码中,数据字段引用步骤1中的数据存储。结果是在当前时间之后发送的时间戳列表。 步骤2.然后将结果消耗在步骤3中。 private BlockingQueue data; private final LinkedBlockingQueue results = new LinkedBlockingQueue(); @Override public void run() { while (!data.isEmpty()) { for (LocalTime dataTime : data) { if (new LocalTime().isAfter(dataTime)) { results.put(result); } } } } 问题等待数据列表中可能可能为空的数据的最有效方法是什么? 专注于: while (!data.isEmpty()) 从之前的问题开始。

自Java 7以来1s延迟了HttpServer

我们在项目中使用内部HttpServer类通过HTTP在客户端和服务器之间交换数据。 当我们切换到Java 7时,我们意识到结果传递的延迟。 我们可以将问题减少到以下示例: 类EchoServer创建上下文/echo ,它只是在每个请求时返回当前日期和请求URI。 然后,客户端在循环中调用此服务。 import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; import java.util.Date; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; public class EchoServer { public static void main(String[] args) throws IOException { HttpServer server = HttpServer.create(new InetSocketAddress(80), 0); server.createContext(“/echo”, new EchoHandler()); server.start(); } static class EchoHandler implements HttpHandler { public void handle(HttpExchange httpExchange) throws […]

java.nio.file:Path接口实际在哪里实现?

最近我使用Java 7中引入的java.nio.file包进行了一些编码,并看到了一个使用Path的示例: Path path = Paths.get(“C:\\Users”); 鉴于Path是一个接口,我对如何引用它感到困惑,但经过一些研究后我发现允许对接口的引用,但它必须指向实现接口的类。 从这看起来我查看了Paths类,发现它没有实现Path。 查看源代码的实际方法Paths.get方法如下: public static Path get(String first, String… more) { return FileSystems.getDefault().getPath(first, more); } 该方法首先使用我认为称为静态工厂方法的方法返回FileSystem类型的对象(我认为是抽象类),但FileSystem也没有实现该接口。 我的问题是有没有人知道/能够解释Path接口实际实现的位置,因为我似乎无法找到它发生的位置。

为什么Java 7中没有本机属性?

有没有合理的理由,为什么原生属性不会成为Java 7的一部分?

ArrayList vs ArrayList

ArrayList的以下两个声明有什么区别? ArrayList nunbers = new ArrayList(); VS ArrayList nunbers = new ArrayList(); 他们中的一个比另一个更受欢迎吗?

jdk1.7 / jre / lib / rt.jar的访问限制

大家好,我在创建JAXB解析器时遇到了一个非常奇怪的问题。 当我试图从eclipse生成JAXB类时,在一个类中它显示了一个非常奇怪的错误 Access restriction: The type QName is not accessible due to restriction on required library /usr/lib/jvm/jdk1.7.0_02/jre/lib/rt.jar 这是我的class级 package generated; import javax.xml.bind.JAXBElement; import javax.xml.bind.annotation.XmlElementDecl; import javax.xml.bind.annotation.XmlRegistry; //import javax.xml.namespace.QName; import javax.xml.namespace.*; @XmlRegistry public class ObjectFactory { 在这条线上,我正在收到错误消息 private final static QName _ExpenseReport_QNAME = new QName(“”,“expenseReport”); /** * Create a new ObjectFactory that can be used to […]

自执行Java方法

在JavaScript中,可以编写一个这样的自执行函数: (function foo() { console.log(“bar”); }()); 我希望用Java做到这一点。 例如: // This code does not work obviously public static void main(String[] args) { (foo() { System.out.println(“bar”); }()); } 有这样的事吗?

无法理解如何在java中定义List列表

我想了解两个定义之间的区别以及为什么正确的定义是正确的,错误是错误的。 那个显示编译错误的那个 List<List> arr2 = new ArrayList<ArrayList>(); 它给我的错误: try2.java:8: error: incompatible types: ArrayList<ArrayList> cannot be converted to List<List> List<List> arr2 = new ArrayList<ArrayList>(); 工作的那个: List<ArrayList> arr = new ArrayList<ArrayList>(); 注意: 我理解为什么下面这个有效: List arr = new ArrayList(); 编辑-1 : 现在我只想了解List<List> arr2 = new ArrayList<ArrayList>();出了什么问题List<List> arr2 = new ArrayList<ArrayList>();

无法加载“com.google.gson.JsonObject”类

我想在我的Android Studio项目中包含firebase SDK。 但它给了我一个错误。 我正在使用最新的JDK版本(1.7.0_71),它要求将更高版本升级到(1.7.0_67)。 我需要android上基本firebase setup SDK的帮助。 我尝试通过以下链接的引用来设置它: https : //firebase.google.com/docs/android/setup#add_the_sdk 。 我收到以下错误:请检查附加的屏幕截图