标签:序列化 参与 ima nali util 输出 method 基本类型 方法
@target
说明了Annotation所修饰的对象范围: constructor、method、field、package、type等等。
@retention
定义了该Annotation被保留的时间长短, source(源文件保留)、class( class保留)、runtime(运行时有效)。
@inherited
某个被标记的类型是被继承的。一个类标记了带有@inherited的注解,那么他的子类也拥有这个注解。
@document
被修饰的注解会生成到javadoc中。
因为静态常量是在编译时期就确定的值,会存入类的常量池,而访问常量池中的常量是不需要加载类的。
访问控制,只能通过外部类调用
注意包装类的缓存值,Float和Double值没有缓存值,Integer和Long缓存值为-128~127超过之后会自动转换成对象。两个包装类型进行比较时需要用equals。
StringBuffer是线程安全的, StringBuilder是非线程安全的。
只能修饰成员变量,不能修饰类和方法。
反序列化使用输入流进行readObject。
几种拷贝对象的性能
cglib>Spring>apache, 一般不建议使用apache的因为对象转换会出错,Spring的date类型转换也可能会出错。
系统级别的错误,程序不必处理。出了错误之后只能退出运行。
Exception分为运行时异常和受检异常
RuntimeException包括:空指针异常,数组下标越界,classNotFound,类型转换异常等等。
受检异常指:编译器要求方法必须声明抛出可能发生的受检异常。
如果类中重写了finalize方法,当该类对象被回收时,finalize方法有可能会被触发。
标签:序列化 参与 ima nali util 输出 method 基本类型 方法
原文地址:https://www.cnblogs.com/clawhub/p/12064462.html