草庐IT

get_option

全部标签

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 - 如何使用jenkins ant build tool中的 `Java Options`设置ANT_OPTS

我遇到了junitantbuild的问题,我收到了java.lang.OutOfMemoryError:PermGenspace错误。我试图在构建Java选项中将ANT_OPTS设置为ANT_OPTS='-Xmx512m-XX:MaxPermSize=256m'增加堆大小ant构建工具。但是我每次运行都会报错:Exceptioninthread"main"java.lang.NoClassDefFoundError:ANT_OPTS=-Xmx512m-XX:MaxPermSize=256mCausedby:java.lang.ClassNotFoundException:ANT_OPT

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 兴趣点 : 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 - 添加两个 Optional<BigDecimal> 数字的最优雅方法是什么

我需要对包装可选值的两个大小数执行加法运算:OptionalordersTotal;OptionalnewOrder;我要实现ordersTotal+=newOrder重要的是要注意,如果两个值都为空,则结果同样应该为空(即不为零)。这是我想出的:ordersTotal=ordersTotal.flatMap(b->Optional.of(b.add(newOrder.orElse(BigDecimal.ZERO))));但我想知道是否有更优雅的解决方案。 最佳答案 我认为在可选项上使用流或方法链的建议答案非常聪明,但也许聪明到晦涩

Java 8 optional 添加仅当 optional.isPresent 时才返回结果

我有一段代码,其中一个接口(interface)有一个可选的返回方法,一些实现它的类返回一些东西,其他的则没有。为了拥抱这个出色的“空killer”,我尝试了以下方法:publicinterfaceGun{publicOptionalshoot();}publicclassPistolimplementsGun{@OverridepublicOptionalshoot(){returnOptional.of(this.magazine.remove(0));}//nevermindthecheckofmagazinecontent}publicclassBowimplementsGun

java - 总是使用 get 和 set 方法来访问类自己的成员字段是否属于反模式?

这个问题在这里已经有了答案:Usinggetterswithinclassmethods(6个答案)关闭9年前。在Java类中,使用getter和setter访问成员字段被认为是好习惯还是坏习惯?例如哪个更好:publicOrder{privateAgreementagreement;publicAgreementgetAgreement(){returnagreement;}publicvoidprocess(){//shouldIuse:getAgreement().doSomething();//Or:agreement.doSomething();}}一般来说,由于KISS原则

java - String get/set 是线程安全的吗?

假设我有以下内容,publicclassFoo{privateStringbar;publicStringgetBar(){returnbar;}publicvoidsetBar(Stringbar){this.bar=bar;}}由于String类的不可变特性,这些方法是否自动线程安全,或者是否需要某种锁定机制? 最佳答案 不,这不是线程安全的。Foo是可变的,所以如果你想确保不同的线程看到相同的值bar–即一致性–或者:制作barvolatile,或制作方法synchronized,或使用AtomicReference.bar的

java - 为什么 Calendar.get(Calendar.MONTH) 返回 0?

这个问题在这里已经有了答案:WhyisJanuarymonth0inJavaCalendar?(18个答案)关闭9年前。为什么下面的返回0?intcurrMonth=c.get(Calendar.MONTH);