草庐IT

行为监控

全部标签

java - java.util.Set.contains(Object o) 的奇怪行为

doc关于java.util.Set.contains(Objecto)说:Returnstrueifandonlyifthissetcontainsanelementesuchthat(o==null?e==null:o.equals(e)).也就是说,这是一个POJO(如您所见,我重写了它的equals方法):publicclassMonthAndDay{privateintmonth;privateintday;publicMonthAndDay(intmonth,intday){this.month=month;this.day=day;}@Overridepublicbool

java - HashSet 包含方法,奇怪的行为

这个问题在这里已经有了答案:WhendoesHashSet'add'methodcallsequals?[duplicate](4个答案)关闭4年前。这是我的代码:publicclasstestGui{publicstaticvoidmain(String[]arg){classTESTS{Stringt;publicTESTS(Stringt){this.t=t;}@Overridepublicbooleanequals(Objectx){System.out.println("Mymethodiscalled...");if(xinstanceofTESTS){TESTSzzz=(

java - 引用内部静态 Java 类时工具箱编译的奇怪行为

假设我有以下java类:packagecom.test;publicclassOuter{publicstaticclassInner{publicstaticfinalStringVAL="Inner";}}我可以像您期望的那样从Scala代码中引用VAL常量,但是当我尝试使用Scala工具箱编译器编译引用该字段的代码时,它失败了。(堆栈跟踪遵循以下示例)。这段代码演示了我的意思:importscala.reflect.runtime.universeimportscala.tools.reflect.ToolBoxobjectIssueextendsApp{valmirror=un

java - Log4J 2 配置监控和按位比较

一位同事指出了Log4J2.3code中的以下片段:/***Calledtodetermineiftheconfigurationhaschanged.*/@OverridepublicvoidcheckConfiguration(){finallongcurrent=System.currentTimeMillis();if(((counter.incrementAndGet()&MASK)==0)&&(current>=nextCheck)){LOCK.lock();try{nextCheck=current+intervalSeconds;if(file.lastModified

java - 当子类和父类都是内部类时,Java 中的继承行为

这个问题在这里已经有了答案:Whydoinnerclassesmakeprivatemethodsaccessible?(4个答案)关闭6年前。为什么下面代码中子类Child中可以看到父类Base的私有(private)方法?publicclassTrial{classBase{privatevoidfoo(){}}classChildextendsBase{privatevoidfunc(){super.foo();}}}如果Base和Child类不是内部类,那将是不可能的。为什么内部类会有这种行为?

java - 如何监控和记录构建(编译/测试)时间?

我从事一个大型Java项目。我们使用maven作为构建工具,我使用Intellij(14)作为我的IDE。目前,如果我构建整个项目(大约15个模块),大约需要3分钟。由于我们使用代码的方式(即使在开发中),我最终经常进行完整构建。基于“所测即管”,我希望能够监控/记录:一个构建每小时/每天运行了多少次?运行构建花费了多少时间?如果可能的话,通过maven任务将其分解-即清理/编译/测试/其他插件等。一种方法可能是将Maven输出转储到文件,然后有一个进程来读取这些/计算我想要的统计信息。我应该如何处理这个问题?需要说明的是,我并不是要就如何减少构建周期运行时间征求意见/建议。我们已经在

Java 泛型不一致的行为?

为什么第一个方法可以编译,而第二个不能?Set和ImmutableSet.Builder的泛型相同,它们的add方法的类型签名也相同。importjava.util.Set;importjava.util.HashSet;importcom.google.common.collect.ImmutableSet;publicclassF{publicstaticImmutableSettestImmutableSetBuilder(){ImmutableSet.Builderbuilder=ImmutableSet.builder();Numbern=Integer.valueOf(4)

java - SimpleDateFormat 行为不一致

请看下面的一段代码:StringtimeString="1980-01-01T14:00:00+0300";SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");Datedate2=sdf.parse(timeString);//sdf.getCalendar().get(Calendar.ZONE_OFFSET);System.out.println(sdf.format(date2));现在,我所在的国家/地区有+2h偏移量,+1夏令时(目前)。如果我按原样运行这段代码,它将打印1980-01-01T13

java 7目录监控问题

我刚刚看到java7的一个很棒的功能,目录观察器。它会在目录中发生更改时告诉您,而无需轮询目录。1.)但它说如果文件系统不支持注册更改事件,它会回退到轮询。是否所有典型的linux和windows文件系统(extX、ntfs、reiserXXX、jsf、zfs)都支持此功能?2.)重命名目录中的文件是创建事件还是更改事件?还是一删除一创建?我可以在一个系统上测试它,但它对所有文件系统都是一样的吗? 最佳答案 看起来你在谈论WatchService.ENTRY_CREATE的措辞事件表明,如果创建新文件或将文件重命名到目录中,则会感知

Java 改变变量名改变程序行为

我发现了一个场景,其中java程序在重命名变量后表现不同。我知道这实际上不是任何人都会使用的代码,但如果有人知道发生了什么,最好能有一个解释。我在EclipseKepler上用Java1.6试过这个。package_test;publicclassTestClass{publicstaticvoidmain(String...args){ObjecttestClazz$1=newObject(){publicStringtoString(){return"hello";}};TestClass$1test=newTestClass$1();System.out.println(test