小编Dav*_*ant的帖子

这个设计有什么问题?覆盖或重载java.util.HashMap

这个问题在MS面试时被问到了.我想知道这段代码中的确切设计问题.已经提供了代码,需要找到设计问题.

我有类MyHashMap,它扩展了Java HashMap类.在MyHashMap课程中,我必须保留一些员工的信息.此映射中的键将是firstName + lastName + Address.

public MyHashMap extends HashMap<Object, Object> {
  //some member variables 
  //
  public void put(String firstName, String lastName, String Address, Object obj) {
       String key =   firstName + lastName+ Address;
       put(key, obj);
  }

  public Object get(String firstName, String lastName, String Address) {
       String key =   firstName + lastName+ Address;
       return get(key);
  }

  public void remove(Strig key) {
        put(key, ""); 
  }

  //some more methods 
}
Run Code Online (Sandbox Code Playgroud)

这个设计有什么问题?我应该将HashMap子类化还是应该将HashMap声明为此类的成员变量?或者我应该实现hashCode/equals方法?

java collections programming-languages

5
推荐指数
2
解决办法
1590
查看次数

SQL查询中NOT(x> y)和(x <y)之间有什么区别?

以下查询之间有什么区别:

SELECT * FROM employee  WHERE NOT(start_date > '01-JAN-1970');
Run Code Online (Sandbox Code Playgroud)

而这个查询:

SELECT * FROM employee  WHERE start_date < '01-JAN-1970';
Run Code Online (Sandbox Code Playgroud)

有什么区别,如果有的话,如何NOT(x > y)使用不同(x < y).谁能提供一个例子?

谢谢.

sql

4
推荐指数
2
解决办法
313
查看次数

将MVP模式应用于JDialogs

我正在编写一个Swing应用程序,并且在我之前的问题中,已经决定使用Model-View-Presenter模式将用户界面与业务逻辑分开.

当我的应用程序启动时,它执行以下代码:

Model model = new BasicModel();
Presenter presenter = new Presenter(model);
View view = new SwingView(presenter);
presenter.setView(view);

presenter.init();
Run Code Online (Sandbox Code Playgroud)

这会创建用户界面.事件由View,生成,并委托给Presenter.在Presenter随后操纵Model和更新View相应.

为了处理某些事件,我需要从用户那里获得更多信息.在这些事件的情况下,我认为Swing视图适合生成一个新JDialog窗口.

一种思路让我觉得这可能是orignal中适当的代码Presenter:

public void handlePreferences() {
    Preferences prefs = view.getPreferences();
    model.setPreferences(prefs);
}
Run Code Online (Sandbox Code Playgroud)

也就是说,每个内容JDialog应该代表一个不同的对象,应该从中检索View并更新Model.但是,这留下了一个问题:我是否创建了一个Model表示Preferences对象的新对象和一个Presenter用于事件处理的新对象JDialog

在我看来,如果我想改变UI以使用JSF,那么创建一个新的PresenterModel原始内部会View迫使我做很多工作,如果我想更改UI以使用JSF.

请随时添加评论以便澄清.

java mvp swing design-patterns

3
推荐指数
1
解决办法
2905
查看次数

如何从WebApp读取web.xml

对于WebApps,web.xml可用于存储应用程序设置.我该怎么读这个文件.我的servlet在GlassFish v2服务器上运行.

java web-services glassfish java-ee

3
推荐指数
1
解决办法
3万
查看次数

在PHP中使用设计模式有什么性能影响?

我知道设计模式在创建大项目时非常有用.有没有人在使用普通(OO,程序)创建项目和在性能(执行速度)方面使用设计模式方面有经验?我想创建一个大项目,我担心使用设计模式我的脚本会运行得更慢.那么与普通的OO编程相比,设计代码的代码是什么呢?

问候

php design-patterns

3
推荐指数
2
解决办法
247
查看次数

javax.servlet.http.Cookie 的 getDomain() 返回 null

如何获取 cookie 的实际域?getDomain()、getPath() 返回 null 我也设置了适当的值。

我正在使用response.addCookie(cookie)

提前致谢。

问候, 普拉尚特

java grails groovy

3
推荐指数
1
解决办法
4400
查看次数

如何在Selenium 2中实现关键字"Unselect Frame"?

我正在尝试用selenium-webdriver实现关键字"Unselect Frame",但不知道如何使它对所有帧都是通用的.

以下示例不起作用:

/**
 *  Sets the top frame as the current frame.
 * 
 */
public void unselectFrame(){

    try {
        WebElement element = getElement("//body");
        driver.switchTo().frame(element);
    } catch (Exception e) {
         //exception
    }
}
Run Code Online (Sandbox Code Playgroud)

将不胜感激任何帮助.

java selenium-webdriver

3
推荐指数
1
解决办法
895
查看次数

关于IP组播的问题?

嗨,我正在创建流媒体应用程序.因为我正在使用IP多播.

告诉我如何在将其添加到组中之前验证客户端.

那与IGMP有什么关系吗?

networking udp

2
推荐指数
1
解决办法
1650
查看次数

Glassfish中已加载类的总数

我有EJB的企业应用程序.该应用程序的总大小为34兆.当我部署我的应用程序时一切都很好但是当我重新部署它时,总加载类的数量增加.我正在使用visualVM查看此信息.它应该是它应该是什么,或者它是一个内存泄漏.如何解决这个问题呢?谢谢

java memory deployment glassfish classloader

2
推荐指数
1
解决办法
2566
查看次数

面对HtmlUnitDriver的问题

我正在使用HtmlUnitDriver打开一个链接.这是我的代码:

HtmlUnitDriver webDriver = new HtmlUnitDriver();
webDriver.get("some url here");
Run Code Online (Sandbox Code Playgroud)

但我得到以下例外.

Caused by: com.gargoylesoftware.htmlunit.ScriptException: Wrapped com.gargoylesoftware.htmlunit.ScriptException: Wrapped com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot find function aa in object [object Object]. (https://apis.google.com/_/apps-static/_/js/gapi/plusone/rt=j/ver=use0LfpKko4.en_US./sv=1/am=!CVDWKorrwvOYBs7wcQ/d=1/rs=AItRSTMxl0wiQySaT0IYW5gyOkdlVL9A6A/cb=gapi.loaded_0#3)
    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:595)
    at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:537)
    at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:538)
    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:499)
    at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:973)
    at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:349)
    at com.gargoylesoftware.htmlunit.html.HtmlScript$1.execute(HtmlScript.java:230)
    at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:240)
    at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:598)
    at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
    at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:556)
    at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1142)
    at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1044)
    at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:206)
    at org.cyberneko.html.filters.NamespaceBinder.endElement(NamespaceBinder.java:329)
    at org.cyberneko.html.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3018)
    at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2005)
    at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:908)
    at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:499)
    at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:452)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:789)
    at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:225)
    at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:179)
    at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:221)
    at …
Run Code Online (Sandbox Code Playgroud)

java selenium htmlunit

2
推荐指数
1
解决办法
4824
查看次数