建议使用LinkedList将对象发送到服务器



带有链接列表的案例:

private void send(Socket clientSocket, LinkedList<Person> person) {

        try {
             ObjectOutputStream output; 
             output = new ObjectOutputStream(clientSocket.getOutputStream());
             output.writeObject(person);

        } catch (IOException ex) {
            Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

没有链接列表的案例:

private void send(Socket clientSocket, Person person) {

            try {
                 ObjectOutputStream output; 
                 output = new ObjectOutputStream(clientSocket.getOutputStream());
                 output.writeObject(person);

            } catch (IOException ex) {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

我看到了很多使用链表的源代码,但我不明白为什么。是一样的东西吗?如果没有,有什么区别?感谢

Person和LinkedList的区别在于,Person只是一个人,LinkedList是一个有序的人列表,即多个人。

如果不是在非常特定的情况下,则不应该使用LinkedList,通常使用List就足够了,因为您声明的是方法工作所需的接口,而不是特定的实现。

一旦您有了一个带有List的方法,无论您传递的是LinkedList或ArrayList,还是其他符合List语义的实现,都应该在功能上等效,并且"仅"在插入、检索或内存消耗方面提供更好的性能。

然而,如果你在列表上进行计算密集型操作,比如循环很多、添加或删除很多条目等,这些性能优势是有用的

当用于服务器调用时,我认为序列化LinkedList或其他实现(无论是使用java序列化还是任何其他序列化,如json等)的性能都是最低的。

相关内容

  • 没有找到相关文章

最新更新