草庐IT

栈的实现

全部标签

java - 为什么在Java中不实现equals方法会导致内存泄漏

我试图了解内存泄漏的各种原因,这是我看到的示例之一,其中实现了hashCode()而不是equals()。我已经通读了其中一个,如果一个被过度骑乘,另一个也必须因违反契约(Contract)而被过度骑乘。这是示例代码importjava.util.HashMap;importjava.util.Map;publicclassMemoryLeak{staticclassKey{Integerid;Key(Integerid){this.id=id;}@OverridepublicinthashCode(){returnid.hashCode();}}publicstaticvoidmai

java - Guice - 如何实现返回不同实现的工厂

假设我有一个名为Guice服务的服务,这是它的构造函数publicGuiceService(IPaymentpayment){this.payment=payment;}我的代码曾经使用枚举创建它IPaymentpayment=newPaymentFactory.create(PaymentType.Cash);NaiveServicenaiveService=newNaiveService(payment);而且我必须在某个地方有一个工厂实现。像这样的东西publicIPaymentcreate(PaymentTypepaymentType){IPaymentcardPayment=

生产者消费者的Java实现抛出java.lang.IllegalMonitorStateException

importjava.util.LinkedList;importjava.util.Queue;classProducerextendsPubSubimplementsRunnable{@Overridepublicvoidrun(){synchronized(queue){if(queue.size()==99){try{wait();}catch(InterruptedExceptione){e.printStackTrace();}}queue.add(2);try{Thread.sleep(1000);}catch(InterruptedExceptione){e.print

java - 具有泛型类型具体实现的 LambdaMetaFactory

我正在尝试使用Java的LambdaMetaFactory动态实现通用lambda,Handler:publicclassRoutingContext{//...}@FunctionalInterfacepublicinterfaceHandler{publicvoidhandle(Xarg);}publicclassHomeHandlerextendsHandler{@Overridepublicvoidhandle(RoutingContextctx){//...}}这是我对LambdaMetaFactory的尝试:try{ClasshomeHandlerClass=HomeHan

java - 是否有强大的 java.util.logging 系统日志处理程序实现?

我正在考虑将第3方Java应用程序连接到我们的日志聚合/分析解决方案(可能是Splunk,但我们还没有最终确定我们的选择)。将Splunk代理连接到syslog似乎是最简单的方法,因此我正在寻找一种方法将应用程序日志重定向到服务器上的本地syslog守护进程。Java应用程序使用java.util.logging,不幸的是它没有开箱即用的syslog处理程序(不过我相信log4j有)。有没有经过验证的库可以做到这一点?日志负载不是很大(每个进程每分钟可能有10-20条消息,每个主机最多6个进程)但我关心可靠性和持久性(例如,当守护进程关闭时会发生什么?...)。任何帮助将不胜感激...

java - 如何强制子类调用抽象实现的方法

基本上,我想做的是强制子类调用一个抽象父类(superclass)方法(在子类中实现),所以我不必每次创建一个新的时都显式地写它子类。我曾在父类(superclass)的构造函数中写过一次,因为我希望它在每次实现时都强制执行。publicabstractclassSupahClass{publicSupahClass(){doStuff();//ItISexecutedwhenthesubclassconstructoriscalledinit();//NOTexecuted,eventhoughit'simplemented}privatevoiddoStuff(){...}prot

java - 是否有一个 Java map 实现返回最近的包含键

我正在寻找一个Map实现,它返回与请求的键关联的值,或者如果不存在则返回最接近的值,根据请求返回更高或更低的值(连同实际键,可能作为Map.Entry)。例如,如果Map包含以下字符串键/值对:alpha:AYE,beta:BEE,charlie:CEE,delta:DEE然后你要求“加拿大”的“下一个更高”你会得到查理:中东欧当然,如果您要求“charlie”的Nexthigher或Nextlower,您会得到charlie:CEE它应该使用比较器,这样如果它包含数字键1、2、3并且我为1.4请求Nexthigher,它会返回2键。 最佳答案

Java Hashtable#hashCode() 实现坏了?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我想知道当Hashtable仅包含每对具有相同键和值的条目时,Java的Hashtable#hashCode()的默认实现是否被破坏。例如,请参见以下应用程序:publicclassHashtableHash{publicstaticvoidmain(finalString[]args){finalHashtableht=newHashtable();f

java - JavaDocs 的最佳实践 - 接口(interface)、实现或两者兼而有之?

我有一个DAO接口(interface)和DAO的实现。界面中的JavaDocs是Netbeans显示给实现DAO方法的客户端的内容。显然,我需要在界面中维护JavaDocs。但是它的实现呢?一方面,放在那里很方便,但另一方面,这是重复的,需要在两个地方维护。只是想知道其他Java开发人员在做什么。 最佳答案 如果实现方法不提供自己的Javadoc,仍然会有指向接口(interface)方法文档的链接。我一直不明白为什么Eclipse会插入/*(non-Javadoc)@see...*/因为Javadocs会自动引用接口(inter

java - 在eclipse中查找实现抽象类的所有具体类

在Eclipse中的Change类上单击“F3”,Changechange=refactoring.createChange(monitor);我可以打开Class.java。publicabstractclassChangeimplementsIAdaptable{...但是,我需要实现Change类的具体Java类。我如何在eclipse中找到它们? 最佳答案 您可以使用快捷键Ctrl+T查看该类的所有实现。 关于java-在eclipse中查找实现抽象类的所有具体类,我们在Stac