以正确的顺序从Web服务中迭代Json数据

我有来自Web服务的响应,数据是JSON格式。 JSONObject event:- { “15:00”:{“type”:1,”status”:null,”appointment_id”:null}, “16:00”:{“type”:1,”status”:null,”appointment_id”:null}, “17:00”:{“type”:1,”status”:null,”appointment_id”:null}, “18:00”:{“type”:1,”status”:”1″,”appointment_id”:5} } 我不知道关键值,它们是随机的。 因此,当我使用迭代器通过获取keys和hasNext()来迭代数据时。 它返回数据但改变了即将到来的数据的顺序。 Iterator AppoinmentIter = event.keys(); while(AppoinmentIter.hasNext()){ String appointmentTime = (String)AppoinmentIter.next(); JSONObject appointmentDetails = event.getJSONObject(appointmentTime); } 我想要数据的确切顺序。 我查了这个链接 ,建议使用LinkedHashMap 。 但是在这里他们通过键插入值。 我不知道我的数据中的密钥。 那么我怎么能以正确的顺序迭代数据。 请帮忙..

我可以在Java中更改jpg图像的分辨率吗?

我有一些.jpg,我正在面板中显示。 不幸的是,它们都是1500×1125像素,这对我想要的东西来说太大了。 有没有一种程序化的方法来改变这些.jpg的分辨率?

用于n个字符串的最长公共子字符串的Java实现

我需要找到n个字符串中最长的公共子字符串,并在我的项目中使用结果。 java中是否有现有的实现/库已经这样做了? 感谢您提前回复。

Maven无法使用rt.jar进行编译

我的项目使用sun.security.tools.keytool在JDK 1.8下生成证书,这个包可以在rt.jar找到。 根据依赖机制简介,系统依赖 ,我可以添加rt.jar作为我的项目的依赖: sun.jdk rt.jar 1.8 system ${java.home}/lib/rt.jar 我很确定Maven发现了这个jar文件。 但是,当我导入sun.security.tools.keytool.Main ,它仍然会生成错误。 而且,最奇怪的是如果我将rt.jar复制到某个地方并在pom.xml填充它的路径,它就可以了! 一旦我切换回使用原始的rt.jar ,它就会失败! 谁能告诉我这怎么可能发生?

如何使用Java有效地读取Hadoop(HDFS)文件中的第一行?

我的Hadoop集群上有一个大的CSV文件。 该文件的第一行是“标题”行,由字段名称组成。 我想对这个标题行进行操作,但我不想处理整个文件。 另外,我的程序是用Java编写的,并使用Spark。 在Hadoop集群上只读取大型CSV文件的第一行的有效方法是什么?

如何跨服务器部署和管理Java程序?

我写了一些已在几台服务器上运行的java服务器端处理应用程序,但将扩展到20台服务器。 现在我只是使用ant脚本通过rsync将我的jar部署到服务器,然后使用screen启动作业。 这需要我在每次部署新代码时ssh并重新启动作业,一旦我转到20台服务器,这将变得无法管理。 我是java的新手,有没有一种标准的服务器部署方式以及之后重新启动的工作? 理想情况下,我正在寻找一个免费且简单的解决方案。 谢谢

垃圾收集器与集合

我已经阅读了几篇关于Java中垃圾收集的post,但我还是无法决定是否明确地清除一个集合被认为是一种好的做法……而且由于我找不到明确的答案,我决定在这里问一下。 考虑这个例子: List list = new LinkedList(); // here we use the list, perhaps adding hundreds of items in it… // …and now the work is done, the list is not needed anymore list.clear(); list = null; 从我在例如LinkedList或HashSet实现中看到的, clear()方法基本上只循环给定集合中的所有项,将其所有元素(在LinkedList情况下也引用next和previous元素)设置为null 如果我做对了,将list设置为null只是从list删除一个引用 – 考虑到它是唯一的引用,垃圾收集器最终会处理它。 我只是不知道在这种情况下,在垃圾收集器处理列表的元素之前还需要多长时间。 所以我的问题是 – 上面列出的示例代码的最后两行实际上是否有助于垃圾收集器更有效地工作(即更早地收集列表的元素)或者我只是让我的应用程序忙于“无关的任务”?

在java 9中处理PrintGCApplicationStoppedTime标志

我的应用程序使用gc标志“PrintGCApplicationStoppedTime”,但是当我使用Java 9运行它时,它失败并出现以下错误: Unrecognized VM option ‘PrintGCApplicationStoppedTime’ Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. 这篇文章表明该选项已被弃用,但是他的旗帜打印的信息是否有其他选择,或者此信息不再可用?

Java访问本地变量名称

我正在编写一个程序,我想在程序执行期间访问局部变量的变量名,并在外部传递它们。 我知道Java会在编译期间转储本地变量名,除非在调试模式下编译。 看了一下之后,似乎JDI / JPDA就是这种工作的方式。 假设ref引用了ThreadReference ,以下是我到目前为止的内容: ref.suspend(); StackFrame currentFrame = ref.frame(0); List vars = currentFrame.visibleVariables(); ref.resume(); 两个问题: 我是在正确的轨道上,还是有更好的方法来做到这一点? 如何获取ThreadReference以设置为ref ? LocatableEvent似乎是我需要的,但任何人都可以提供一个如何使用它的例子吗? 提前谢谢了!

如何在multithreading操作中使用HttpAsyncClient?

与此问题密切相关: 如何在multithreading操作中使用HttpClient? ,我想知道apache HttpAsyncClient是否是线程安全的,或者它是否也需要使用MultiThreadedHttpConnectionManager或ThreadSafeClientConnManager。 如果它确实需要这样的连接管理器,那么异步库中是否存在一个连接管理器? 我能够在异步库中找到PoolingClientAsyncConnectionManager,但我不确定这是否是我需要的。 或者,我正在考虑使用ThreadLocal为每个线程创建一个HttpAsyncClient对象。 请注意,与我前面提到的问题不同,我需要状态在会话中独立 ,即使多个会话到达同一个域。 如果在会话1中设置了cookie,则会话2中的cookie 不可见。出于这个原因,我还考虑为每个请求创建一个全新的HttpAsyncClient对象,尽管我觉得应该有更好的方法。 谢谢。