小编Ada*_*der的帖子

Openssl sha1长度

为什么执行命令后openssl sha1 < /dev/null | wc --bytes输出为50?SHA-1的输出大小应该是160位,这给我们20个字节.

linux bash openssl

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

解析命令和命令选项的bash变量

输入变量包含:

key1-key2-key3_command
Run Code Online (Sandbox Code Playgroud)

输出需要是:

command -k key1 -k key2 -k key3
Run Code Online (Sandbox Code Playgroud)

警告:键数可以从1到3不等.

我已经计算了破折号的数量,并使用if语句为每个键创建一个布尔指示符(即key1 = 1,unset key2).然后,${parameter:+word}如果设置了该键的标志,我将使用类似的东西来添加密钥.它开始变得有点凌乱,所以我想我会在这里询问实现这一目标的最佳方法是什么.

variables bash shell

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

类铸造不清楚

我有以下抽象类:

public abstract class AbstractGroup {

private String name;
.
.
.
}
Run Code Online (Sandbox Code Playgroud)

我有两个扩展这个抽象类的空类:

public class GroupA extends AbstractGroup {
}

public class GroupB extends AbstractGroup {
}
Run Code Online (Sandbox Code Playgroud)

是否有一种方法可以在不获取的情况下强制转换以下内容ClassCastException:( group属于类型GroupA)

group = (GroupB)group;
Run Code Online (Sandbox Code Playgroud)

我需要这个对象实例GroupB.

java oop casting class

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

$ @和$*有什么区别?

$@和之间有什么区别$*?为什么它们具有相同的价值,但"$@""$*"是不同的,当我设置IFS|

bash shell

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

多线程连接处理

我想编写一个服务器,它在给定的端口上侦听连接并将套接字放入BlockingLinkedQueue消费者线程将从中读取消息.我以这种方式接受传入的连接:

   ServerSocket serverSocket = new ServerSocket(port);
   while (true)
   {
        Socket socket = null;
        socket = serverSocket.accept();
        queue.put(socket);
   }
Run Code Online (Sandbox Code Playgroud)

当我尝试从两个独立的主机并行连接时,会发生在建立第二个连接后,对第一个的响应被发送到第二个主机.当我将我的代码更改为下面列出的代码时,第二个连接仅被拒绝:

   while (true)
   {
        ServerSocket serverSocket = new ServerSocket(port);
        Socket socket = serverSocket.accept();
        queue.put(socket);
   }
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 这两种情况有什么区别?为什么在第一种情况下消息被发送到第二个主机?
  2. 我应该如何重构我的代码,以便在我的服务器和两台主机之间创建单独的连接并并行处理它们?

java sockets multithreading

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

标签 统计

bash ×3

java ×2

shell ×2

casting ×1

class ×1

linux ×1

multithreading ×1

oop ×1

openssl ×1

sockets ×1

variables ×1