ArrayList作为全局变量

我创建了类似于应用程序扩展的类 package com.appnetics; import java.util.ArrayList; import android.app.Application; public class GlobalVariables extends Application { public ArrayList encounters; } 并将它设置为这样的表现forms 在一个Actiity中,我使用此代码填充此数组 GlobalVariables appState = new GlobalVariables(); appState.encounters =new ArrayList(); ……………. then add 当试图使用它时崩溃与nullexception,我在另一个活动或类中使用它 GlobalVariables appState = new GlobalVariables(); Encounter EncounterObject = appState.encounters.get(position); 请问有什么遗失,如何解决这个问题

JSE 1.8,Sandbox Java Applet通过HTTPS加载,但是使用HTTP检索了crossdomain.xml

大家好,所有的Java / Applet专家, 我偶然发现了最新JDK版本(1.8.0_b26)的一个有趣问题。 当使用最新的JDK运行Sandbox Java Applet时,我们尝试使用不同的协议连接回服务器 – 而不是原始的HTTPS我们使用WSS(安全的Websockets连接,我们使用第三方Websockets客户端Java库)。 结果,JVM尝试从服务器检索crossdomain.xml文件。 问题是,使用HTTP(而不是HTTPS)协议检索文件。 例如,在我们的例子中,服务器IP是192.168.1.1,applet是通过HTTPS默认端口(443)加载的。 在Java控制台中使用跟踪级别5,我们看到从http://192.168.1.1:443检索了crossdomain.xml 。 当然它不起作用,因为服务器只侦听端口443(而不是HTTP)上的HTTPS连接。 另一方面,当我们使用HTTP协议并向服务器打开新的WS(不安全的Websockets连接)时,问题不会出现,因为从http://192.168.1.1:80检索到crossdomain.xml并且它完全是正确。 随着问题的进一步调查,我们进行了更多的观察: 可以使用jnlp.altCrossDomainXMLFiles Java VM参数提供crossdomain.xml文件的替代位置。 我们永远不会成功使这个参数适用于我们(在java_arguments列表和单独的applet参数中都尝试过)。 可能的原因可能是该参数应仅用于Webstart应用程序(尽管它不是专门针对规范编写的)。 建立Websockets连接时,连接堆栈跟踪如下: at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:790)at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)at sun.net.www.http.HttpClient.parseHTTPHeader (HttpClient.java:787)at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1534)at sun。 net.www.protocol.http.HttpURLConnection.access $ 200(HttpURLConnection.java:90)at sun.net.www.protocol.http.HttpURLConnection $ 9.run(HttpURLConnection.java:1431)at sun.net.www.protocol。 http.HttpURLConnection $ 9.run(HttpURLConnection.java:1429)at java.security.AccessController.doPrivileged(Native Method)at java.security.AccessController.doPrivileged(AccessController.java:713)at sun.net.www.protocol.http .httpURLConnection.getInputStream(HttpURLConnection.java:1428)位于com.sun.deploy.net.CrossDomainXML.check(未知来源)的com.sun.deploy.net.CrossDomainXML.check(未知来源)sun.plugin2.applet。 SecurityManagerHelper.checkConne 来自sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:624)的sun.plugin2.applet.AWTAppletSecurityManager.checkConnect(未知来源)的ctHelper(未知来源) 因此,我们查看了CrossDomainXML.java类的最新公开源代码(尽管从2010年开始)。 从代码中可以看出,无论原始浏览器连接是什么,从服务器检索crossdomain.xml文件时始终使用http连接。 所以问题是: 可能是JDK错误还是对crossdomain.xml严格使用HTTP是设计的? 是否在jnlp.altCrossDomainXMLFiles applet中支持jnlp.altCrossDomainXMLFiles JVM参数? […]

简单类 – 它是一个内存泄漏?

我有一个非常简单的类,它有一个整数变量。 我只是将变量’i’的值打印到屏幕上并递增它,并使线程hibernate1秒钟。 当我针对此方法运行探查器时,即使我没有创建任何新变量,内存使用量也会缓慢增加。 执行此代码大约16个小时后,我发现内存使用量已增加到4 MB(当我启动程序时,最初为1 MB)。 我是Java的新手。 有没有人可以帮助解释我哪里出错了,或者为什么即使没有创建新变量,内存使用量也会逐渐增加? 提前致谢。 我正在使用netbeans 7.1及其分析器来查看内存使用情况。 public static void main(String[] args) { try { int i = 1; while(true) { System.out.println(i); i++; Thread.sleep(1000); } } catch(InterruptedException ex) { System.out.print(ex.toString()); } } 程序启动时的初始内存使用情况:1569852字节。 执行循环16小时后的内存使用情况:4095829字节

配置Equinox以修改“本地捆绑缓存”的管理

关于上一个问题, 如何让OSGi通过Config Admin重用您的配置 ,我仍然试图在Equinox框架中解决这个问题。 Pavol Juhos写道: Equinox Config Admin(org.eclipse.equinox.cm)将配置数据存储在Framework提供的持久存储区域中。 而且恰好是Equinox默认的“本地捆绑缓存”目录。 所以我读了这个主题,发现Equinox有几个运行时选项 (其中包括osgi.configuration.area)。 我想要的是更改配置,以便不会下载或清理本地捆绑缓存,因此下次我将运行Framework时,将使用最后输入的配置(对于任何捆绑)。

Tomcat – Servlet响应阻塞 – 刷新问题

我正在使用Tomcat 6.0.36和JRE 1.5.0,我正在开发Windows 7上的开发工作。 作为我正在做的一些工作的概念certificate,从Java代码我是HTTP通过套接字将一些XML发布到servlet。 然后servlet回传xml。 在我的第一个实现中,我将两端的输入流交给XML文档工厂,以提取通过线路发送的xml。 这在servlet中顺利运行但在客户端失败了。 事实certificate它在客户端失败了,因为响应的读取阻塞了文档工厂超时并在整个响应到来之前抛出exception。 (文档工厂的行为现在没有实际意义,因为正如我在下面描述的那样,我在不使用文档工厂的情况下遇到了相同的阻塞问题。) 为了尝试解决这个阻塞问题,我提出了一个更简单的客户端代码版本和servlet。 在这个更简单的版本中,我从等式中删除了文档构建器。 双方的代码现在只是从各自的输入流中读取文本。 不幸的是,我仍然对响应有这个阻塞问题,正如我在下面描述的那样,它只是通过简单地调用response.flushBuffer()来解决。 谷歌搜索只搜索了我能找到的一个相关主题( Tomcat没有刷新响应缓冲区 ),但这不是完全相同的问题。 我已经包含了我的代码并解释了下面的确切问题。 这是我的servlet代码(请记住,这是一个简单的概念validation代码,而不是生产代码), import java.io.InputStreamReader; import java.io.LineNumberReader; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public final class EchoXmlServlet extends HttpServlet { public void init(ServletConfig config) throws ServletException { System.out.println(“EchoXmlServlet loaded.”); } public void doGet(HttpServletRequest request, HttpServletResponse […]

用Java显示TIFF图像

有人可以告诉我如何在Java中加载多页TIFF图像并在JScrollPane中显示它? 我可以使用哪个class级?

在Scala中Drools Expert输出对象

我是Scala和Drools Expert的新手,需要一些帮助才能从Drools会话中获取信息。 我已经成功设置了一些被Drools规则操纵的Scala类。 现在我想创建一个对象来存储一组输出事实,以便在Drools之外进行处理。 这就是我所拥有的。 我有一个简单的对象存储数字结果(在规则的RHS中生成),以及注释字符串: class TestResults { val results = new MutableList[(Float, String)]() def add(cost: Float, comment: String) { results += Tuple2(cost, comment) } } 在DRL文件中,我有以下内容: import my.domain.app.TestResults global TestResults results rule “always” dialect “mvel” when // then System.out.println(“75 (fixed)”) results.add(75, “fixed”) end 当我运行包含此代码的代码时,我收到以下错误: org.drools.runtime.rule.ConsequenceException: rule: always at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39) … Caused by: [Error: […]

Apache FileUtils.isSymlink和Java7的Files.isSymbolicLink()之间是否存在已知的差异?

在我的Windows 7 64位机器上进行调试时,我注意到有一个符号链接文件夹, FileUtils.isSymlink()返回false。 Java7的Files.isSymbolicLink()可以正常工作。 这知道吗? 我应该报告错误吗?

UDP通过Internet。 它是如何工作的?

当我正在编程网络聊天(java,但不应该对问题产生影响),并且想要使用UDP时,我遇到了它无法通过互联网工作的问题。 经过一番研究后,我发现你必须为激活的特定端口进行端口转发。 所以现在谈到我的问题: UDP是否以不可配置的方式在Internet上工作? 例如,如果我要编写整个网络游戏,那么使用UDP是否有意义? 或者我是否要求播放器激活Portforwarding并打开端口等? 什么时候使用UDP呢? 为什么? 我实际上并不理解UDP的全部要点。 对于我的编程观点,我希望有一种方法可以直观地使用它。 与创建DatagramSocket和DatagramPacket ,使用数据和目标配置数据包并通过Internet将其发送出去。 至于我的用户我不希望他们必须配置任何特定的东西,比如打开他们想要使用的确切端口等等。我只是希望他们使用程序(服务器和客户端),它应该工作。

布尔查询/表达式到Concrete语法树

我正在创建一个允许布尔表达式的搜索表单,例如:“foo AND bar”或“foo AND NOT bar”。 是否有PHP,Ruby或Java库可以将布尔表达式转换为具体的语法树? (我可以编写自己的词法分析器/解析器,但我宁愿使用经过试验和测试的东西) 编辑:澄清一下,我不解析心律失常的表达。 它将用于解析允许布尔运算符的全文查询。