聊天室项目总结

本次项目主要依靠java基础和javafx进行界面设计完成
功能点实现:


存在的问题:
1.对java基础的掌握非常薄弱,对于面向对象等在项目中需要经常使用的都只有模糊的概念,导致在写项目的过程中只能反复的去看
2.项目的结构和风格非常不好,最开始写的时候甚至都没有将客户端和服务端进行分离,登陆注册写完之后才进行修改,各个类中多次使用了public static 类型 变量名的形式在不同的类之间进行传递,get和set方法使用的较少,甚至在最开始的时候还在前端直接使用mysql语句进行数据库操作
3.在完成功能点的同时没有考虑到使用时的体验感,最开始想做一个新版QQ,实现上遇到困难之后改作老版QQ,一个普通的聊天室做出了接近两位数的界面,用起来也十分不方便
4.对于整个项目的流程和业务把控不清晰,不知道应该怎么写,流程十分乱套
5.创新功能点的缺少,在实现绝大部分功能点后没有进行一些拓展,限制了自己的思维 ,没有一些新东西的体现

做:
1.再用一周的时间完成一个创新功能点

2.对自己的项目进行一下复盘和改进

3.继续去学习java基础

使用的是序列化后的字节流进行传输

Java序列化就是指把Java对象转换为字节序列的过程

Java反序列化就是指把字节序列恢复为Java对象的过程。

序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。

       反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。

   总结:核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及描述信息)

序列化优点:

 ①将对象转为字节流存储到硬盘上,当JVM停机的话,字节流还会在硬盘上默默等待,等待下一次JVM的启动,把序列化的对象,通过反序列化为原来的对象,并且序列化的二进制序列能够减少存储空间(永久性保存对象)。

 ②序列化成字节流形式的对象可以进行网络传输(二进制形式),方便了网络传输。

 ③通过序列化可以在进程间传递对象。

序列化算法需要做的事:

  ① 将对象实例相关的类元数据输出。

  ② 递归地输出类的超类描述直到不再有超类。

  ③ 类元数据输出完毕后,从最顶端的超类开始输出对象实例的实际数据值。

  ④ 从上至下递归输出实例的数据。
示例:(登录请求发送)
 

//创建输出流
                String Operation = MarkTool.registertip;
                //序列化,并传输提示词和user对象
                Talk.Connection.oos.writeObject(Operation);
                Talk.Connection.oos.writeObject(u);
public class SerializableTest {
        public static void main(String[] args) throws IOException, ClassNotFoundException {
            //序列化
            FileOutputStream fos = new FileOutputStream("object.out");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            Student student1 = new Student("lihao", "wjwlh", "21");
            oos.writeObject(student1);
            oos.flush();
            oos.close();
            //反序列化
            FileInputStream fis = new FileInputStream("object.out");
            ObjectInputStream ois = new ObjectInputStream(fis);
            Student student2 = (Student) ois.readObject();
            System.out.println(student2.getUserName()+ " " +
                    student2.getPassword() + " " + student2.getYear());
    }
 
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值