Java 8中接口和抽象类之间的根本区别

考虑到接口现在可以为它提供的方法提供实现,我无法正确理解接口和抽象类之间的差异。 有谁知道如何正确解释差异? 我还被告知,与抽象类相比,接口稍微更轻,性能明智。 有人可以证实吗?

JDK7中菱形界面的意外行为

我的JSF托管bean中有一个属性: private List selectedDataSets; 我在其他方法中初始化列表如下: ArrayList longList = new ArrayList(); 发生的事情是我得到java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long当java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long跳转到这个foreach时,它java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long : for (Long CRC : selectedDataSets) { … } 这很奇怪。 调试显示selectedDataSets充满了String值,但我认为甚至不可能。 请描述一下这里究竟发生了什么。

我们是否必须使用与控制器中的pojo对象完全相同的字段发布json对象?

我是新手rest,我有问题将JSON对象从jquery映射到控制器。 我的jquery JSON对象有一些字段缺席,它们存在于控制器上的java对象中。 我是否必须创建新类来映射此类对象,或者有没有办法在不创建新类的情况下映射这些对象? 这是代码 控制器: @RequestMapping(value = “/createTest”, method = RequestMethod.POST,consumes=”application/json”) @ResponseBody public String createTest(@RequestBody TestJsonDTO testJson) throws JsonProcessingException, IOException { //…. TestJsonDTO: public class TestJsonDTO { private TestSet testSet; private List questionsInTest; //gettters and setters 测试集: public class TestSet implements Serializable { public TestSet() { } @Id @GeneratedValue private int id; private String […]

Stacktrace与类名中的数字 – 为什么?

当finalizeOperation运行时(在更大的应用程序中生产): public interface OperationFinalizerHook { void onOperationFinalize(Operation operation, Object context); } private final List operationFinalizeHooks = new ArrayList(); … public void finalizeOperation(Object context) { final Operation operation = getOperation(); operationFinalizeHooks.forEach(hook -> hook.onOperationFinalize(operation, context)); } 跟随调用树/堆栈跟踪构建: 11 at com.company.SomeClass.lambda$finalizeOperation$0 (SomeClass.java:51) 12 at com.company.SomeClass$$Lambda$135/2085968933.accept (Unknown source) 13 at java.util.ArrayList.forEach (ArrayList.java:1249) 14 at com.company.SomeClass.finalizeOperation (SomeClass.java:51) 我对第12行感兴趣 – 这个名字来自哪里? […]

setContentView上的另一个资源$ NotFoundException

Stack Overflow上有很多资源$ NotFoundException问题,我已经审阅了它们,并尝试了各种建议无济于事。 我有一个完美的工作布局,显示一些图形与下面的一些按钮,我修改了一些按钮,并开始得到这个错误。 我没有看到我的更改有什么问题,但只是缩小它我删除了所有的按钮,所以现在我只有一个带有ImageView的LinearLayout,我仍然得到错误。 我的Java: try { setContentView(R.layout.graphics); } catch (Exception e) { Log.d(“DGraphActivity”, “setContentView crash”); } 我的XML: 错误说android.content.res.Resources $ NotFoundException:资源ID#0x7f030005 。 在R.java文件中,资源用图形标识。 。 。 public static final class layout { public static final int addcomment=0x7f030000; public static final int areyousure=0x7f030001; public static final int downarrow=0x7f030002; public static final int downleftarrow=0x7f030003; public static final […]

在Java中使用线程进行并行编程

随着Join/Fork framework的出现,Java中只能从Java 7进行并行编程。 让我们说在Java中,使用ExecutorService我创建一个4线程的线程池并提交给它说10个任务,这意味着4个线程将开始执行4个任务,其他6个任务将由线程获取,当任何线程完成其任务。 假设我有一个具有4个内核的四核处理器,我知道一个线程可以在一个内核上运行(这里不采用超线程概念)所以我的所有4个线程并行工作,1个内核运行1个线程? 这不是一个并行编程吗? 编辑: 读取源 – 这是Java 8播放列表,在第1章中提到可以从Java 7开始实现并行编程。

以PEM格式转换私钥

我用Java代码创建了一个自签名证书并添加到KeyStore中。 现在,我想将创建的私钥和证书导出为PEM格式的文​​件。 没有任何第三方库,是否有可能实现这一目标? 下面是我用于创建自签名证书的代码。 public void createSelfSignedSSLCertificate() { try { final CertAndKeyGen keypair = new CertAndKeyGen(“RSA”, “SHA1WithRSA”, null); final X500Name x500Name = new X500Name(commonName, organizationalUnit, organization, city, state, country); keypair.generate(keysize); final PrivateKey privKey = keypair.getPrivateKey(); final X509Certificate[] chain = new X509Certificate[1]; chain[0] = keypair.getSelfCertificate(x500Name, new Date(), validity * 24 * 60 * 60); final String […]

解释jstack输出

我有一个java进程使用BatchInserter将大量.csv文件中的大量数据加载到Neo4j数据库中。 我用的是: OpenJDK 7 Ubuntu 12.04 Neo4j 2.0 M3 加载第一个164 GB(根据ls -lh )后,文件夹大小停止增加,但进程继续运行,没有释放内存,CPU仍然是100%(全部根据htop )。 加载过程是单线程的,只有JVM使用多个线程 – 我猜是ParallelGC 。 我不确定如何诊断这类问题,但被指示尝试jstack ,所以将其输出包含在下面。 任何人都知道出了什么问题,或者对如何进行诊断提出建议? Full thread dump OpenJDK 64-Bit Server VM (22.0-b10 mixed mode): “Attach Listener” daemon prio=10 tid=0x00007fc3a4001000 nid=0x5636 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE “Service Thread” daemon prio=10 tid=0x00007fcf58123000 nid=0x4545 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE “C2 CompilerThread1” daemon prio=10 […]

String的Java Regex以数字和固定长度开头

我做了一个正则表达式来检查String的长度,所有字符都是数字并以数字开头,例如123以下是我的表达式 REGEX =^123\\d+{9}$”; 但它无法检查String的长度。 它validation那些字符串只有它们的长度是9并从123开始。但是如果我传递字符串1234567891它也validation它。 但是我应该怎么做呢?我身上哪个错误。

如何拒绝来自iframe的网站访问?

我注意到一些网站出于安全原因拒绝从iFrames访问他们的注册和登录页面。 在我看来这是一个好主意。 我想知道为了做到这一点他们需要什么设置,因为我想在我的网站上做同样的事情。 有问题的网站是用Java构建的,可以在Apache Tomcat上运行。 如果有人知道如何做到这一点,那么如果你能分享就会很棒。