问题内容: 在采访中问。如果指定最大堆大小(Xmx)大于可用RAM,会发生什么情况?我还想知道,如果指定最小堆大小(Xms)大于可用RAM,会发生什么情况? 问题答案: 找出答案的最简单方法是尝试并查看。 编辑: 实际上至少有两个答案。如前所述,可能是在64位系统上,您的应用程序的内存使用量可能会越来越大,并且开始崩溃。在32位系统上,情况有所不同,因为os无法为您提供那么多的堆空间。例如,如果我
问题内容: 在下面的Java示例中,谁能确切解释为什么程序输出为“ Orange”?(这是一个面试问题) 问题答案: 变量Y掩盖了类型Y。请参见JLS: 6.4.2。遮盖 简单名称可能出现在可能被解释为变量,类型或包的名称的上下文中。在这些情况下,第6.5节的规则指定将优先于类型选择变量,并优先于包选择类型。因此,有时可能无法通过其简单名称引用可见类型或程序包声明。我们说这样的声明是模糊的。 合格
问题内容: 有没有可用的工具来跟踪Java线程的创建和生存期?我将对以下所有内容感兴趣: 调用new Thread()的调用堆栈 调用了start()的调用栈 run()方法的生命周期 问题答案: 我已经编写并发布了一个开源工具来回答这个问题。 Java Live线程分析器 我在这里博客介绍了该工具。
问题内容: 我有一个带有“逻辑”类的包(例如CheckAuthenticationDataLogic.java,GetVocabulariesLogic.java)。还有另一个类- ApiService.java用于生成wsdl。ApiService.java充满了这样的方法: 如您所见,它只是一个代理方法…所以我想避免做两次相同的工作,而无需编写ApiService.java就直接从逻辑类生成W
问题内容: JVM崩溃中的日志文件包含各种有用的调试信息,例如加载的共享库和完整的环境。我可以强制JVM以编程方式生成其中之一吗?通过执行使它崩溃的代码还是其他方式?或者以另一种方式访问相同的信息? 问题答案: 您可以尝试抛出OutOfMemoryError并添加-XX:+ HeapDumpOnOutOfMemoryError jvm参数。从1.6开始,这是新功能,而McDowell建议使用其
问题内容: 如何生成不猜测下一个数字的java中的整数的唯一ID? 问题答案: 它需要有多独特? 如果它仅在流程中唯一,则可以在每次需要新值时使用和调用。
问题内容: 我有这段代码: 如您所见,我仅在columnRendered为true时才渲染该outputPanel。 好吧,在某些情况下(仅用于测试以批准其应做的事情): 为true,因此应在c:if中输入,并将columnRendered切换为false。但是事实并非如此,因此columnRendered永远是正确的… 你知道为什么吗? 问题答案: JSF和JSTL不会像您期望的那样同步运行。J
问题内容: 用于处理敏感数据(==密码)的通用Java安全准则建议不要使用String对象存储数据,而应使用字节或字符数组。我正在尝试在HttpServlet处理程序中应用此准则。特别是,我使用的是类似于基本身份验证的方法,其中凭据在标头中传递(这是GET请求,因此没有正文)。 我遇到的问题是,在不生成String对象的情况下似乎无法获取标头数据,这违反了一开始的准则。我已经彻底搜索了解决方案,但
问题内容: 我只是在下面运行了脚本,它会提取JDK并将其解压缩到正确的位置。问题是每个命令(复制到 / urs / bin )都会出错。然后,我通过(进入我现在在JDK / bin中)进入JDK安装目录进行仔细检查,然后键入:和get:,但是在那里!在JDK上显示所有客户端都在 bin中 。 跑步给我: 还运行了:输出为: 问题答案: 您正在没有32位运行时环境的64位系统上运行。 假设ubunt
问题内容: 当我将Mongodb与Java结合使用时,我想在客户端生成对象ID。但是,在插入记录之前,我必须先查询mongodb以确保由ObjectId()方法生成的ID是唯一的。有什么方法可以生成唯一的对象ID,而无需两次访问mongodb? 问题答案: 对象ID与您在RDMS中使用的顺序ID不同。如果它们是根据对象ID规范正确生成的,则无需担心它们是唯一的。 您要做的就是确保始终创建一个新的对
问题内容: 在 Android平台上从InputStream读取时,我遇到一个奇怪的问题。我不确定这是否是Android特有的问题,或者 总体上我做错了什么。 唯一特定于Android的是此调用: 这会从Android资产返回文件的InputStream。无论如何, 这是我遇到的问题: 当read()执行时,它抛出IOException。奇怪的是, 如果我进行了两个连续的单字节读取(或任意数量的单
问题内容: 我在组件上有一个Java MouseListener来检测鼠标的按下。我如何 知道鼠标按下发生在哪个监视器上? 我想要达到的效果是:当用户在 我的应用程序中按下鼠标按钮时,弹出窗口会显示一些信息,直到释放鼠标为止。我想 确保此窗口位于用户单击的位置,但是我需要调整 窗口在当前屏幕上的位置,以便整个窗口 可见。 问题答案: 您可以从获取显示信息。您可以使用它来获取有关本地系统的信息。包括
问题内容: 最近,我按照这篇文章的建议删除了项目中的所有scriptlet 。但是现在,如果我尝试更改其中一个视图,则会收到deferredExpression错误。为了摆脱错误,我只需要终止,然后重新启动项目即可。 这里发生了什么?eclipse是否无法即时编译jstl?有什么我可以更改的,所以我不必每次进行更改都重新部署吗? 堆栈跟踪 问题答案: java.lang.NoSuchFieldEr
问题内容: 假设我们有一个字母“ abcdefghiklimnop”。如何以有效的方式递归地生成排列在FIVE组中的此字母重复的排列? 我几天来一直在为此苦苦挣扎。任何反馈将有所帮助。 本质上,这与以下操作相同:生成给定字符串的所有排列 但是,我只希望整个字符串的长度为5。我还无法弄清楚这一点。 因此,对于“ abcdefghiklimnop”的所有长度为5的所有子串,请查找子串的排列。例如,如果
问题内容: 我正在构建一个插入命令以使用jdbc执行。它的一部分是连接用户生成的字符串…这一切都将起作用,直到用户使用这样的字符串为止: A B C D 问题答案: 您可以执行以下任一操作: 使用 PreparedStatement 类。( 推荐 ) 转义单引号。 在SQL中,单引号将通过使用双单引号进行转义。->