加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 交互 > 正文

史上最全Java面试题整理(附参考答案)

发布时间:2020-12-24 10:36:47 所属栏目:交互 来源:网络整理
导读:下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 1、面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类。 继承:基于基类创建新类。 封装:将数据

}

<span class="cke_reset cke_widget_drag_handler_container"><img class="cke_reset cke_widget_drag_handler" title="点击并拖拽以移动" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" alt="" width="15" height="15" data-cke-widget-drag-handler="1">

72、用Java的套接字编程实现一个多线程的回显(echo)服务器。

答:

<span class="hljs-keyword"&gt;private <span class="hljs-keyword"&gt;static <span class="hljs-keyword"&gt;final <span class="hljs-keyword"&gt;int ECHO_SERVER_PORT = <span class="hljs-number"&gt;6789;

<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;public <span class="hljs-keyword"&gt;static <span class="hljs-keyword"&gt;void <span class="hljs-title"&gt;main<span class="hljs-params"&gt;(String[] args) {        
    <span class="hljs-keyword"&gt;try(ServerSocket server = <span class="hljs-keyword"&gt;new ServerSocket(ECHO_SERVER_PORT)) {
        System.out.println(<span class="hljs-string"&gt;"服务器已经启动...");
        <span class="hljs-keyword"&gt;while(<span class="hljs-keyword"&gt;true) {
            Socket client = server.accept();
            <span class="hljs-keyword"&gt;new Thread(<span class="hljs-keyword"&gt;new ClientHandler(client)).start();
        }
    } <span class="hljs-keyword"&gt;catch (IOException e) {
        e.printStackTrace();
    }
}

<span class="hljs-keyword"&gt;private <span class="hljs-keyword"&gt;static <span class="hljs-class"&gt;<span class="hljs-keyword"&gt;class <span class="hljs-title"&gt;ClientHandler <span class="hljs-keyword"&gt;implements <span class="hljs-title"&gt;Runnable {
    <span class="hljs-keyword"&gt;private Socket client;

    <span class="hljs-function"&gt;<span class="hljs-keyword"&gt;public <span class="hljs-title"&gt;ClientHandler<span class="hljs-params"&gt;(Socket client) {
        <span class="hljs-keyword"&gt;this.client = client;
    }

    <span class="hljs-meta"&gt;@Override
    <span class="hljs-function"&gt;<span class="hljs-keyword"&gt;public <span class="hljs-keyword"&gt;void <span class="hljs-title"&gt;run<span class="hljs-params"&gt;() {
        <span class="hljs-keyword"&gt;try(BufferedReader br = <span class="hljs-keyword"&gt;new BufferedReader(<span class="hljs-keyword"&gt;new InputStreamReader(client.getInputStream()));
                PrintWriter pw = <span class="hljs-keyword"&gt;new PrintWriter(client.getOutputStream())) {
            String msg = br.readLine();
            System.out.println(<span class="hljs-string"&gt;"收到" + client.getInetAddress() + <span class="hljs-string"&gt;"发送的: " + msg);
            pw.println(msg);
            pw.flush();
        } <span class="hljs-keyword"&gt;catch(Exception ex) {
            ex.printStackTrace();
        } <span class="hljs-keyword"&gt;finally {
            <span class="hljs-keyword"&gt;try {
                client.close();
            } <span class="hljs-keyword"&gt;catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读