我正在寻找使用Java 1.7的适当功能(try-with-resources)实现客户端/服务器套接字通信的最佳模式.必须确保所有线程和资源都已完全关闭和释放.应考虑有效的Java/Clean代码项以及简单的可调试性(每行只有一个语句).
任何反馈或讨论将不胜感激.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import org.junit.Test;
public final class ThreadedServerTest1 {
private static final class ThreadedServer implements Runnable {
private final Socket socket;
ThreadedServer(final Socket socket) {
this.socket = socket;
}
public static void main(final String arguments[]) {
final int port = arguments.length > 0 ? Integer.parseInt(arguments[0]) : 9999;
try (final ServerSocket …Run Code Online (Sandbox Code Playgroud) dash -c行为与以下不同bash -c:
docker run -it ubuntu /bin/dash -c ps
PID TTY TIME CMD
1 ? 00:00:00 sh
7 ? 00:00:00 ps
docker run -it ubuntu /bin/bash -c ps
PID TTY TIME CMD
1 ? 00:00:00 ps
Run Code Online (Sandbox Code Playgroud)
这种差异有解释吗?