会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132428个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 1171楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 1172楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 1173楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 1176楼

com.baizhanjava.lang.reflect.MethodTest2 {
    (String[] args)  {
        {


            Class c = Class.()Users users = (Users) c.newInstance()reflectStart = System.()Method method = c.getMethod(String.)(i = i < i++) {
                method.invoke(users)}
            reEnd = System.()System..println()start = System.()Users u = Users()(i = i < i++) {
                u.setUsername()}
            end = System.()System..println(+ (reEnd - reflectStart))System..println(+ (end - start))}(Exception e){
            e.printStackTrace()}
    }
}

java.lang.IllegalArgumentException: wrong number of arguments

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at com.baizhan.Test2.main(Test2.java:16)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131)


JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 1177楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 1178楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 1179楼

package com;

//接收客户端发送消息的线程类

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
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() {
        super.run();
    }

    //实现接收客户端发送的消息
    private void receiveMsg(){
        BufferedReader nb = null;
        try {
            nb = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
            while (true){
                String msg = nb.readLine();
                synchronized ("abc"){
                    //把读取到的数据写入公共数据区
                    CharRoomServer.buf="["+this.socket.getInetAddress()+"]"+msg;
                    //唤醒发送消息的线程对象
                    "abc".notifyAll();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (nb!=null){
                try {
                    nb.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (this.socket!=null){
                try {
                    this.socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

//xiang客户端发送消息的线程类

class ChatSend extends Thread{
    private Socket socket;
    public ChatSend(Socket socket){
        this.socket = socket;
    }
    @Override
    public void run() {
        sendMsg();
    }


    //将公共数据区的消息发送给客户端

    private void sendMsg(){
        PrintWriter pw = null;
        try {
            pw = new PrintWriter(this.socket.getOutputStream());
            while (true){
                synchronized ("abc"){
                    //让发送消息的线程处于等待状态
                    "abc".wait();
                    //将公共数据区的消息发送给客户端
                    pw.println(CharRoomServer.buf);
                    pw.flush();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            if (pw!=null){
                pw.close();
            }
            if (this.socket!=null){
                try {
                    this.socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

public class CharRoomServer {
    //定义公共数据区
    public static String buf;
    public static void main(String[] args)  {
        System.out.println("Chat Server Version 1.0");
        System.out.println("Listen at 8888");
        ServerSocket serverSocket = null;
        try {
            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();
                }
            }
        }
    }
}

"C:\Program Files\Java\jdk-15.0.1\bin\java.exe" -Didea.launcher.port=51224 "-Didea.launcher.bin.path=C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\Administrator\IdeaProjects\socketDemo\out\production\socketDemo;C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.2\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 com.CharRoomServer

Chat Server Version 1.0

Listen at 8888

java.lang.NullPointerException: Cannot invoke "java.net.ServerSocket.accept()" because "serverSocket" is null

at com.CharRoomServer.main(CharRoomServer.java:111)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:564)

at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131)


Process finished with exit code 0





找不到解决方法来

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 1184楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 1185楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637