我希望将使用java.util.UUID创建的UUID存储在HSQLDB数据库中.
显而易见的选择是简单地将它们存储为字符串(在代码中它们可能只是被视为这样),即varchar(36).
考虑到数据库大小和查询速度等问题,我应该考虑哪些其他选项(由于涉及的数据量很大,这两个问题都不是很重要,但我想至少考虑它们)
我第一次使用Swing来创建一个简单的GUI.它包含一个JFrame我放置了一个单独的JButton,当点击它时,调用一些其他代码,大约需要.3秒钟返回.
就在调用此代码之前actionPerformed(),我想更新按钮上的文本以通知用户正在进行处理.我的问题是,直到3秒钟的呼叫返回后,按钮上的文字才会更新.我希望在通话过程中出现更新的文本,然后我会将其更改回来.
当我点击按钮时,调用repaint()on JButton不会执行任何操作并在JFrame结果中调用它Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException.
假设我有一个带有单个导出方法的C++ DLL,例如:
CustomerProcessor* getInstance();
Run Code Online (Sandbox Code Playgroud)
即它只返回实际包含我需要调用的方法的类的实例.
我知道我可以使用JNA(扩展com.sun.jna.Library)将getInstance()方法映射到Java中的Class,将返回的CustomerProcessor实例存储在com.sun.jna.Pointer中.
然后,我可以以某种方式将此映射到CustomerProcessor类,以便我可以调用它的方法(如果是这样,如何)?
我刚才发布了这个问题,关于在Linux上存储非用户特定应用程序数据的位置.
如您所见,我打算在Mac上使用"/ Library/Application Support",在Linux上使用"/ var/lib"或"/ usr/share".
在现有应用程序(目前仅限Windows)上,我们在Vista和Windows 7上使用"\ ProgramData",在Windows XP上使用"\ Documents and Settings\All Users"(均使用System.getenv("ALLUSERSPROFILE")获取,这不起作用)在Mac或Linux上).
我在Mac和Linux位置找到的问题(与Windows不同)是非root用户/管理员用户无法访问它们,这有点违背了使用它们的目的.
这种情况的最佳做法是什么?我们可以简单地将应用程序数据存储在用户的主目录中.我实际上并不会反对这一点,因为当新用户尝试使用它时,应用程序看起来完全是"新的"似乎是合理的.这给我们带来的主要问题是每个用户都必须输入序列号才能激活应用程序(激活信息是我们需要存储的'应用程序数据'的一部分).这不是很理想.
也就是说,如果没有真正的替代方案,那么我认为它必须这样做.
我有一个MySQL表来保存标签(就像Stack Overflow上使用的那样).它只有一个id(pk)和一个标记列来保存标记本身.
我的Tag实体的带注释的get方法如下所示.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, nullable = false)
public int getId() {
return this.id;
}
@Column(name = "tag", unique = true, nullable = false)
public String getTag() {
return this.tag;
}
Run Code Online (Sandbox Code Playgroud)
我在标记上使用了唯一的列约束,因为给定标记永远不应该有多行.但是,Hibernate似乎忽略了这一点,即我可以多次保存完全相同的标记,它只是创建一个新行而不是抛出异常.
我错过了什么或者这应该有效吗?
我需要显示声音文件的图形 - 即由Audacity等音频编辑器显示的波形.
我该怎么办呢?Java Sound API中有什么可以帮助我吗?
我正在开发一个新的Java桌面应用程序,并希望包含一个崩溃报告工具 - 你知道那种东西 - 程序崩溃,弹出框要求用户点击好发送它等等.
我很清楚如何将错误发送回我们的服务器 - 可能是通过一个简单的Web服务.我更不确定的是如何实现捕获故障的机制?我会欢迎任何已经实施过类似建议的人的建议.
我想在Java桌面应用程序中实现"发送反馈"选项.一个会弹出一个框供用户输入评论,然后将其与应用程序窗口的屏幕截图一起发送给我们.
如何将数据传达给我们的最佳方式是什么?我想到两个明显的解决方案:
哪一种最好,还是有更好的选择?
我的Java桌面应用程序包括用于与Web服务通信的组件.
因此,我们需要在应用程序中包含它的访问详细信息,但不希望在代码被反编译的情况下可以轻松访问它(我们将进行模糊处理).
我们可以使用哪些技术来保护这些细节?
我目前正在估算一个新项目.我的高水平估计假设有一个开发人员在工作25周.
实际上,将有两个开发人员并行工作.降低估算值的合理因素是什么?(我意识到它不会是0.5)
我希望添加PMD检查以确保类没有太多公共方法,但我不希望构造函数和getter/setter包含在检查中.
ExcessivePublicCount检查包括构造函数,getter/setter和公共变量,我看不到自定义它的方法.
TooManyMethods检查不包括getter/setter,但包括其他所有内容(包括私有方法).检查的XPath代码如下.
//ClassOrInterfaceDeclaration/ClassOrInterfaceBody
[
count(descendant::MethodDeclarator[
not
(
starts-with(@Image,'get')
or
starts-with(@Image,'set')
)
]) > $maxmethods
]
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我修改这个以实现我想要的,或者建议用PMD做另一种方法吗?
java ×9
audio ×1
crash ×1
decompiling ×1
desktop ×1
email ×1
estimation ×1
feedback ×1
hibernate ×1
hsqldb ×1
jna ×1
linux ×1
macos ×1
mysql ×1
obfuscation ×1
pmd ×1
repaint ×1
swing ×1
swingworker ×1
uuid ×1
web-services ×1