注释、注解、序列化

一、注释
总共三种注释,前两种编译器直接跳过,从来不阅读,第三种编译器是可以看懂的,当你使用javadoc这样的命令时会用到,用来生成api时用的
1、 //
2、 /* */
3、说明注释,它以 /** 开始,以 */结束

二、注解
1、注解与类、接口、枚举是在同一个层次,可以成为java 的一个类型。
2、注解是一种元数据,它是一种描述数据的数据,其作用在于提供程序本身以外的一些数据信息,
也就是说他不会属于程序代码本身,不参与逻辑运算,故而不会对原程序代码的操作产生直接的影响。

@Override
public String toString() {
    return"This is String Representation of current object.";
}

注解有什么好处?
1、@Override告诉编译器这是一个重写方法(描述方法的元数据),
2、父类中不存在该方法,编译器便会报错。
3、如果拼写错误,例如将toString()写成了toStrring(),也不用@Override注解,程序依然能编译运行,但这不是我的期望结果。

参考来源

三、序列化

对象

public class 序列化 implements java.io.Serializable {
    public String name;
    public String address;
    public transient int SSN;
    public int number;

    public void mailCheck() { System.out.println("Mailing a check to " + name + " " + address);}
}

序列化

import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.IOException;

public class 反序列化 {
    public static void main(String [] args)
    {
        Employee e = null;
        try
        {
            // 创建输入的文件对象
            FileInputStream fileIn = new FileInputStream("./src/序列化、网络编程、多线程、邮件/employee.ser");
            // 创建输入流对象
            ObjectInputStream in = new ObjectInputStream(fileIn);
            e = (Employee) in.readObject();
            in.close();
            fileIn.close();
        }catch(IOException i)
        {
            i.printStackTrace();
            return;
        }catch(ClassNotFoundException c)
        {
            System.out.println("Employee class not found");
            c.printStackTrace();
            return;
        }
        System.out.println("Deserialized Employee...");
        System.out.println("Name: " + e.name);
        System.out.println("Address: " + e.address);
        System.out.println("SSN: " + e.SSN);
        System.out.println("Number: " + e.number);
    }
}

反序列化

import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.io.IOException;

public class 反序列化 {
    public static void main(String [] args)
    {
        Employee e = null;
        try
        {
            // 创建输入的文件对象
            FileInputStream fileIn = new FileInputStream("./src/序列化、网络编程、多线程、邮件/employee.ser");
            // 创建输入流对象
            ObjectInputStream in = new ObjectInputStream(fileIn);
            e = (Employee) in.readObject();
            in.close();
            fileIn.close();
        }catch(IOException i)
        {
            i.printStackTrace();
            return;
        }catch(ClassNotFoundException c)
        {
            System.out.println("Employee class not found");
            c.printStackTrace();
            return;
        }
        System.out.println("Deserialized Employee...");
        System.out.println("Name: " + e.name);
        System.out.println("Address: " + e.address);
        System.out.println("SSN: " + e.SSN);
        System.out.println("Number: " + e.number);
    }
}

 

 

 

上一篇:Springboot线程池并发处理数据优化


下一篇:Springboot线程池的使用和扩展