老师,通配符的上下限限定可以同时使用吗?
老师,在开发中什么时候使用泛型类,什么时候使用泛型接口,什么时候使用泛型方法?
老师为什么这里会报错
老师,文档中typora的样式很漂亮,我用的也是typora,可以发一下老师的typora样式文件吗?
按照老师的步骤敲,加上synchronized方法后会报错java: illegal start of expression,仔细检查了下好像也没敲错,文档用的表示方式和老师敲的也不太一样,请问是为什么
class Programmer{ private String name; public Programmer(String name){ this.name = name; } public void coding() { synchronized (){ try { System.out.println(this.name + " double click Idea"); Thread.sleep(500); System.out.println(this.name+" Idea start"); Thread.sleep(500); System.out.println(this.name+" happy coding"); } catch (InterruptedException e) { e.printStackTrace(); } } } public void computer() { synchronized (){ try { System.out.println(this.name + " POWER ON"); Thread.sleep(500); System.out.println(this.name + " press on"); Thread.sleep(500); System.out.println(this.name + " system starting"); Thread.sleep(500); System.out.println(this.name + " System On"); } catch (InterruptedException e) { e.printStackTrace(); } } } } class Working1 extends Thread{ private Programmer p; public Working1(Programmer p){ this.p = p; } @Override public void run() { this.p.computer(); } } class Working2 extends Thread{ private Programmer p; public Working2(Programmer p){ this.p = p; } @Override public void run() { this.p.coding(); } } public class TestSyncThread { public static void main(String[] args) { Programmer p = new Programmer("Lee"); new Working1(p).start(); new Working2(p).start(); } }
老师你好,我这里有一个假排序的问题
HashMap默认给出的数组长度为16,而上课时测试的数字只有10个,我在想既然是假排序,又已知在分配元素的索引位置时,索引数 = hash值%16 ,那么测试数为100个的时候,输出结果应该以16个数为一个循环的输出,可结果却依然是从小到大排列,请问为什么?
我的推理:
我认为输出结果应该以16为一个循环,那我就是默认了在输出时是按着一个一个链表轮流输出
而结果依然是从小到大排列,那是不是因为输出时是先将每一个链表中的第一个元素按顺序输出,输出完一轮后再将每一个链表中的第二个元素进行输出,依次类推
还有一种可能就是默认的数组长度进行了扩宽,100数字对于一百个索引
希望老师能给我解答
下面的head还是原来的头节点吗,但是上面不是已经定义新节点是头节点了吗,为什么还可以这么写(head.prev像是新节点的前驱一样)
import sun.dc.pr.PRError; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; /** * 发送消息 */ class Send1 extends Thread{ private Scanner scanner; private Socket socket; public Send1(Socket socket,Scanner scanner){ this.socket=socket; this.scanner=scanner; } @Override public void run() { this.Send1Msg(); } public void Send1Msg(){ try (PrintWriter pw=new PrintWriter(socket.getOutputStream());){ while (true){ String msg=scanner.nextLine(); pw.println(msg); pw.flush(); } }catch (Exception e){ e.printStackTrace(); } } } /** * 接收消息的线程 */ class Receive1 extends Thread{ private Socket socket; public Receive1(Socket socket){ this.socket=socket; } @Override public void run() { this.ReceiveMsg(); } public void ReceiveMsg(){ try (BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));){ String msg=br.readLine(); System.out.println("他说:"+msg); }catch (Exception e){ e.printStackTrace(); } } } public class GoodTCP { public static void main(String[] args) { ServerSocket serverSocket=null; Socket socket=null; try { Scanner scanner=new Scanner(System.in); System.out.println("请输入:server,<port> 或者:<ip>,<port>"); String str=scanner.nextLine(); String[] arr=str.split(","); //启动服务器 if ("server".equals(arr[0])){ System.out.println("TCP Server Listen at "+arr[1]+"......."); serverSocket=new ServerSocket(Integer.parseInt(arr[1])); socket=serverSocket.accept(); }else {//启动客户端 socket=new Socket(arr[0],Integer.parseInt(arr[1])); System.out.println("连接成功"); } //启动发送消息的线程 new Send1(socket,scanner).start(); //启动接收消息的线程 new Receive1(socket).start(); }catch (Exception e){ e.printStackTrace(); }finally { if (serverSocket !=null){ try { serverSocket.close(); }catch (IOException e){ e.printStackTrace(); } } } } }
为什么我的只能一次,而且另外一个也会运行回答null呢。
这个假排序有点晕 我在这留个记号 等以后再回来看看
Abstraclist是抽象类,Arraylist和Arraylist继承了Abstraclist,为什么Arraylist和Arraylist有不是抽抽象类了呢
守护进程是一对一的吗?同一守护进程可以同时守护多个用户进程吗
请问本节课里老师打开的 jdk1.8 中文 有道翻译版 这个从哪里可以获取?
坤哥,PrintWriter 转换编码还是会乱码,是什么问题?ANSI转gbk 用utf-8也是会乱码的
老师 这个代码为什么会一直运行
public class UDPUserTest02 { public static void main(String[] args) { long a = 1000l; try(DatagramSocket socket = new DatagramSocket(9000); ByteArrayOutputStream out = new ByteArrayOutputStream(); DataOutputStream output = new DataOutputStream(out)){ output.writeLong(a); byte[] arr = out.toByteArray(); DatagramPacket pocket = new DatagramPacket(arr,arr.length,new InetSocketAddress("127.0.0.1",9999)); socket.receive(pocket); }catch(Exception e){ e.printStackTrace(); } } }
public class UDPServerTest { public static void main(String[] args) { try(DatagramSocket socket = new DatagramSocket(8888)){ //接受信息缓冲区 byte[] b = new byte[1024]; //创建数据报包对象 DatagramPacket packet = new DatagramPacket(b,b.length); socket.receive(packet); String str = new String(packet.getData(),0,packet.getLength()); System.out.println(str); }catch(Exception e){ e.printStackTrace(); } } } public class UDPUserTest { public static void main(String[] args) { try(DatagramSocket socket = new DatagramSocket(9999)){ byte[] b = "我们顶峰相见".getBytes(); DatagramPacket packet = new DatagramPacket(b,b.length,new InetSocketAddress("127.0.0.1",8888)); socket.send(packet); }catch(Exception e){ e.printStackTrace(); } } }
老师 我这服务端上接收不到消息,把视频中的代码复制上去也接受不到
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637