Tag: java

为什么不鼓励Java EE容器中的产卵线程?

我从Java EE开发中学到的第一件事就是我不应该在Java EE容器中产生自己的线程。 但是当我思考的时候,我不知道原因。 你能清楚地解释为什么不鼓励? 我相信大多数企业应用程序需要某种asynchronous作业,如邮件守护进程,空闲会话,清理作业等。 所以,如果确实不应该产生线程,那么在需要时做什么是正确的方法呢?

最后的和有效的最终的区别

我在Java 8中玩lambdaexpression式,并且遇到了local variables referenced from a lambda expression must be final or effectively final警告。 我知道当我在匿名类中使用variables的时候,他们在外部类中必须是最终的,但是仍然是 – 最后的和有效的最终的区别是什么?

在Java中向下转换

在Java中允许向上转换,但向下转换会产生编译错误。 编译错误可以通过添加一个强制转换来解决,但是反正在运行时会中断。 在这种情况下,为什么Java在运行时无法执行时允许向下转换? 这个概念有没有实际用途? public class demo { public static void main(String a[]) { B b = (B) new A(); // compiles with the cast, // but runtime exception – java.lang.ClassCastException } } class A { public void draw() { System.out.println("1"); } public void draw1() { System.out.println("2"); } } class B extends A { public […]

Windows 7上的Android Studio安装失败,找不到JDK

我下载了Android Studio并尝试启动该程序。 这是运行在Java 1.7的Windows 7 64位。 在安装过程中,我的Java 1.7被检测到了,安装的其余部分进行得很好。 但是,当试图从桌面图标启动应用程序时,没有任何反应。 查看任务pipe理器,加载来自CMD的新进程。 这是因为它试图运行batch filestudio.bat 。 当我通过CMD执行时,出现以下错误: 错误:无法启动Android Studio。 找不到JDK。 请validationANDROID_STUDIO_JDK或JDK_HOME或JAVA_HOME指向有效的JDK安装。 ECHOclosures。 按任意键继续 。 。 。 我试图打开idea属性文件,看看有什么我可以configuration这个ANDROID_STUDIO_JDK或类似的东西。 但是,我什么都没发现。 我希望你们中的一些人能够让我知道你是否能够安装这个软件,或者你是否也有问题。

如何国际化Java Web应用程序?

我从Google那里了解到,国际化是我可以使我的Web应用程序使用所有语言的过程。 我想了解Unicode的国际化进程,所以我从各处学习了Unicode。 我能够了解Unicode如何将字符集编码为字节,再将字节解码为字符集。 但是我不知道如何继续前进。 我想学习如何比较string,我需要知道如何在我的web应用程序中实现国际化。 有什么build议吗? 请指导我 我的目标: 我的主要目标是开发一个用于翻译的Web应用程序(英语到阿拉伯语,反之亦然)。 我想遵循国际化。 我希望在所有三种浏览器(FF,Chrome,IE)中运行我的Web应用程序进行翻译。 我如何做到这一点?

Java中的静态块

我有一天看了一些代码,我碰到: static { … } 来自C ++,我不知道为什么在那里。 它不是一个错误,因为代码编译得很好。 什么是这个“静态”代码块?

Java中一个对象的内存消耗是多less?

100个属性与100个对象相同的一个对象所占用的内存空间是多less? 多less内存分配给一个对象? 添加属性时使用了多less额外空间?

如何超时一个线程

我想运行一个线程一段固定的时间。 如果在这段时间内没有完成,我想要杀死它,抛出一些exception,或以某种方式处理它。 怎么办? 我从这个线程得出的一种方法是在Thread的run()方法中使用TimerTask。 有没有更好的解决scheme呢? 编辑:添加一个赏金,因为我需要一个更清晰的答案。 下面给出的ExecutorService代码不能解决我的问题。 为什么我应该睡觉()执行后(一些代码 – 我没有处理这段代码)? 如果代码完成并且sleep()被中断,怎么可能是一个超时? 需要执行的任务不在我的控制之下。 它可以是任何一段代码。 问题是这段代码可能会遇到无限循环。 我不希望这样的事情发生。 所以,我只想在一个单独的线程中运行这个任务。 父线程必须等到该线程完成并需要知道任务的状态(即是否超时或发生了某种exception或者是否成功)。 如果任务进入一个无限循环,我的父线程会一直等待,这不是一个理想的情况。

无法执行jar文件:“无主清单属性”

我已经安装了一个应用程序,当我尝试运行它(这是一个可执行的jar)没有任何反应。 当我从命令行运行它: java -jar“app.jar” 我收到以下消息: 没有主要的清单属性,在“app.jar” 通常,如果我自己创build了这个程序,我会在清单文件中添加一个主类属性。 但在这种情况下,由于该文件来自一个应用程序,我不能这样做。 我也尝试提取jar来看看我能不能find主类,但是有很多类,没有一个在名字中有“main”这个词。 必须有办法解决这个问题,因为程序在其他系统上运行良好。

为防止内存泄漏,JDBC驱动程序已被强制注销

当我运行我的Web应用程序时,我收到了这条消息。 它运行良好,但在关机期间收到此消息。 SEVERE:Web应用程序注册了JBDC驱动程序[oracle.jdbc.driver.OracleDriver],但在Web应用程序停止时未能取消注册。 为防止内存泄漏,JDBC驱动程序已被强制注销。 任何帮助赞赏。