草庐IT

INTERFACE

全部标签

java - java序列化在内部是如何工作的?

这个问题在这里已经有了答案:HowdoesJava'sserializationworkandwhenitshouldbeusedinsteadofsomeotherpersistencetechnique?(9个回答)关闭9年前。我在阅读有关Java序列化的内容时了解到,如果实现了Serializable接口(interface),那么类就会被序列化。但是Serializable是一个标记接口(interface)。那么JVM是如何知道应该使用哪些方法进行序列化或反序列化的呢?根据我的理解,在接口(interface)中声明的方法是通过多态调用的。我将在下面举一个例子来解释我的问题。

java - Java 与 .NET Func<> 和 Action<> 委托(delegate)最接近的是什么?

显然,Java没有委托(delegate)或函数作为第一类值,而是使用接口(interface),但最接近Func或Action.NET委托(delegate)的接口(interface)是什么?有Runnable和Callable,但仅限于不带参数的类型。由于Java不能有具有相同名称和不同数量的泛型类型参数的重载类型,我理解不能有单一的共享接口(interface)名称,但可以有Runnable1、Runnable2等等。这种编程风格是否没有在Java中使用,或者我是否缺少任何现有接口(interface)? 最佳答案 我对.N

java - 双代理接口(interface) : Could not generate CGLIB subclass of class 时 Spring AspectJ 失败

我正在使用Spring的代理一些JPArepository接口(interface)。但是,代理失败并显示以下Cannotsubclassfinalclassclass$Proxy80:CouldnotgenerateCGLIBsubclassofclass[class$Proxy80]:Commoncausesofthisproblemincludeusingafinalclassoranon-visibleclass;nestedexceptionisjava.lang.IllegalArgumentException:Cannotsubclassfinalclassclass$P

java - 从接口(interface)覆盖通用返回类型

我有几个接口(interface):publicinterfaceEndpoint{publicClassgetFetchableType();}publicinterfaceFetchable{...fetcheddatafields}publicinterfaceFetcher{publicTfetch(Endpointendpoint);}对于实现Fetcher的类,为什么编译器使用这个方法声明:publicFetchableImplfetch(Endpointendpoint){returnnull;}虽然这些都是不正确的声明:publicFetchableImplfetch(

java - 使用 orElseThrow 时出现循环接口(interface)错误

使用Guava'sClassPath我正在尝试初始化位于特定包中的类,但我想使用构造函数进行初始化,因为它不会传播异常。所以这就是我为获得构造函数所做的工作:ClassPath.from(classLoader).getTopLevelClasses("test.package").stream().map(ClassPath.ClassInfo::load).map(Class::getConstructors).map(Arrays::stream).map(constructorStream->constructorStream.filter(constructor->const

java - Cobertura : how to cover spring-data @Repository interfaces

关于以下信息:https://stackoverflow.com/a/14601831/704246Coberturadoesnotinstrumentinterfaces我想知道如何将spring-data接口(interface)添加到覆盖结果中,因为@Repository实现类仅由Spring在运行时声明和实例化。考虑以下接口(interface)://src/main/java/my/package/MyObjectRepository.java@RepositorypublicinterfaceMyObjectRepository{MyObjectfindMyObjectBy

java - Java 8 编译器是否将接口(interface)上的静态方法优化为 "Final?"

我的具体问题是:编译器是否将静态最终接口(interface)代码内联到其他编译方法中?我已经有一段时间不了解这种类型的优化了,想知道这是否仍在执行。 最佳答案 javac不会内联任何东西-它做的优化很少。JIT可能会内联它,这取决于该方法是否足够热并且可以内联并且没有达到阈值的事实。 关于java-Java8编译器是否将接口(interface)上的静态方法优化为"Final?",我们在StackOverflow上找到一个类似的问题: https://sta

java - 动态编译源文件时如何为JavaCompiler提供接口(interface)?

我试图在运行时编译和加载一个类,但不知道该类的包。我知道该类应该符合接口(interface)和源位置(以及类名)。我正在尝试以下操作:/*Compilingsource*/Fileroot=newFile("scripts");FilesourceFile=newFile(root,"Test.java");JavaCompilercompiler=ToolProvider.getSystemJavaCompiler();compiler.run(null,null,null,sourceFile.getPath());Test.java文件看起来像importfoo.Itest;p

java - 推土机试图将一个类映射到它的接口(interface)

我的数据模型基本上是一棵有parentchild的树,Dozer在将字段(使用接口(interface)类型作为参数)解释为一个类并尝试实例化它时,在成功映射它们时遇到了问题与构造函数。这导致以下异常;ERROR[MappingProcessor]-Fieldmappingerror-->MapId:nullType:nullSourceparentclass:com.*.shared.model.ModuleSourcefieldname:parentSourcefieldtype:classcom.*.shared.model.DatawarehouseSourcefieldval

java - 继承泛型接口(interface)的子类

我有一个接口(interface)可以确保对象可以复制自己:publicinterfaceDuplicable>{publicTduplicate();}我现在有classXimplementsDuplicable但我还有一个扩展X的类Y。这不是问题,直到我需要另一个泛型类:publicclassDoStuffWithDuplicable>我不能通过Y使用DoStuffWithDuplicable的通用版本,因为它没有实现Duplicable但是Duplicable因为它继承自X。所以我试过了publicclassDoStuffWithDuplicable>..但这意味着稍后会引入不安