老师这两个结果都是一样的,是不是不用转型啊,String类是object 的子类
老师我i想知道 视频里面老师那个boolean flag 是怎么用快捷方法敲出来的还是手速快?
我标出来的这个是什么意思啊老师
老师这两种方法run出来的结果都一样,是说明这两种方法没有区别吗
package com.itbaizhan.li.InternetCoding; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; /** * 一对多的服务器 */ class Msg extends Thread{ private Socket socket; public Msg(Socket socket){ this.socket=socket; } @Override public void run() { this.sendMsg(); } private void sendMsg(){ BufferedReader br=null; PrintWriter pw=null; try { br=new BufferedReader(new InputStreamReader(socket.getInputStream())); pw=new PrintWriter(socket.getOutputStream()); //这行有疑问 while(true){ pw.println(br.readLine()+"[ok]"); pw.flush(); } }catch (Exception e){ e.printStackTrace(); }finally { if(br!=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if(pw!=null){ pw.close(); } } } } public class EchoServer { public static void main(String[] args) { ServerSocket serverSocket=null; try { serverSocket=new ServerSocket(8888); System.out.println("服务器已启动,正在监听。。。"); while(true){ Socket socket=serverSocket.accept(); new Msg(socket).start(); } }catch (Exception e){ e.printStackTrace(); }finally { if(serverSocket!=null){ try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
在第31行中未加while循环导致客户端发送消息时,服务端返回了如下的结果图一的结果
我的理解是图三中的while循环死循环了,老师为什么在一对多的服务端类中加了while循环后就不会这样了呢?
图一:
图二:
图三:
为什么这里获取的是最大的索引数,原来的索引数不是3吗,4-1后索引数不是变成2了吗
老师这种情况是不是缺少SDK 了?今天好像误删了
怎么运行出来不对呢?
package 线程的使用; class A implements Runnable{ @Override public void run() { for (int i=0;i<10;i++){ System.out.println(Thread.currentThread().getName()+" "+i); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } } class B implements Runnable{ @Override public void run() { for (int i=0;i<10;i++){ System.out.println(Thread.currentThread().getName()+" "+i); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } } public class XianChengLianHe { public static void main(String[] args) { Thread t=new Thread(new A()); Thread t2=new Thread(new B()); t.start(); t2.start(); for (int i=0;i<10;i++){ System.out.println(Thread.currentThread().getName()+" "+i); if (i==2){ try { t.join(); } catch (InterruptedException e) { e.printStackTrace(); } } try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } }
import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; public class TwoWaySocketSever { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; Scanner scanner = null; BufferedReader br = null; PrintWriter pw = null; try { serverSocket = new ServerSocket(7777); System.out.println("服务端启动!监听端口8888~~~~~"); socket = serverSocket.accept(); br = new BufferedReader(new InputStreamReader(socket.getInputStream())); scanner = new Scanner(System.in); pw = new PrintWriter(socket.getOutputStream()); while (true) { String str = br.readLine(); System.out.println("客户端说:" + str); String keyput = scanner.nextLine(); pw.println(keyput); pw.flush(); } } catch (Exception e) { e.printStackTrace(); } finally { if(br !=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if(scanner!=null){ scanner.close(); } if(socket !=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } if(pw !=null){ pw.close(); } } } }
老师这是为什么报错呢
这里i<=HIGH就可以把127放到缓存区里
这个怎么快速复制的
还有为什么要在User类里面重写toString方法?
老师。User这个类里面为什么一定要添加get,set方法?
有什么用?我一直对这个地方理解不透彻。几天没看前面的又有点忘记了。还有一定要重写Hash'Code和
equals方法才能让Hashset方法里面实现不重复的功能吗
这里为什么要用toString() 转换成String输出,而不是直接输出
静态的什么时候用,还是分不清
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637