Tag: java

DBCP – validation查询不同的数据库

我使用DBCP池,我想使用testOnBorrow和testOnReturn来testing连接是否仍然有效。 不幸的是,我必须设置属性validationQuery使其工作。 问题: validationQuery应该有什么价值? 我知道,validationQuery必须是一个SQL SELECT语句,它返回至less一行。 问题是我们使用各种数据库(DB2,Oracle,hsqldb)。

为什么本地variables在Java中是安全的

我正在阅读Java中的multithreading,并且遇到了这个问题 Java中的局部variables是线程安全的。 从那以后,我一直在想如何/为什么局部variables是线程安全的。 有人可以让我知道。

区分Java线程和OS线程?

如何区分正在运行的Java线程和本地线程? 在Linux中,每个subprocess都有父进程,并且他们说0是所有进程的父进程,所有分叉的Java线程的父进程是否会有? 如何知道哪个Java线程与OS线程相关(如果Java线程阻塞了本机进程线程)。 Java线程和操作系统线程是否有任何命名约定? 一个正在运行的Java线程可以被另一个Java代码挂起或者死亡吗?

如何在连接和基于行的限制(分页)中获得不同的结果?

我试图使用基于行的限制(例如: setFirstResult(5)和setMaxResults(10) )对已经连接到其他表的Hibernate Criteria查询实现分页。 可以理解的是,数据随机被切断; 原因在这里解释。 作为解决scheme,页面build议使用“第二个sql select”而不是联接。 如何将我现有的标准查询(使用createAlias()连接)转换为使用嵌套的select?

CMSPermGenSweepingEnabled与CMSClassUnloadingEnabled

我曾问过这个问题 – JVM标志CMSClassUnloadingEnabled实际上做了什么? ,但是这次有点不同! 如果我使用-XX:+CMSPermGenSweepingEnabled标志设置启动了一个Java VM,则会打印以下消息: 将来请使用CMSClassUnloadingEnabled来代替CMSPermGenSweepingEnabled -XX:+CMSPermGenSweepingEnabled标志通常用于缓解PermGen OutOfMemory错误,但是我已经在其他地方看到人们已经发现通过遵循上述build议,他们仍然有这些错误,但通过坚持使用-XX:+CMSPermGenSweepingEnabled如-XX:+CMSClassUnloadingEnabled它们的虚拟机在重启之间停留时间更长。 是否-XX:+CMSClassUnloadingEnabled确实取代了-XX:+CMSPermGenSweepingEnabled ,还是让它们都有一些好处? 提前致谢 Rich ps:我知道perm gen问题的根本原因通常仍然是Classloader泄漏,如果使用上述选项,这更多的是JVM产生的消息。

Java – JPA – @Version注释

@Version注解如何在JPA中工作? 我find了各种答案,其摘录如下: JPA在您的实体中使用版本字段来检测对同一数据存储logging的并发修改。 当JPA运行时检测到试图同时修改相同的logging时,它会向最后提交的事务抛出一个exception。 但我仍然不确定它是如何工作的。 还从以下几行开始: 你应该考虑版本字段不可变。 更改字段值有未定义的结果。 这是否意味着我们应该宣布我们的版本字段是final ?

Java 8默认方法作为特征:安全吗?

在Java 8中使用默认方法作为穷人的特征版本是否安全? 有人说,如果你为了这个目的而使用它们,可能会让pandas伤心 ,因为它很酷,但那不是我的意图。 也常常提醒我们,引入默认方法来支持API进化和向后兼容,这是真实的,但这并不是错误的或扭曲的使用它们本身。 记住下面的实际用例 : public interface Loggable { default Logger logger() { return LoggerFactory.getLogger(this.getClass()); } } 或者,也许定义一个PeriodTrait : public interface PeriodeTrait { Date getStartDate(); Date getEndDate(); default isValid(Date atDate) { … } } 有意思的是,可以使用组合(甚至是辅助类),但是它看起来更冗长和混乱,不能从多态性中受益。 那么, 使用默认方法作为基本特征可以吗?或者我应该担心不可预见的副作用? 关于SO的几个问题与Java和Scala特性有关; 这不是重点。 我也不只是要求意见。 相反,我正在寻找一个权威的答案或至less是现场的见解:如果你已经使用默认方法作为企业项目的特征,那么它是否会变成一个时间炸弹?

如何在Java中创build一个自定义的exceptiontypes?

可能重复: 我怎样才能自己写一个例外? 我想在Java中创build一个自定义exception,我该怎么做? … try{ … String word=reader.readLine(); if(word.contains(" ")) /*create custom exception*/ } catch(){ 当我使用throw new…创build自定义exception时,我得到错误unreported exception…must be caught or declared to be thrown

QR码编码和解码使用zxing

好的,所以我要借此机会在这里有人使用zxing。 我正在开发一个Java应用程序,它需要做的事情之一就是将一个字节的数据数组编码成QR码,然后在稍后解码。 下面是我的编码器的例子: byte[] b = {0x48, 0x45, 0x4C, 0x4C, 0x4F}; //convert the byte array into a UTF-8 string String data; try { data = new String(b, "UTF8"); } catch (UnsupportedEncodingException e) { //the program shouldn't be able to get here return; } //get a byte matrix for the data ByteMatrix matrix; com.google.zxing.Writer writer = […]

使用Play框架2.0使用MySQL数据库所需的步骤

我是Play框架的新手。 我正在尝试将MySQL数据库configuration为与Play Ebeans一起使用的数据源。 你可否介绍一下使用Play 2.0框架configurationMySQL所需的步骤(如下载驱动程序,添加依赖等)。