草庐IT

get_declared_classes

全部标签

java - Future.get() 是 Thread.join() 的替代品吗?

我想编写一个永远运行的命令行守护进程。我知道如果我希望JVM能够在linux中正常关闭,则需要通过一些C代码包装Bootstrap。我想我现在可以使用关闭Hook。关于我的问题:我的main(String[])block将启动一个单独的Superdaemon。Superdaemon将永远轮询和循环。所以通常我会这样做:classSuperdaemonextendsThread{...}classBootstrap{publicstaticvoidmain(String[]args){Threadt=newSuperdaemon();t.start();t.join();}}现在我想如果

java - 为什么 HashMap containsKey 在 Sun JDK 中比 get 慢? (太阳-jdk-1.6.0.17)

为什么在HashMap上调用containsKey比get慢?测试:http://ideone.com/QsWXF(>15%的差异,在sun-jdk-1.6.0.17上运行) 最佳答案 因为它[稍微]做了更多工作,请参阅theOpenJDK7source.请注意containsKey调用getEntry而get直接“进行魔术查找”。我不知道为什么这样做,并且对getForNullKey的使用/不使用感到更加困惑:请参阅JohnB和TedHopps的评论,了解为什么会这样完成。get有一个针对空键的早期代码拆分(请注意,如果条目不存在

java - 匿名类(class)是个坏主意吗?

在使用了一段时间后,我不禁觉得使用匿名类时被迫跳过的圈套是不值得的。你最终得到的是final,无论代码是什么,都比使用命名良好的内部类更难阅读。那么使用它们有什么好处呢?我一定是遗漏了什么。 最佳答案 优点是它是闭包的实现。它很笨重,但它是我们目前Java中最好的。换句话说,您不必为了保留一些您已经在某处作为局部变量获得的状态而创建新类。我有anarticlecomparingC#andJavaclosures,以及为什么它们首先有用,这可能会有所帮助。 关于java-匿名类(class

Java 兴趣点 : How to find an Excel cell with a string value and get its position (row) to use that position to find another cell

我正在电子表格中查找具有字符串“总计”的单元格,然后使用该单元格所在的行在始终为相同单元格/列(第10个单元格)的另一个单元格中查找总值在基于0的索引中)。我有以下代码,没有错误(语法),但是findCell方法没有返回rowNum值:publicstaticvoidmain(String[]args)throwsIOException{StringfileName="C:\\file-path\\report.xls";StringcellContent="Total";intrownr=0,colnr=10;InputStreaminput=newFileInputStream(f

java - Optional ifPresent() 可以用在更大的表达式中以减轻对 get() 的调用吗?

为了避免调用可能引发异常的get():if(a.isPresent())list.add(a.get());我可以将这个表达式替换为:a.ifPresent(list::add);但是如果我需要执行一个更大的表达式怎么办:if(a.isPresent()&&b&&c)list.add(a.get());是否仍然可以为此使用lambda形式来减少对get()的调用?我的用例是尽可能避免get()以防止错过可能的未经检查的异常。 最佳答案 我的假设是您必须分别处理其他boolean,但我可能错了。if(b&&c){a.ifPresent

java - 我应该对从父类(super class)继承的方法进行单元测试吗?

我目前正在以TDD方式编写JDBC驱动程序的实现(是的,您没看错),虽然此时我只完成了类stub和一些次要功能,我突然想到,由于Statement是PreparedStatement的父类(superclass),它是CallableStatement的父类(superclass),所以当我真正开始时我应该怎么做为这些类的实现编写测试,我应该做其中的哪一个:为Statement创建一个测试套件,然后扩展该套件以对PreparedStatement进行额外测试,然后对CallableStatement执行相同的操作。单独测试每个实现,忽略从父类(superclass)继承的方法。严格测试

java - 为什么 Java 在编译时会生成多个 .class 文件?

在Java中,在编译时我们为源文件中定义的每个类(包括嵌套类和接口(interface))获得一个.class文件。生成多个.class文件的原因是什么?是为了简化类的复用性吗?为什么不为一个.java文件生成一个.class? 最佳答案 JVM需要能够根据给定的名称找到给定类的代码。如果源文件名和代码文件名之间可能没有任何关系,并且您希望代码文件名基于源文件名,您希望它如何加载代码?举个例子:假设我要编译包含类Bar的Foo.java。然后另一个类引用Bar,因此JVM需要它的代码...您建议它如何找到文件?请注意,在.NET中有

Git 提交commit排除要忽略的文件-简单2步搞定(class文件都可以忽略)

文章目录一、IDEA配置二、git控制项目中的.gitignore文件一、IDEA配置我们idea打开一个项目时,不希望看到和项目无关的文件,如.idea.git.iml.svn;这时需要对idea进行设置idea设置步骤如下,idea打开项目后是看不到这些被忽略的文件和文件夹二、git控制项目中的.gitignore文件在开发过程中,有些通过编译、打包、日志产生的文件每次改动都有可能产生变化,而这些是不需要提交的到代码仓库,每次gitcommit时出现,很容易不小心提交上去。如下图中有target文件下class文件,是不用提交的。为了规范代码提交,忽略commit窗口显示这些文件,需要配置

java - "cannot find symbol - class Scanner"错误

这是我的代码publicclassWorkshop3{publicstaticvoidmain(String[]args){System.out.println("pleaseenterradiusofcircle");doubleradius;Scannerkeyboard=newScanner(System.in);keyboard.nextDouble(radius);}}我收到的错误是cannotfindsymbol-classscanner在线Scannerkeyboard=newScanner(System.in); 最佳答案

java - 'mix class and interfaces in the same package' 是不好的做法吗?

我刚刚发现了一些我以前从未听说过并且我不同意(到现在)的东西。在(已投票且未进一步评论)answer我阅读了“为什么要在同一个包中混合类和接口(interface)”所以我想知道,是否有理由将Java中的接口(interface)和实现分开。我知道我们没有义务将所有实现都放在接口(interface)包中,但(有时)不在那里是明智的吗?问候迈克[;-) 最佳答案 我同意org.life.java-我将拥有服务和底层service.impl包,但始终采用那种安排。我不同意“不好的做法”这个词。太强了。java.utilCollecti