小编Ágo*_*áth的帖子

如何在类之间执行JAVA回调?

我来自JavaScript,其中回调非常简单.我试图将它们实现到JAVA中,但没有成功.

我有一个Parent类:

import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Server {
    ExecutorService workers = Executors.newFixedThreadPool(10);
    private ServerConnections serverConnectionHandler;

    public Server(int _address) {
        System.out.println("Starting Server...");
        serverConnectionHandler = new ServerConnections(_address);

        serverConnectionHandler.newConnection = function(Socket _socket) {
            System.out.println("A function of my child class was called.");
        };

        workers.execute(serverConnectionHandler);

        System.out.println("Do something else...");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个从父级调用的子类:

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ServerConnections implements Runnable {
    private int serverPort;
    private ServerSocket mainSocket;

    public ServerConnections(int _serverPort) {
        serverPort = _serverPort;
    } …
Run Code Online (Sandbox Code Playgroud)

java callback

65
推荐指数
3
解决办法
17万
查看次数

Java Thread.stop()vs Thread.interrupt()

我有以下代码:

renderThread = new Thread(new Runnable() {

    @Override
    public void run() {
        for (int i = 0; i < 10000000; i++) {
            System.out.println("Number: " + i);
        }
    }
});

renderThread.start();

try {
    Thread.sleep(100);
} catch (InterruptedException ex) {
    ex.printStackTrace();
}

renderThread.interrupt(); //It should stop, but it does not stop.
Run Code Online (Sandbox Code Playgroud)

renderThread.interrupt()不会中断线程,它会继续运行.如果我更换renderThread.interrupt().stop(),那么线程停止.但是,.stop()已弃用.那么,什么是停止线程的正确方法,如果stop被弃用并且interrupt不起作用?

java multithreading

18
推荐指数
3
解决办法
4万
查看次数

如何在Java中解析和验证WebSocket框架?

我用Java编写了一个WebSocket帧解码器:

private byte[] decodeFrame(byte[] _rawIn) {
        int maskIndex = 2;
        byte[] maskBytes = new byte[4];

        if ((_rawIn[1] & (byte) 127) == 126) {
            maskIndex = 4;
        } else if ((_rawIn[1] & (byte) 127) == 127) {
            maskIndex = 10;
        }

        System.arraycopy(_rawIn, maskIndex, maskBytes, 0, 4);

        byte[] message = new byte[_rawIn.length - maskIndex - 4];

        for (int i = maskIndex + 4; i < _rawIn.length; i++) {
            message[i - maskIndex - 4] = (byte) (_rawIn[i] ^ maskBytes[(i - maskIndex - 4) …
Run Code Online (Sandbox Code Playgroud)

java frame websocket

3
推荐指数
1
解决办法
8121
查看次数

标签 统计

java ×3

callback ×1

frame ×1

multithreading ×1

websocket ×1