强类型与弱类型 强引用与弱引用

来源:互联网 发布:编程游戏要钱吗 编辑:程序博客网 时间:2024/04/30 21:22


强类型:

       为所有变量指定数据类型称为“强类型”, 强/弱类型是指类型检查的严格程度的。语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译进行检查。



强引用:

    如何保证一个对象在释放后不会再被访问?最简单的是使用引用计数的智能指针,但是强引用会导致对象不会被释放,那么弱引用如何?弱引用允许对象被释放,弱引用必须先转成强引用才能对对象进行操作,如果转换失败,则表示对象已经被删除。


弱引用:

    在计算机语言中,弱引用可以使垃圾回收器回收内存,而不像强引用,如果引用被判定为弱引用可达,那么被回收器回收,如果一个对象只具有弱引用,那就类似于可有可无的生活用品。弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。


原创粉丝点击