小编Gee*_*eek的帖子

我为什么要使用Deque over Stack?

Stack我的用例需要一个数据结构.我应该能够将项目推送到数据结构中,我只想从堆栈中检索最后一项.该堆栈的JavaDoc说:

Deque接口及其实现提供了更完整和一致的LIFO堆栈操作集,应优先使用此类.例如:

Deque<Integer> stack = new ArrayDeque<>();
Run Code Online (Sandbox Code Playgroud)

我肯定不希望在这里同步行为,因为我将使用本地数据结构的方法.除了这个,我为什么要喜欢DequeStack这里?

PS:Deque的javadoc说:

Deques也可以用作LIFO(后进先出)堆栈.应优先使用此接口,而不是传统的Stack类.

java data-structures

134
推荐指数
4
解决办法
6万
查看次数

h:button和h:commandButton之间的区别

在JSF 2中,h:button和之间有什么区别h:commandButton

jsf button jsf-2

69
推荐指数
2
解决办法
11万
查看次数

什么是缓存命中和缓存未命中?为什么上下文切换会导致缓存未命中?

从第11章(性能和可扩展性)和部分命名上下文切换的的JCIP书:

当切换新线程时,它所需的数据不太可能在本地处理器高速缓存中,因此上下文切换会导致一连串的高速缓存未命中,因此线程在首次调度时运行速度会慢一些.

  1. 有人可以用一种易于理解的方式解释缓存未命中的概念及其可能的相反(缓存命中)吗?
  2. 为什么上下文切换会导致大量缓存未命中?

language-agnostic cpu concurrency cpu-architecture cpu-cache

67
推荐指数
2
解决办法
7万
查看次数

Executor Service的shutdown和shutdownNow之间的区别

我想知道的基本区别shutdown(),并shutdownNow()为关闭Executor Service?据我了解shutdown()应该用于优美关机,这意味着人乳宁,并排队等待处理,但尚未开始应该可以完成所有任务,并shutdownNow()做一个突然关机意味着一些未完成的任务被取消,未启动的任务也被取消.我还缺少哪些隐含/明确的东西?

PS:我发现了另一个问题,关于SO与此相关的,但不是我想知道到底是什么.

java java.util.concurrent

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

钻石标志在UML类图中表示什么?

请考虑以下两个图表.顶部箭头在右端包含一个普通箭头,底部包含一个箭头,左端有一个菱形,右端有一个普通箭头.本伟大的书GoF的同时具有这两种图表的用法.

我想了解什么是钻石在第二种情况下表示,这两个中的哪一个给人之间的关联性更强CustomerOrder.

在两种情况中Customer,Order该类是否负责类的生命周期?

在此输入图像描述 在此输入图像描述

uml design-patterns class-diagram

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

检查数据有效性的责任是谁?

我很困惑是调用者还是被调用者检查数据合法性责任.

被调用者是否应该检查传入的参数是否应该null满足其他一些要求,以便callee方法可以正常且成功地执行,并捕获任何潜在的异常?或者呼叫者有责任这样做?

language-agnostic

53
推荐指数
5
解决办法
3108
查看次数

BigInteger没有限制意味着什么?

我查看了与Big Integer有关的stackoverflow问题,特别是我不理解这一行(斜体字):

在BigInteger类中,我没有限制,并且有一些有用的函数,但将你漂亮的代码转换为使用BigInteger类非常令人沮丧,特别是当原始操作符不能在那里工作时你必须使用这个类中的函数.

我不知道我错过了什么,但代表一些没有限制的东西,你需要无限的记忆?这是什么诀窍?

java integer-overflow biginteger

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

什么是weblogic服务器中的t3协议?

最近我开始使用weblogic并查看日志中显示的url中对t3的引用.这个t3协议是什么?

weblogic

48
推荐指数
2
解决办法
8万
查看次数

java.lang.IllegalArgumentException的原因是什么:没有枚举const类,即使迭代遍历values()也可以正常工作?

这个问题基本上是我上一个问题的延伸.我问上一个问题,确保在加载类时填充Enum常量.这是我的课程,再加上一个简单的方法getByName:

public enum PropName {

  CONTENTS("contents"),
  USE_QUOTES("useQuotes"),
  ONKEYDOWN("onkeydown"),
  BROWSER_ENTIRE_TABLE("browseEntireTable"),
  COLUMN_HEADINGS("columnHeadings"),
  PAGE_SIZE("pageSize"),
  POPUP_TITLE("popupTitle"),
  FILTER_COL("filterCol"),
  SQL_SELECT("sqlSelect"),
  ;

  private String name;

  private PropName(String name) {
    this.name = name;
  }

  public String getName() {
    return name;
  }

  public static PropName getByName(String name){
    return   PropName.valueOf(name);
  }
}
Run Code Online (Sandbox Code Playgroud)

对方法的调用getByName("columnHeadings")是抛出,java.lang.IllegalArgumentException: No enum const class labware.web.component.limsgrid.PropName.columnHeadings但如果我用以下代码替换此方法,它就可以正常工作.

 public static PropName getByName(String name){
    for(PropName prop : values()){
      if(prop.getName().equals(name)){
        return prop;
      }
    }

    throw new IllegalArgumentException(name + " is not a valid PropName"); …
Run Code Online (Sandbox Code Playgroud)

java enums

44
推荐指数
2
解决办法
10万
查看次数

稀疏图和密集图之间有什么区别?

我读到它是理想的通过邻接列表表示稀疏图形和通过邻接矩阵表示密集图形.但我想了解稀疏图和密集图之间的主要区别.

graph-theory graph data-structures

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