静态方法,对象可以调用的吧?,为何在测试线程是否存活时,sleep()方法是静态方法,使用Thread引用的对象却调用不了呢?
class Node<E>{ private E item;// 存储元素 private Node next;// 存储下一个节点对象的地址 Node(E item,Node next){ this.item = item; this.next = next; } } class Node<E>{ E item;// 记录元素 Node<E> prev;// 记录前一个节点对象 Node<E> next;// 记录下一个节点对象 Node(Node<E> prev,E item,Node<E> next){ this.prev = prev; this.item = item; this.next = next; } }
老师,同样是定义节点类,为什么单向链表就需要写
private Node next;
双向链表就需要加泛型
Node<E> next;
老师,我这跟上课讲的一样的,为啥报这样错。
System Volume Information
老师,这个是我突然想到的问题,就是有的时候在磁盘上,或者优盘上会发现这个文件,删不了,这个文件名,是代表的什么,不太理解这个,请老师指教。
老师,就是我这个Fx<String> k4=new Fx<>() 传入的是String 但是k4.name="zhangsan";的话会报出null,但是要是是k3.name="zhangsan";就不会报出null,但是Fx<Integer> k3=new Fx<>();传入的类型明明是int类型
不是用的idea吗,怎么变成用Eclipes了,看的有点蒙,idea中怎么创建XML呢?
为啥 我这反射0,普通方法252- -,不是反射比普通方法运行慢吗
package com.a.cx; import java.lang.reflect.Method; /** * 测试反射机制的效率 */ public class TestReflectDemo2 { public static void main(String[] args) { try { //反射耗时 Class clazz = Class.forName("com.a.cx.Users"); //newInstance() 返回的是Object类型的结果,这里强制类型转换为Users类型 Users users = (Users)clazz.newInstance(); long reflectStart = System.currentTimeMillis(); Method method = clazz.getMethod("setUsername", String.class); for (int i=0;i<100000000;i++){ method.invoke(users,"李二狗"); } long refectEnd = System.currentTimeMillis(); //非反射方式耗时 long start = System.currentTimeMillis(); Users u = new Users(); for (int i=0;i<100000000;i++){ u.setUsername("oldlu"); } long end = System.currentTimeMillis(); System.out.println("反射执行时时间:"+(refectEnd-refectEnd)); System.out.println("非反射执行时时间:"+(end-start)); } catch (Exception e) { e.printStackTrace(); } } }
老师,我15行怎么会报错,视频里老师也不是传了一个Integer的数据类型吗?
package Test; import java.io.*; import java.net.ServerSocket; import java.net.Socket; /** * 接收客户端消息的线程类 */ class ChatReceive extends Thread{ private Socket socket; public ChatReceive(Socket socket) { this.socket = socket; } @Override public void run() { this.receiveMsg(); } /** * 实现接收客户端发送的消息 */ private void receiveMsg(){ BufferedReader br=null; try{ br=new BufferedReader(new InputStreamReader(this.socket.getInputStream())); while (true){ String msg=br.readLine(); synchronized ("abc"){ //把读取到的数据写入公共数据区 ChatRoomServer.buf="["+this.socket.getInetAddress()+"]"+msg; "abc".notifyAll(); } } }catch (Exception e){ e.printStackTrace(); }finally { if (br!=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } /** * 向客户端发送消息的线程类 */ class ChatSend extends Thread{ private Socket socket; public ChatSend(Socket socket) { this.socket = socket; } @Override public void run() { this.SendMsg(); } /** * 将公共数据区的数据发送到客户端 */ private void SendMsg(){ PrintWriter pw=null; try{ pw=new PrintWriter(this.socket.getOutputStream()); while (true){ synchronized("abc"){ //让线程处于等待状态 "abc".wait(); pw.println(ChatRoomServer.buf); pw.flush(); } } }catch (Exception e){ e.printStackTrace(); }finally { if (pw!=null){ pw.close(); } if (this.socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } public class ChatRoomServer { public static String buf; public static void main(String[] args) { System.out.println(" 1.0"); System.out.println("Listen at 8888"); ServerSocket serverSocket=null; try { serverSocket=new ServerSocket(8888); while (true){ Socket socket=serverSocket.accept(); System.out.println("连接到 "+socket.getInetAddress()); new ChatReceive(socket).start(); new ChatSend(socket).start(); } }catch (Exception e){ e.printStackTrace(); }finally { if (serverSocket!=null){ try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
老师我这里代码怎么报错,没找到问题
老师,请问一下为什么要定义一个Node<k,V>pl=tab[i = (n - 1) & hash];来进行判断,不直接用tab[i = (n - 1) & hash]判断呢?
//服务端代码 import java.io.IOException; import java.io.PrintWriter; import java.net.Socket; public class BasicSocketClient { public static void main(String[] args) { Socket socket=null; PrintWriter pw=null; try { //创建Socket对象,两个参数:1.服务端的IP地址,2.服务端所监听的端口 socket =new Socket("127.0.0.1",8888); pw.println("服务端 你好"); pw.flush(); } catch (IOException e) { e.printStackTrace(); }finally{ if (pw!=null){ pw.close(); } if (socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } //客户端代码 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class BasicSocketServer { public static void main(String[] args) { Socket socket=null; BufferedReader br=null; try { ServerSocket serverSocket=new ServerSocket(8888); System.out.println("服务器启动等待监听。。"); //启动服务器监听 socket= serverSocket.accept(); //读取客户端发送的消息 br= new BufferedReader(new InputStreamReader(socket.getInputStream())); System.out.println(br.readLine()); } catch (IOException e) { e.printStackTrace(); }finally { if (br!=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if (socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } 为啥我的结果报错,服务端输出null
如果当添加结点的时候二叉树正好为空没有元素结点,无法进行判断,是不是需要进行判断一下二叉树是否为空,定义添加结点就为根结点
视频里面说,hashset容器的元素是放在数组中的,那么按视频老师举的例子,假如a和b用哈希算法最终得出来存放位置的索引值都是2,在a已经先放入2的位置后,那b最终是放在数组中哪个索引位置了呢?
为什么初始化数据时用左移,而不直接用16等数字初始化呢?
不好意思啊,老师第一次用这个不怎么会用,我就是想知道我这个values()为什么会报错,代码检查了没什么问题呀
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637