摘要: 反射机制是java提供的一种基础功能,赋予程序在运行时自省的能力(introspect),通过反射我们可以操作类或者对象,比如获取某个对象的类定义,获取类声明的属性或者方法,调用方法或者操作对象,甚至可以运行时修改类的定义。 动态代理是方便运行时动态创建代理对象,动态处理代理方法调用的机制,比如包装 阅读全文
posted @ 2020-07-30 21:43 鹏鹏要努力 阅读(446) 评论(0) 推荐(0)
摘要: Vector 是 Java 早期提供的线程安全的动态数组,如果不需要线程安全,并不建议选择,毕竟同步是有额外开销的。Vector 内部是使用对象数组来保存数据,可以根据需要自动的增加容量,当数组已满时,会创建新的数组,并拷贝原有数组数据。 ArrayList 是应用更加广泛的动态数组实现,它本身不是 阅读全文
posted @ 2020-07-30 21:08 鹏鹏要努力 阅读(138) 评论(0) 推荐(0)
摘要: 最根本的区别,int是基本数据类型,而integer是对象,对象就会有对应的属性和方法,注意integer中的中的value属性也是被final修饰的,因此在操作integer时,每次都会产生新的对象,与string道理类似。 阅读全文
posted @ 2020-07-30 20:55 鹏鹏要努力 阅读(313) 评论(0) 推荐(0)
摘要: String:是不可变类,不仅被声明为final类,而且所有的 属性也是final修饰,所以对于它的任何操作都会产生一个新的String对象。 StringBuffer:默认长度是16,是线程安全的,因为所有的方法都被添加了synchronized关键字,但是鱼和熊掌不能兼得,要求安全,就要舍弃性能 阅读全文
posted @ 2020-07-30 20:51 鹏鹏要努力 阅读(84) 评论(0) 推荐(0)
摘要: 在java语言中,除了基本数据类型以外,其他的引用都是各类对象的引用,根据生命周期的长短,分为以下四类: 强引用:我们new的对象所关联的引用就是强引用,当jvm内存空间不足时,宁肯抛出oom运行时错误,也不会将该引用回收来解决内存不足的问题。除非将其赋值为null或者超过引用的作用范围,该引用指向 阅读全文
posted @ 2020-07-30 20:34 鹏鹏要努力 阅读(190) 评论(0) 推荐(0)