条件OR运算符的短路行为(||)

两个条件运算符&&和|| 按照短路进行短路 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html ,这意味着有时不需要评估第二个操作数。 有人可以提供一个示例,其中条件OR(||)运算符将被短路? 使用条件AND(&&)运算符时,短路行为非常简单: 如果(false &&(1> 0))则第二个操作数:(1> 0)不需要被评估,但似乎无法找到/想到条件OR的示例。

从父类ctor调用重写方法

我尝试从父类的构造函数中调用重写方法,并注意到跨语言的不同行为。 C++ – 回声A.foo() class A{ public: A(){foo();} virtual void foo(){cout<<"A.foo()";} }; class B : public A{ public: B(){} void foo(){cout<<"B.foo()";} }; int main(){ B *b = new B(); } Java – 回声B.foo() class A{ public A(){foo();} public void foo(){System.out.println(“A.foo()”);} } class B extends A{ public void foo(){System.out.println(“B.foo()”);} } class Demo{ public static void main(String […]

用于从运行JVM收集统计信息的API

对于一个类项目,我想实现一个连接到本地JVM的Java应用程序,并收集堆使用情况,线程数,加载的类等统计信息。我在网上搜索了一个API,内置的第三方,这将允许我这样做,但到目前为止我没有成功。 有没有人知道一个API,它允许我连接到正在运行的JVM并收集统计信息?

将整数转换为零填充二进制字符串

当将int转换为二进制时,如何将其输出为8个字符,目前它只显示1和短7个零 码 int x = 1; String bin = Integer.toBinaryString(x); System.Out.Println(bin); 示例输出到0000 0001

是否可以注册在Java applet完全加载时触发的javascript事件?

我有一个Web应用程序,它使用在标记中定义的java applet。 是否可以添加applet完全加载后触发的javascript事件? 这是一些初始化javascript,它依赖于applet完全加载和有效。

从Java中的非常大的图像文件中读取区域

是否有一个Java库可以读取非常大的图像(例如JPEG)文件(> 10,000 x 10,000像素)的区域,而不会将整个图像保留在内存中。 或者,哪个Java库能够以最小的开销处理非常大的图像文件。

如何使用Eclipse检查调试符号状态?

在讨论我问的另一个问题时 ,@ Aaron Digulla指出了以下问题: 如果安装了Java SDK,则Java安装的根目录中应该有一个“src.zip”文件。 如果它丢失了,请再次下载Java。 当您打开JTable类型时(或者当您单击堆栈跟踪中的行时),Eclipse应该自动找到源并显示给您。 文件src.zip对我来说,但我仍然无法访问JTable的来源,如@Aaron所说。 可能是什么问题呢? 我怎样才能用Eclipse解决这个问题? 不过,“未知来源”让我很担心。 这意味着您的Java版本没有调试符号。 确保你a)在开发时使用SDK,b)你的SDK包含调试符号,c)不要告诉命令java在加载类时剥离调试符号。 a)我正在使用Eclipse,为什么我不应该使用SDK? b)我如何知道我的SDK是否包含调试符号? 如果没有,我该如何添加它们? c)如何检查Eclipse是否告诉java剥离调试符号? 抱歉这些平庸的问题,但我觉得我不完全理解Java开发过程。

处理连接错误和JSoup

我正在尝试创建一个应用程序来从网站上的多个页面中删除内容。 我正在使用JSoup进行连接。 这是我的代码: for (String locale : langList){ sitemapPath = sitemapDomain+”/”+locale+”/”+sitemapName; try { Document doc = Jsoup.connect(sitemapPath) .userAgent(“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21”) .timeout(10000) .get(); Elements element = doc.select(“loc”); for (Element urls : element) { System.out.println(urls.text()); } } catch (IOException e) { System.out.println(e); } } 一切都在大部分时间都很完美。 但是我想要做一些事情。 首先,有时404状态将返回或500状态可能是301.使用下面的代码,它将只打印错误并移动到下一个URL。 我希望能够做的是尝试返回所有链接的url状态。 如果页面连接打印200,如果不打印相关的状态代码。 其次我有时会抓住这个错误“java.net.SocketTimeoutException:read […]

关于在JAVA中将子类强制转换为超类

public class Car { String color; public void thisIs(){ System.out.println(“Calling method from Car: the color is ” + color); } public String getColor() { return color; } public void setColor(String color) { this.color = color; } } public class BMW extends Car { public void thisIs(){ System.out.println(“Calling method from BMW: the color is ” + […]

使用由Tomcat创建的另一个应用程序创建的JNDI数据源

我的应用程序中有一个包含dataSource属性的.properties文件。 我使用以下代码设置了对此dataSource的JNDI引用: // first I create MyDataSource from the properties found in the .properties file //then : Context initContext = new InitialContext(); initContext.createSubcontext(“jdbc”); initContext.createSubcontext(“jdbc/oracle”); initContext.rebind(jdbc/oracle/myDataSource, MyDataSource); 如果我在此应用程序中使用查找,则会找到dataSource: Context initContext = new InitialContext(); BasicDataSource dataSource = (BasicDataSource) initContext.lookup(“jdbc/oracle/myDataSource”) //everything works fine and I can use my dataSource to getConnection, //requests, etc… 现在我想在另一个应用程序中使用此dataSource。 但是,如果我执行与之前相同的查找,我找不到myDataSource(而在tomcat中仍然存在先前的应用程序,并且在启动时通过侦听器完成jndi绑定)。 我如何在第二个应用程序中获取myDataSource,因为我不能在server.xml或context.xml文件中使用Tomcat的资源(出于不同的原因,我必须使用这个.properties文件)? 谢谢