问题内容: 我经常听到对Swing库中缺乏线程安全性的批评。但是,我不确定自己将在自己的代码中执行的操作会导致问题: 在什么情况下,Swing不是线程安全的事实起作用? 我应该积极避免做什么? 问题答案: 切勿执行长时间运行的任务以响应按钮,事件等,因为这些事件在事件线程上。如果您阻止事件线程,则整个GUI将完全无响应,从而使用户感到非常生气。这就是为什么Swing看起来缓慢又硬朗。 使用线程,执
问题内容: 我一直在尝试建立一个简单的logback项目,以按日期和文件大小滚动日志文件,到目前为止,我还无法使我的附加程序滚动到另一个文件。而是将其写入 标记指定的日志。 这是我的logback.xml配置文件: 乍看起来,它应该可以工作,对吗?我做错什么了吗?我的整个可构建项目都可以在此处的zip中找到:http://www.mediafire.com/file/2bxokkdyz2i/log
问题内容: 我创建了一个应用程序,该应用程序从我的Web服务加载了一个问题,并且运行正常。但是,有时会崩溃,而我不知道为什么会发生这种情况,尤其是因为我还给了它所需的权限。它工作正常,但随机崩溃,并给了我这份报告。 问题答案: 我也遇到了这个问题,重新连接WiFi可以解决此问题。 对于我们来说,我们可以在启动应用程序时检查电话是否可以将主机解析为IP。如果无法解决,请告诉用户检查WiFi,然后退出
问题内容: 我有一个读取系统属性的Java程序 我有一个Gradle构建文件 要么 但是 System.getProperty 将始终返回 null 。 我发现的唯一方法是通过以下方式将其添加到我的Gradle构建文件中 我如何通过-D做到这一点 问题答案: -P标志用于gradle属性,-D标志用于JVM属性。因为测试可能是在新的JVM中派生的,所以传递给gradle的-D参数不会传播到测试中-
问题内容: 说我有自己的课程 它具有一些属性和方法。它不实现等于,不实现hashCode。 一旦我们调用equals和hashCode,默认的实现是什么?从对象类?那是什么 默认值等于如何工作?默认的hashCode将如何工作,返回什么?==只会检查它们是否引用同一个对象,因此很容易,但是equals()和hashCode()方法呢? 问题答案: 是的,默认实现是Object的实现(通常来说;如果
问题内容: 我正在生成CSV文件(用逗号而不是制表符分隔)。我的用户很可能会通过双击在Excel中打开CSV文件。我的数据可能包含逗号和语音标记,因此我将其转义如下。 据我所知,这一直是这样做的方法。这是我的困惑:当我在Excel 2010中打开此文件时,我的转义未得到遵守。工作表上会出现语音标记,并且逗号引起新的列。 问题答案: 我们最终找到了答案。 如果列值前面没有空格,则Excel仅考虑逗号
问题内容: 我遇到了使用方法引用而不是lambda发生的问题。该代码如下: 或者,用lambda 从语义上讲,它是严格相同的,但实际上与第一种情况不同,我在一个Java序列化类中遇到了一个异常。我的问题不是关于此异常的问题,因为实际的代码正在更复杂的上下文中运行,事实证明该序列化具有奇怪的行为,因此如果我提供更多详细信息,这将使回答变得非常困难。 我想了解的是这两种创建lambda表达式的方式之间
问题内容: 我试图建立一个HashMap,它将具有整数作为键和对象作为值。 我的语法是: 但是,返回的错误是-令牌“ int”的语法错误,此令牌后应包含尺寸-我不明白为什么应该添加尺寸(即:将int制成数组),因为我只需要存储一个数字作为关键。 我能做什么? 提前致谢!:) 问题答案: 您不能使用基元,因为HashMap在内部将对象用作键。因此,您只能使用从Object继承的对象(即任何对象)。
问题内容: 我希望正则表达式仅对字母和空格进行验证。基本上,这是为了验证全名。例如: Steve Collins先生或Steve Collins先生, 我尝试过此正则表达式。“ [a-zA-Z] + \。?” 但没有工作。有人可以帮我吗,请注意我使用Java。 问题答案: 关于什么: 彼得·米勒 弗朗索瓦·奥朗德 帕特里克·奥布莱恩 西尔瓦娜·科赫·梅林 验证名称是一个难题,因为有效名称不仅包含字
问题内容: 假设我们有一个类名Home。是什么区别 Home.this 和 Home.class ?他们指的是什么? 问题答案: 这个 引用该类的当前实例。 此表达式的正式术语似乎是qualified this,如Java语言规范的15.8.4节所引用。 在一个简单的类中,说和将等效。此表达式仅在存在内部类且需要引用封闭类的情况下使用。 例如: 家庭类 将类的表示形式作为对象返回。 此表达式的正式
问题内容: 我对这两个词感到非常困惑。我检查了stackoverflow,对于C ++有一个类似的问题,但对于Java没有。 有人可以解释一下Java的两个术语之间的区别吗? 问题答案: 概念上的区别很简单: 声明 :您 声明的 是某些东西,例如类,函数或变量。你不说任何事情 什么 是类或函数的样子,你刚才说,它的存在。 定义 :您 定义 某种事物的实现方式,例如类,函数或变量,即您说的 是 实际
问题内容: 和之间的技术区别到底是什么?我知道这会写入标准输出,但这与控制台不同吗? 我不完全理解的文档进行。 问题答案: 以下是使用/ / 和之间的主要区别: 如果您的应用程序未在终端中运行,则返回null(尽管您可以在应用程序中处理此问题) 提供读取密码而不回显字符的方法 并使用默认平台编码,而类输出方法使用控制台编码 后一种行为可能不会立即显而易见,但是像这样的代码可以证明区别: 在我的Wi
问题内容: 我一直在努力用Spring-Security 正确实现Stomp(websocket) 身份验证 和 授权 。 为了后代,我将回答我自己的问题以提供指导。 问题 Spring WebSocket文档(用于身份验证)看起来不清楚ATM(IMHO)。而且我不明白如何正确处理 身份验证 和 授权 。 我想要的是 使用登录名/密码对用户进行身份验证。 防止匿名用户通过WebSocket连接。
问题内容: 我想检查实体是否在另一个实体的Collection成员中(或): 问题答案: 不必要。共有三个选项: 不要覆盖-因此您将使用实例。当您使用仅附加到会话的实体(因此保证是同一实例)的集合时,这很好。在许多情况下,这(对我而言)是首选方式,因为在覆盖时它需要较少的代码和较少的考虑 覆盖并带有业务密钥。那可能是识别实体的属性的子集。例如,对于一个好的企业密钥,可能是或。这被认为是好的做法。
问题内容: 使用Mockito间谍的用例是什么? 在我看来,每个间谍用例都可以使用callRealMethod进行模拟处理。 我可以看到的一个区别是,如果您希望大多数方法调用都是真实的,则可以节省一些代码行以使用模拟与间谍。是这样还是我错过了更大的前景? 问题答案: 答案在文档中: 真正的部分模拟(自1.8.0开始) 最后,在邮件列表上进行了许多内部辩论和讨论之后,Mockito添加了部分模拟支持