可能重复: 如何检查互联网连接是否存在于Java? 我想看看是否有人在使用Java时有一个简单的方法来检测是否有互联网连接。 目前的应用程序使用WinInit DLL中的“InternetGetConnectedState”方法的窗口,但我的应用程序需要跨平台的Mac操作,这种方式将无法正常工作。 我根本不知道JNI要么在Java中使用DLL,而且它变得令人沮丧。 只有我能想到的方式是打开一个网站的URL连接,如果失败,返回false。 我的另一种方式是在下面,但我不知道这是否一般稳定。 如果我拔掉网线,当尝试创buildInetAddress时,会出现UnknownHostException。 否则,如果电缆连接,我得到一个有效的InetAddress对象。 我没有在Mac上testing下面的代码。 感谢您提供的任何示例或build议。 更新:最终的代码块在底部。 我决定采取HTTP请求(在这种情况下谷歌)的build议。 它很简单,并向网站发送请求返回数据。 如果我无法从连接中获得任何内容,则不存在互联网。 public static boolean isInternetReachable() { try { InetAddress address = InetAddress.getByName("java.sun.com"); if(address == null) { return false; } } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } catch (IOException e) { // TODO Auto-generated […]
目前我正在研究一个Java应用程序,并努力优化其内存使用。 据我所知,我遵循正确垃圾收集的指导方针。 然而,似乎我的堆似乎坐在最大的大小,即使它不需要。 当计算机没有被某人使用时,我的程序每小时运行一次资源密集型任务。 这个任务使用了一大块内存,但是在任务完成后立即释放。 NetBeans分析器显示内存使用情况如下所示: 我真的希望在不使用的时候把所有的堆空间放回操作系统。 我没有任何理由要这么做,而这个计划甚至不会在一个小时内做任何事情。 这可能吗? 谢谢。
我有两个实体: Parent { Child[] children; } and Child { Parent parent; } 我知道@JsonBackReference和@JsonManagedReference 。 它们是好的,如果我正在序列化Parent实例。 但是我也需要传输Child实例,我希望填充parent字段。 换一种说法: 在Parent序列化中,它应该有children但是他们的父领域可能是空的(可以通过使用json引用注释来解决)。 在Child序列化中, parent应该有children (但是children不必有parent 。 有没有办法使用标准的jacksonfunction解决它? 即跳过已序列化的实体的序列化,而不是标记符合或不符合序列化条件的字段。
一个LINQ for java会成为一个有用的工具吗? 我一直在研究一个允许Java对象映射到数据库中的一行的工具。 这会对Java程序员有用吗? 什么function将是有用的?
当我单击JFrame标题栏上的红色closuresbutton时,是否有某种方式“做某些事情”? 我想要做的就是当单击button时调用一个名为confirmExit()的方法。 到目前为止,我唯一的select是让它无所作为,但我不想要这样做。 我如何做到这一点? 提前致谢。
我如何testing一个string,看它是否包含数组中的任何string? 而不是使用 if (string.contains(item1) || string.contains(item2) || string.contains(item3))
我有一个JFrame ,在标题栏(左上angular)显示一个Java图标。 我想将该图标更改为我的自定义图标。 我应该怎么做?
我正在使用Android的SQLite,我想知道最好的方式来获取我插入的行的生成的ID。 一个解决scheme,我觉得包括之后进行search,但它不是最好的方式。
我正在执行简单的spring的dependency injection程序和得到这个exception。 我已经包含common-logging1.1.1.jar和spring.jar文件。 你能帮忙吗? Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:119) at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:55) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:56) at com.client.StoryReader.main(StoryReader.java:15) Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) … 6 more
当我在tomcat中重新部署应用程序时,出现以下问题: The web application [] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@10d16b]) and a value of type [com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty] (value [com.sun.xml.bind.v2.runtime.property.SingleElementLeafProperty@1a183d2]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak. 另外,我在我的应用程序中使用ehcache。 这也似乎导致以下例外。 SEVERE: The web application [] created a ThreadLocal with key […]