检查对象是否是类的实例(但不是其子类的实例)

对于这个例子: public class Foo{} public class Bar extends Foo{} …. void myMethod(Foo qux){ if (checkInstance(qux,Foo.class)){ …. } } 如何检查qux是否是Foo的实例(但不是foo的子类的实例)? 那是: checkInstance(qux,让Foo.class)=真 checkInstance(qux,Bar.class)=假 这种检查有像instanceof这样的语句吗? 或者我应该使用qux.getClass().equals(Foo.class)

升级到Java7,Missing Tools.jar和错误的类版本后构建失败

我最近在Macbook Pro上升级到了Java7。 我下载了JDK(不是JRE)。 » javac version javac 1.7.0_17 » echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home 但是,在尝试运行构建时,其中一个maven编译器插件失败,声称我已经安装了JRE: » mvn install [ERROR] execute error org.apache.maven.plugin.MojoExecutionException: You need to run build with JDK or have tools.jar on the classpath. If this occures during eclipse build make sure you run eclipse under JDK as well at com.mysema.maven.apt.AbstractProcessorMojo.execute(AbstractProcessorMojo.java:263) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 我很困惑,因为我显然安装了JDK。 我的MAVEN_OPTS没有做任何有趣的事情: » […]

Spring REST安全性 – 以不同方式保护不同的URL

我在Spring 4下使用基本身份validation工作REST API。 这些REST服务位于/ api / v1 / ** URL下。 但是,我想在不同的url / api / v2 / **下添加另一组REST端点,但使用基于令牌的身份validation进行保护。 是否可以使用一个servlet执行此操作? 如何配置Spring Security以对不同的URL使用不同forms的身份validation? 谢谢。

Java.nio频道和TLS

如何使用TLS保护Java SocketChannel , ServerSocketChannel或甚至是DatagramChannel ? 我知道有一些框架( #1 #2 )可以做广告,但我想知道是否可以单独使用纯Java标准库来实现这一点。

JPA 2条件获取路径导航

使用JPA 2 Criteria Join方法,我可以执行以下操作: //Join Example (default inner join) int age = 25; CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery c = cb.createQuery(Team.class); Root t = c.from(Team.class); Join p = t.join(Team_.players); c.select(t).where(cb.equal(p.get(Player_.age), age)); TypedQuery q = entityManager.createQuery(c); List result = q.getResultList(); 我怎么能用fetch方法做同样的事情,我期望Fetch接口有get路径导航方法,但它没有: //Fetch Join Example int age = 25; CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery cq = cb.createQuery(Team.class); […]

如何从Java与OData交互?

OData是微软重新打包其Astoria(现在的WCF数据服务)RESTful查询/更新协议。 如果我想使用Java创建兼容OData的数据源,我该怎么做? 同样,如果我想从Java中使用OData数据源,我该怎么做? http://www.odata.org/ 部分答案如下。 OData网站建议Restlet支持OData。 Restlet的API文档提到了org.restlet.ext.odata包。 www.restlet.org/ www.restlet.org/documentation/snapshot/jee/ext/org/restlet/ext/odata/package-summary.html 这是唯一的答案吗? 是否有关于进行此集成的博客文章?

JavaFX现在已经出局了:Applets和Java Desktop是否正式死亡/死亡?

JavaFX现在已经出局,并且有承诺Swing将与JavaFX一起改进。 丑陋的默认用户界的日子已经过去了,最后我们可以在质量方面创建与Flash,Air和Silverlight相媲美的引人入胜的应用程序。 这是否意味着从1990年代开始的Java Applets已经死了,不值得回去? 与Java Desktop相同:Java开发人员使用它而不是JavaFX会有什么吸引力?

Java中的线程

今天我在接受采访时询问了Java中的Thread概念? 问题是…… 什么是线程? 我们为什么要选择线程? 线程上的实时示例。 我们可以在Spring框架服务类中创建线程吗? 可以弯曲调用线程吗? 除了Thread的定义之外,我没有回答任何问题,我也是从互联网上学到的。 任何人都可以清楚地向我解释这个。 更新 : 线程和普通java类之间有什么区别。 为什么我们需要线程…我可以在线程中执行业务逻辑。 我可以在Threads中调用不同的类方法。

双减法精度问题

我的同事做了这个实验: public class DoubleDemo { public static void main(String[] args) { double a = 1.435; double b = 1.43; double c = a – b; System.out.println(c); } } 对于这个一年级的操作,我期望这个输出: 0.005 但出乎意料的是输出是: 0.0050000000000001155 为什么在这么简单的操作中双重失败? 如果double不是这项工作的数据类型,我应该使用什么?

如何在JPA中使用Postgres JSONB数据类型?

我没有找到使用JPA(EclipseLink)从PostgreSQL映射JSON和JSONB数据类型的方法。 有人使用JPA的这种数据类型,可以给我一些有用的例子吗?