【java 8内置的四大核心函数式接口】教程文章相关的互联网学习教程文章

Java静态函数【代码】

我有一些课程.class A{ static void v(){System.out.println("A");} }class A1 extends A{static void v(){System.out.println("A1");} }class B <T extends A>{void v(){T.v();} }为什么以下代码输出“A”?B b = new B<A1>(); b.v();我认为代码应输出“A1”,因为B< A1>().解决方法:你的T.v()是一个静态方法调用并编译成A.v(),因为T根据它的上限类型擦除到A.

java – 第一次进入递归函数的断点【代码】

是否有可能创建一个断点,其中条件是它的递归过程的开始?换句话说,堆栈应该只有一个函数调用. IE考虑这个工作流程: 主要功能 – > call recursive func – >点击断点 – >继续 – >递归调用self – >不打破断点 – >继续递归.解决方法:试试这个:if(!Thread.currentThread().getStackTrace()[2].getMethodName().equals("this method's name"))// breakpoint2是因为getStackTrace将返回实际的getStackTrace方法作为堆栈的一部分...

java – 为什么构造函数调用在以下示例中不明确?【代码】

参见英文答案 > Method overloading and choosing the most specific type 9个 class Test {public Test(Object obj) {System.out.println("Object");}public Test(String s) {System.out.println("String");}public static void main(String[] args) {new Test(null); //prints String. Why not Object?} }如果我添加另一个带有Integer类型参数的构造函数,或者对于任何其他类型的函数,调用new...

java – 为什么在反序列化过程中不调用默认构造函数?【代码】

ObjectInputStream is = new ObjectInputStream(new FileInputStream("test.ser")); TestClass tc = (TestClass)is.readObject();我在反序列化后得到了TestClass的对象,但是没有调用TestClass的默认构造函数.据我所知有两种方法可以创建对象,即使用new运算符或TestClass.class.newInstance().两者都调用默认构造函数. 看起来像反序列化过程创建对象不是用两个方法,这就是为什么不调用默认构造函数.问题是反序列化如何创建对象? 另...

java – 函数的最大堆栈空间

我试图确定我的fork / join实现何时堆栈溢出. 我知道编译器确定函数在编译时需要的最大堆栈空间.所以这些信息应该可以在我的java代码的.class文件中找到.但是,我似乎无法弄清楚如何达到这个价值. 我可以在运行时打印出来,还是有人能指出我在类文件中找到它的位置?这在gedit中都是乱码,所以我似乎无法找到它.解决方法:JBE是一个很好的独立工具,可以让你浏览(和编辑)类文件.它显示的一个信息是某种方法的最大堆栈深度.如果JBE可以访...

java – 更好的构造函数初始化设计【代码】

我有一个看起来像这样的类,它根据从凭证服务检索的凭据充当客户端的工厂.它构建客户端一次,并在每次调用时返回.public class ClientFactory {private CredentialService credentialService;private ClientA clientA; public ClientFactory(CredentialService credentialService){this.credentialService = credentialService;//initialization in constructorthis.clientA = buildClientA(credentialService.getCredentials());}pu...

Java构造函数设计【代码】

我正在阅读一个开源代码,并且有一个像这样设计的构造函数:public class FeatureSequence2FeatureVector extends Pipe implements Serializable {boolean binary;public FeatureSequence2FeatureVector (boolean binary){this.binary = binary;}public FeatureSequence2FeatureVector (){this (false);}}这可能只是一个微不足道的偏好问题,但我会做的是这样的:public class FeatureSequence2FeatureVector extends Pipe implement...

Spring Java配置,@ Autowire与构造函数注入,@ Transaction和CGLIB【代码】

我们一直在使用@Autowired和基于Java的Spring配置取得了一些成功,但现在我们失去了控制权.每个人都开始在任何地方添加自动连接的依赖项,创建周期和奇怪的错误. 所以我们正在考虑使用构造函数注入和Spring配置的自动装配. 旧:class Bean {@Autowired Foo foo; }@Configuration @Import( FooCfg.class ) class BeanCfg {@Bean public Bean bean() { return new Bean(); } }新:class Bean {public Bean(Foo foo) {...} }@Configurat...

在java中查找本机函数的源代码【代码】

我一直在研究java.io.Console如何实现readPassword函数,我遇到了原生的echo函数.我天生好奇,立刻开始寻找源代码.我尝试查看jdk / src / share / native但无济于事.在谷歌进一步不成功后,我转向你. 在哪里可以找到原生回波函数的源代码?解决方法:这是http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/windows/native/java/io/Console_md.cJNIEXPORT jboolean JNICALL Java_java_io_Console_echo(JNIEnv *env, jcla...

java – 使用函数的返回是一个好习惯,返回值是作为参数提供的对象吗?【代码】

我只是想问一下这是一个很好的java练习还是有更好的方式(官方方式)来做同样的事情. 首先,我需要更新一些hashmap信息:Map<Date, Object> rows = new HashMap<Date, Object>();这是excel行的对象,对于每个日期(即10月1日,10月2日等)和包含该行信息的对象. 所以,为了获得这些信息,我有一些方法,如:rows = performQuery1(rows, foo, bar, initDate, endDate); rows = performQuery2(rows, someDAO, foo);和…private HashMap<Date, O...

java – 基于构造函数的依赖注入如何影响不变性?

我正在阅读Spring文档,我想知道它们的写作意味着什么:The Spring team generally advocates constructor injection as it enables one to implement application components as immutable objects and to ensure that required dependencies are not null.我没有看到它以什么方式实现组件为不可变的.虽然我知道使用基于构造函数的DI类似于使用final字段创建类的对象的自然Java方式,从而阻止对象更改字段引用. 这是他们使用这样一句...

java——调用Opencv的k均值函数实现图像分割【代码】【图】

public class SIFT {public static void main(String[] args) throws IOException {System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); Mat src=Imgcodecs.imread("D://save.jpg");int width = src.width();int height = src.height();int pointCount = width * height;int dims = src.channels();Mat points=new Mat(pointCount, dims, CvType.CV_32F);int index=0;for (int i = 0; i < height; i++) {for (int j = 0; j < width; ...

使用Java中的named / default args调用Clojure函数的最佳方法【代码】

从Java调用Clojure函数时,为函数指定命名参数的最佳方法是什么? 我有以下功能:(defn myFn [a b & {:keys [c d] :or {c 1 d 2}}]; do something)我目前用Java来调用它,如下所示:IFn myFn = Clojure.var("my.namespace", "myFn"); myFn.invoke(5, 6, Clojure.read(":c"), 7, Clojure.read(":d"), 8);我发现Clojure.read …以上语句的部分内容详细.是否有更简单的方式来拨打电话?解决方法:问题不是如何传递命名参数,而是如何在Jav...

java – 使用随机函数生成的零值()【代码】

参见英文答案 > How do I generate random integers within a specific range in Java? 64个 /*This is my function code*/ Random random = new Random(); int randomInt = random.nextInt()%200;String imgName = "img" + randomInt;int ImageId = getResources().getIndentifier(imgName,"drawabale",getPackageName()); myImage.setImageResourse(ImageId); 以前在我的drawable文件夹中有...

java – 使用随机函数生成的零值()【代码】

参见英文答案 > How do I generate random integers within a specific range in Java? 64个 /*This is my function code*/ Random random = new Random(); int randomInt = random.nextInt()%200;String imgName = "img" + randomInt;int ImageId = getResources().getIndentifier(imgName,"drawabale",getPackageName()); myImage.setImageResourse(ImageId); 以前在我的drawable文件夹中有...