技术标签: Java语言
1、强引用
public void handleMessage(Message msg) {
case FAIL:
GoplayException mException = new GoplayException();
setVideoUrlFailReason(mException);
mListener.onFailed(mException);
break;
}
protected void setVideoUrlFailReason(GoplayException mResult) {
......
}
public void onFailed(GoplayException e) {
.....
}
setVideoUrlFailReason,又有一个局部变量mResult指向了同样堆内存地址。引用计数为2。
随着setVideoUrlFailReason函数的结束, 引用计数减少1,目前为1。
mListener.onFailed,又有一个局部变量e指向同样堆内存地址,引用计数加1,目前为2。
随着onFailed函数结束,引用计数减1,目前为1。
最后随着handleMessage函数结束,引用计数减1,目前为0。
强引用对象只有引用计数为0,或者被赋值为null,java垃圾回收器才会回收。
强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题
2、软引用
如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。
使用软引用:
MyObject aRef = new MyObject();
SoftReference aSoftRef=new SoftReference(aRef);
从软引用中获取对象:
MyObject anotherRef=(MyObject)aSoftRef.get();
弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。
使用弱引用:
MyObject aRef = new MyObject();
SoftReference aSoftRef=new WeakReference(aRef);
MyObject anotherRef=(MyObject)aSoftRef.get();
1. Divider分割线1.1. Divider分割线区隔内容的分割线。1.2. Divider Attributes 参数 说明 类型 可选值 默认值 direction 设置分割线方向 string horizontal / vertical horizontal con_vue divider
/dev/vda1 占用100% 该删除的文件已删除却还是100%_使用rz命令看不到自己上传的文件
目录源代码目录结构单体启动后端前端本地启动前端打包发布build默认账号密码参考:http://www.jeecg.com/JeecgBoot开发文档https://github.com/jeecgboot/jeecg-boot源代码目录结构项目结构├─ jeecg-boot-parent(父POM: 项目依赖、modules组织)│ ├─ jeecg-boot-base(共通模块: 工具类、config、权限、查询过滤器、注解、接口等)│ ├─ jeecg-boot-module-d_jeecgboot 单体框架
12月24日(星期四) 一,前期准备:参阅之前两篇文章 A. 了解时间栅栏(Time Fence)的概念, B. 了解MRP自动发放计划单(Planned Order)..._mrp跑po
1. jQuery事件机制jQuery的事件机制,指的是:jQuery对JavaScript操作DOM事件的封装,包括了:事件绑定、事件解绑、事件触发。最主要的特点:可以给DOM对象绑定多个事件2. jQuery事件的发展历程(了解)简单事件绑定(单个事件 <详见jq04>) >> bind事件绑定 >> delegate事件绑定 >> on【...
一、简介 2001年,Fernando Perez为了得到一个更为高效的交互式Python解释器而启动的一个项目,IPython不仅仅是一个加强版的shell,他可以直接进行绘图操作的GUI控制台,一个基于web的交互式笔记本,以及一个轻量级的快速并行计算引擎。 ipython是一个升级版的交互式python命令行工具.二、ipython安装 一、在已有Python环境安装...
eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果。同样地, exec语句将字符串str当成有效Python代码来执行.提供给exec的代码的名称空间和exec语句的名称空间相同.最后,execfile(filename [,globals [,locals ]])函数可以用来执行一个文件,看下面的例子:>>
教你用AI Studio+wechaty+阿里云白嫖一个智能微信机器人前言这绝对是全网最细教程,没有之一右上角有Fork功能,还有点赞功能,你懂的项目展示1. 搞定云服务器部分我这里是用的阿里云的云服务器,你也可以用其他的比如腾讯云的、华为云的等等。1.1 注册一个阿里云账号并完成实名认证阿里云官网: https://account.aliyun.com/1.2 点击底部的免费试用1.3 点击右下角了解试用1.4 选择一款产品1.5 选择操作系统为Ubuntu, 点击_wechaty 购买
哎,听说了吗?前天德国输了听说了,简直扎心,不想接着看了,感觉人生失去了方向世界杯不看了,可以看华清远见版世界杯足球对抗赛啊听说还有视频彩蛋呢!那还等啥啊,走,看看去!4年一次的世界杯,简直就是全世界人民的X药,大家的high点开始同步,仿佛世界大同了。球场上队员们的一举一动,都成了地球人津津乐道的谈资。每到世界杯,你在每天早晨总会看见一帮疯子,他们满眼血丝、黑眼圈沉重,但眼睛里却散发出异样兴奋的..._华清远见智能小车
在hibernate注解(三)中,我提高过一对一(@OneToOne)懒加载失效的问题。虽然给出了解决方法,但并没有给出完整的解决方案。今天我专门针对该问题进行讨论。至于懒加载失效的原因,在之前的文章中已经我已经叙述过了,就不再重复了,不明白的可以去看看。_@onetoone lazy
Yuv420P格式在安防视频中非常常见,因为H264或者H265解码之后,就是这种格式。YUV定义了三个分量:“Y”表示明亮度(Luminance或Luma)也就是灰度值。U和V表示色度。..._webgl播放yuv420
2019独角兽企业重金招聘Python工程师标准>>> ...