小编12r*_*rad的帖子

创建一个返回单身人士的工厂

我有共同的代码(我称之为控制器的多个类)需要由项目中的多个包共享.我正在考虑创建一个返回这些控制器的工厂.因此,工厂将有一个hashmap,可以返回请求的控制器,如果没有创建,则创建一个新的.控制器有公共代码,因为我不需要创建这些控制器的多个实例,我认为它们应该是单例.

这看起来像是一个好方法吗?

java singleton design-patterns factory

5
推荐指数
1
解决办法
6678
查看次数

Maven默认阶段的目标?

根据我的理解,在maven中,插件目标可以附加到生命周期阶段.如果没有定义,默认阶段是什么?

java maven

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

网上餐厅预订系统(数据结构)

我的任务是设计一个在线预订系统。用户可以在其中输入邮政编码/人数/预订时间并获得餐厅列表。假设(用户和餐厅始终在同一城市)

每个餐厅可以有多个座位不同的桌子。因此,可容纳4人的2张桌子和可容纳4人的4张桌子。

我在使用正确的数据结构时遇到了麻烦。

我的课如下

餐厅:包含timeofopening,timeOfClosing,totalNoOfSeatsAvailable不确定我如何在餐厅内存储表格信息。为表拥有一个单独的类没有任何意义。我需要的所有信息就是howMantables是免费的,它们的大小是多少。

保留:保留实际的保留并允许取消保留

ReservationSystem:包含“列表checkAvailability(长期,国际人士)”的接口,这将如何返回此列表?最初,我想到了使用priorityQueue来维护一个队列,该队列的席位数量最多。但是然后我将遍历该列表以查看时间是否正确,甚至进行保留,然后一旦进行保留,请更新此队列。一个问题是队列执行所有重复操作。

我的具体问题是:

  1. 如何在每个餐厅内存储餐桌信息。
  2. 维护此餐厅列表的最佳方法是什么,这样我就可以返回列表,而不必每次都对这些信息进行排序。

编辑:关于如何存储表信息的问题。我特别担心的是,存储表类将意味着我正在创建不必要的对象。这是我的理由。可容纳2个人的5张桌子具有完全相同的对象-我的意思是,它们之间没有任何有意义的信息是不同的。我只需要数字。座位数/桌子数(如果我有4桌但3 peole的桌子,我会考虑使用这张桌子)

我想到创建3个数组。假设表格代表1,2等,所以int [] differentSeatingOnTable; 它的索引是表,值是允许的座位。接下来是具有totalNoOfThosetable的表数组,其中索引是表,值是该表的总数。空闲表的相似之处freeTables的索引是表,剩余多少个空闲表。

java oop object-oriented-analysis data-structures

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

使用命令行在Windows中的zip文件夹

我正在编写一个需要压缩文件的程序.这将在Linux和Windows机器上运行.它在Linux中运行得很好,但我无法在Windows中完成任何操作.要发送命令,我使用的是apache-net项目.我也尝试过使用Runtime().exec,但是它没有用.有人可以建议吗?

CommandLine cmdLine = new CommandLine("zip");
     cmdLine.addArgument("-r");
     cmdLine.addArgument("documents.zip");
     cmdLine.addArgument("documents");
     DefaultExecutor exec = new DefaultExecutor();
     ExecuteWatchdog dog = new ExecuteWatchdog(60*1000);
     exec.setWorkingDirectory(new File("."));
     exec.setWatchdog(dog);
    int check =-1;
    try {
        check = exec.execute(cmdLine);
    } catch (ExecuteException e) {

    } catch (IOException e) {
    }
Run Code Online (Sandbox Code Playgroud)

java windows command

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

使用反射访问成员变量

我有一个A类,它有一个私有的最终成员变量,它是另一个B类的对象.

Class A {
  private final classB obj;
}

Class B {
   public void methodSet(String some){
   }

}
Run Code Online (Sandbox Code Playgroud)

我知道A级是单身人士.我需要使用类B中的方法"methodSet"设置一个值.我尝试访问classA并访问classA中的ClassB实例.

我这样做:

Field MapField = Class.forName("com.classA").getDeclaredField("obj");
MapField.setAccessible(true);
Class<?> instance = mapField.getType(); //get teh instance of Class B.
instance.getMethods()
//loop through all till the name matches with "methodSet"
m.invoke(instance, newValue);
Run Code Online (Sandbox Code Playgroud)

在这里我得到一个例外.

我不擅长反思.如果有人能提出解决方案或指出什么是错的,我将不胜感激.

java reflection

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

在静态块中初始化线程?

如果我在静态块中启动一个线程。jvm 会在加载类之前等待线程完成吗?

static {
    System.out.println("static block");
    DataRetrievalThread t = new DataRetrievalThread();
    t.run();
}
Run Code Online (Sandbox Code Playgroud)

我尝试这样做的原因是因为我想从服务器检索数据,而获取数据的时间太长了。因此,为了保留我想要检索的数据并将其存储在一个文件中,以便当客户端请求它时 - 它不需要调用服务器来获取信息。

java static multithreading jvm

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

mockito,间谍 - 不确定它是如何为部分嘲笑做的

我有一个类,我想模拟类的某些方法并测试其他方法.这是我能够证明并证明它有效的唯一方法.

class UnderTest{
   public void methodToTest(){
     methodToCall1()
     methodToCall2()
   }


  public void methodToCall1(){
  }

  public void methodToCall2(){
  }

}
Run Code Online (Sandbox Code Playgroud)

现在,因为我想测试第一个方法,我想创建一个UnderTest的部分模拟,这样我就可以验证这两个方法是否被调用.我如何在Mockito实现这一目标?

谢谢你的帮助!

java unit-testing mockito powermock

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

骑士之旅 - 导致无限循环,我无法弄清楚原因

我正在尝试使用回溯来解决骑士的旅行问题.我认为我的算法应该有效.我已经尝试但我无法弄清楚它为什么不起作用.它导致无限循环.

但是,如果我注释掉那条回路的线路solutionBoard[dst.x][dst.y]=-1;就行了!我只是不明白为什么!任何帮助,将不胜感激.

private int solutionBoard[][] = new int [8][8];

// The eight possible moves a knight can make from any given position
private static final Point[] MOVES = new Point[] { new Point(-2, -1),
        new Point(-2, 1), new Point(2, -1), new Point(2, 1),
        new Point(-1, -2), new Point(-1, 2), new Point(1, -2),
        new Point(1, 2) };

private int count = 0;

public KnightsTour_DFS(){
    // board is 0- 7
    //initialize visited
    for(int i =0; i<8;i++){
        for(int j = 0; …
Run Code Online (Sandbox Code Playgroud)

java algorithm backtracking depth-first-search

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

高效的java数据结构删除和检索信息?

我有一种情况,我需要一个可以添加字符串的数据结构.这种数据结构非常大.

我需要它的具体品质是:

  1. 得到(指数)
  2. 删除限制超过时最初添加的一定数量的条目.(LIFO)

我尝试使用ArrayList但删除操作是o(n),对于linkedList,traverse或get()操作将是o(n).

我还有其他选择吗?

java data-structures

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