Tag: java

如何在Java中传递一个类作为参数?

有什么办法在Java中传递类作为参数,并从该类中引发一些方法? void main() { callClass(that.class) } void callClass(???? classObject) { classObject.somefunction // or new classObject() //something like that ? } 我正在使用Google Web Toolkit,但不支持reflection。

为什么java类不会从已实现的接口inheritance注释?

我一直在使用Guice的AOP来拦截一些方法调用。 我的类实现了一个接口,我想注释接口方法,所以Guice可以select正确的方法。 即使注释types使用了inheritance注释,实现类也不inheritanceinheritance的java文档中所述的注释: 还要注意,这个元注释只会导致注释从超类inheritance; 已实现的接口上的注释不起作用。 这可能是什么原因? 了解一个对象的类在运行时所实现的所有接口并不是那么难,因此这个决定背后必须有一个很好的理由。

JUnittesting与dynamic数量的testing

在我们的项目中,我有几个JUnittesting,例如从目录中获取每个文件并对其执行testing。 如果我在TestCase实现了testEveryFileInDirectory方法,那么只会显示一个可能失败或成功的testing。 但是我对每个文件的结果感兴趣。 我怎样才能编写一个TestCase / TestSuite ,使每个文件显示为一个单独的testing,例如在Eclipse的graphics化TestRunner中? (为每个文件编写明确的testing方法不是一种select。) 在Eclipse Testrunner中也将ParameterizedTest与一个名称相比较 。

Java HashMap性能优化/替代

我想创build一个大的HashMap,但put()性能不够好。 有任何想法吗? 其他数据结构的build议是受欢迎的,但我需要Java Map的查找function: map.get(key) 在我的情况下,我想创build一个有2600万条目的地图。 使用标准的Java HashMap,在2-3百万个插入之后,投入率变得难以忍受。 此外,有没有人知道如果使用密钥的不同散列码分布可以帮助? 我的散列码方法: byte[] a = new byte[2]; byte[] b = new byte[3]; … public int hashCode() { int hash = 503; hash = hash * 5381 + (a[0] + a[1]); hash = hash * 5381 + (b[0] + b[1] + b[2]); return hash; } 我正在使用添加的关联属性来确保相等的对象具有相同的哈希码。 这些数组是字节,其值在0 – […]

Maven在理论和实践上做了什么? 什么时候值得使用它?

我即将开始一个Java项目只是为了实践。 我已经读过关于Maven的内容,但实际上我并不明白它是什么时候使用的。 你能给我一些实用的提示吗? Maven是否帮助了很多? Maven实际上为我的项目做了什么?

如何在Java中初始化一个字节数组?

我必须以字节数组forms存储一些常量值(UUID)在Java中,我想知道什么是最好的方式来初始化这些静态数组。 这是我目前正在做的,但我觉得有一个更好的办法。 private static final byte[] CDRIVES = new byte[] { (byte)0xe0, 0x4f, (byte)0xd0, 0x20, (byte)0xea, 0x3a, 0x69, 0x10, (byte)0xa2, (byte)0xd8, 0x08, 0x00, 0x2b, 0x30, 0x30, (byte)0x9d }; private static final byte[] CMYDOCS = new byte[] { (byte)0xba, (byte)0x8a, 0x0d, 0x45, 0x25, (byte)0xad, (byte)0xd0, 0x11, (byte)0x98, (byte)0xa8, 0x08, 0x00, 0x36, 0x1b, 0x11, 0x03 }; private […]

我怎样才能检查一个方法是否使用reflection静态?

我只想在运行时发现一个类的静态方法,我该怎么做呢? 或者,如何区分静态和非静态方法。

是否有可能重新命名一个maven jar -with-dependencies?

我目前正在使用jar-with-dependencies程序集来创build这样一个jar。 不过,我的jar的名字有点长。 由于这个jar被AS400上的RPG程序所使用,我想缩短它,使开发人员的生活变得容易一些。 但是,除了手工,我还没有find一种方法来重新命名从通常的project-name-version-classifier-jar-with-dependencies.jar 。 我想要像project-name-version-classifier-full.jar这样的东西 有没有办法做到这一点,没有基本上复制jar-with-dependencies程序集描述符,并调用它完整? 另外,我想继续保存没有组装在存储库中的类path的jar。 我需要两件神器。 与我的分类器持有build设的地区的jar子。 与所有依赖包括该地区的jar子。 project-name-version-region-full.jar和project-name-version-region.jar应该存储在存储库中。 在第一个例子中,分类器是区域满的,在第二个区域。 后者正在工作。

JPA渴望获取不join

JPA的抓取策略究竟控制着什么? 我无法检测到渴望和懒惰之间的任何区别。 在这两种情况下,JPA / Hibernate不会自动join多对一的关系。 例如:人有一个地址。 一个地址可以属于很多人。 JPA注释的实体类看起来像: @Entity public class Person { @Id public Integer id; public String name; @ManyToOne(fetch=FetchType.LAZY or EAGER) public Address address; } @Entity public class Address { @Id public Integer id; public String name; } 如果我使用JPA查询: select p from Person p where … JPA / Hibernate生成一个SQL查询以从Person表中进行select,然后为每个人生成一个明确的地址查询: select … from Person […]

Java Persistence / JPA:@Column vs @Basic

JPA中的@Column和@Basic注释之间有什么区别? 他们可以一起使用吗? 他们应该一起使用吗? 还是其中一个足够?