当前位置: 首页 > 编程日记 > 正文

Object的finalize()方法的作用是否与C++的析构函数作用相同

Object的finalize()方法的作用是否与C++的析构函数作用相同

public class Finalization {private static Finalization finalization;/**finalize在gc回收中有不确定性,所以不推荐用finalize进行回收*/@Overrideprotected void finalize(){System.out.println("finalized");//System.gc()时,这一步可能没有被执行到就终止了,所以可能为null或对象地址。//可以让线程睡眠执行此步骤finalization=this;}public static void main(String[] args) {Finalization f = new Finalization();System.out.println("first print: "+f);f= null;//调用Finalization的finalize方法System.gc();try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("second print: "+f);System.out.println(finalization);}
}


未加入线程休眠的代码,发现finalization可能输出为null

first print: com.gclhaha.javabasic.jvm.gc.Finalization@1b6d3586
second print: null
finalized
null


加入休眠代码后

first print: com.gclhaha.javabasic.jvm.gc.Finalization@1b6d3586
finalized
second print: null
com.gclhaha.javabasic.jvm.gc.Finalization@1b6d3586


Java中强引用、软引用、弱引用、虚引用有什么用


强引用


软引用

软引用还可以配合引用队列去使用

弱引用

弱引用还可以配合引用队列去使用

虚引用

gc在回收对象时,这个对象具有虚引用,那么在回收前,回将虚引用加入引用队列中,通过判断引用队列中是否加入虚引用来了解被引用的对象是否被gc回收,可以起到哨兵的作用。

软引用和弱引用也可以先像上面这样配合ReferenceQueue使用。

总结

相关文章:

leetcode Edit Distance

作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4051082.html 题目链接:leetcode Edit Distance 最短编辑距离,简单dp,dp[i,j]表示到str1的第i个字符和str2的第j个字符止的最短编辑距离。 dp[i,j] min(dp[i-1,j-…

设计模式的征途—10.装饰(Decorator)模式

虽然目前房价依旧很高,就连我所在的成都郊区(非中心城区)的房价均价都早已破万,但却还是阻挡不了大家对新房的渴望和买房的热情。如果大家买的是清水房,那么无疑还有一项艰巨的任务在等着大家,那就是装修。…

ue4商城资源 Nature Cave Cliff 自然洞崖景观场景

ue4商城资源 Nature Cave Cliff 自然洞崖景观场景 ue4商城资源 Nature Cave Cliff 自然洞崖景观场景 ue4商城资源 Nature Cave Cliff 自然洞崖景观场景 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Nature Cave Cliff 自然洞崖景观场景 大小解压后&#x…

android View未渲染时获得高度

ViewTreeObserver vto tv.getViewTreeObserver();vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {public void onGlobalLayout() {heigh appDescription.getHeight();tv.getViewTreeObserver().removeGlobalOnLayoutListener(this);}}); 转载于:https://www.c…

指定服务器无效,安装sqlserver2008r2 服务器配置,服务帐户配置出错,提示Sql server服务指定的凭据无效...

iOS 手势大全1.Touch事件 //系统自动调用 //一个UITouch代表一根手指 按住option变成两根手指 //虽然是两个手指,但只执行一次触摸事件 - (void)touchesBegan:(NSSet ...与useradd命令相关的两个默认配置文件Configuration Files for User Management Defaults When working …

2022-2028年中国树脂行业市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国树脂行业市场行业相关概述、中国树脂行业市场行业运行环境、分析了中国树脂行业市场行业的…

Web API路由和动作选择

前言 本文描述ASP.NET Web API如何把一个HTTP请求路由到控制器的一个特定的Action上。关于路由的总体概述可以参见上一篇教程 http://www.cnblogs.com/aehyok/p/3442051.html。这篇文章主要来学习路由过程的细节。如果你创建了一个Web API项目,发现有一些请求没有按…

希望和等待:目标,欲望和意志

意志是盲目的。 欲望是不能消灭的,只能代替。 高人云,人生最重要的是什么?是目标。哲人言,人生无非希望和等待而已。 人的信息系统是任务为导向的,所有的人都有目标,不过自觉不自觉,大小&#x…

c4d+ps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with Cinema 4D + Photoshop

c4dps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with C4D PS c4dps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with C4D PS c4dps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with C4D PS c4dps打造抽象NFT加密艺术 Create Abstract NFT Cryp…

vb打开ftp服务器文件路径,VB上传指定文件到FTP指定目录。。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼目前用如下代码能够实现上传,但是不能上传到指定目录去。。怎么改变?Option ExplicitPrivate Const INTERNET_OPEN_TYPE_DIRECT 1Private Const scuseragent "vb wininet"Private Const INTERNE…

firefox+linux+nginx搭建server与client通过证书双向认证环境

项目中需要搭建一个server和client基于证书的双向认证环境。由我来做,我也不会。 经过一晚上的研究,基本摸清了(知其然不知其所以然)。做下笔记。 基本环境: 1.安装nginx。 2.安装openssl。 生成证书: 首先…

编写高性能Java代码的最佳实践

编写高性能Java代码的最佳实践 摘要:本文首先介绍了负载测试、基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践。最后研究了JVM特定的调优技巧、数据库端的优化和架构方面的调整。以下是译文。 介绍 在这篇文章中&…

Exchange 2013 OWA搜索邮件失败问题处理

Exchange 2013 OWA搜索邮件失败问题处理问题:接到用户反馈,exchange 2013 owa搜索邮件失败,提示“您的搜索未返回任何结果“,如下图,但是outlook搜索正常。打开EMS命令行工具,get-mailboxdatabasecopystatu…

PAT_B_1027 打印沙漏

题目描述: 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印************ ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符…

3dmax2021入门学习教程

3dmax2021入门学习教程 MP4 | h264,1280x720 |语言:英语中文字幕(根据原英文字幕机译)原英文字幕 | 4h 23m | 3.55 GB 含课程素材工程文件 云桥网络 平台获取素材 你将学到什么 3DS MAX中的样条线和多边形建模 纹理、照明和渲…

关于HTML代码的转义

笔记: 1.在通过jsonp方式传输HTML代码的时候,为了防止代码中的一些字符影响json的语法,需要对HTML代码进行转义。 2.转义的时候可以只转义特殊字符(引号之类的),也可以把所有字符(中文&#xff…

php ajax替换数据,如何用ajax替换php函数

我是这里的 AJAX 新手。ajax的动作执行后如何替换初始的php函数?我发现执行操作后页面不会刷新。这是代码:javascriptfunction set_ddm(another_data) {var result $.ajax({url: ../display/ea_form_header.php,type: POST,data: {action: set_ddm,Data…

2022-2028年中国输送胶管行业市场全景调查及投资前景趋势报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国输送胶管行业市场行业相关概述、中国输送胶管行业市场行业运行环境、分析了中国输送胶管行…

CGIC简明教程(转摘)

CGIC简明教程 本系列的目的是演示如何使用C语言的CGI库“CGIC”完成Web开发的各种要求。**************&#…

conflicts with existing, non-compatible bean definition of same name and class

Annotation-specified bean name xxxxxImpl for bean class [cn.abc.dao.service.xxxxxImpl] conflicts with existing, non-compatible bean definition of same name and class [cn.abc.dao.service.dev.xxxxxIImpl] 编译没问题,运行就报错了。 一查原来发现在dao…

Tree 使用方式

Traditional Ways of Tree Traversal This page contains examples of some “standard” traversal algorithms (ones that can be found in most textbooks). All examples perform pre-order tree traversal on a general rooted tree. “Algorithms, Data Structures and P…

网站更换服务器ip地教程,由于服务器更换IP地址,服务器不更换。需要如何操作使网站正常运行呢?,POSCMS,CodeIgniter技术文档,PHP开发文档,迅睿CMS框架官方教程...

多文件Files内容详情中(show.html) 模板中调用方法是:{loop $字段名 $i $c} 序号: {$i} 标题:{$c.title} 描述:{$c.description} 文件原始地址:{dr_get_file($c.file)} 文件的下载地址:{dr_down_file($c.file)} 图片缩…

3ds Max V-Ray5 完整指南大师班视频教程

3ds Max V-Ray5 完整指南大师班视频教程 时长15小时 包括项目文件 1920X1080 MP4 语言:英语中文字幕(机译) 标题:Gumroad–V-Ray 5 Masterclass:您的3ds Max V-Ray完整指南 大小:41.8G 共八大章 88小节课程 信息&am…

2022-2028年中国氢化丁晴橡胶行业市场研究及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国氢化丁晴橡胶电商行业市场行业相关概述、中国氢化丁晴橡胶电商行业市场行业运行环境、分析…

配置Exchange OWA和Sharepoint网站单点登录

配置Exchange OWA和Sharepoint网站单点登录如果我们在组织中已经部署完成了Lync、Exchange以及Sharepoint,那么我们会发现这三套系统在通过域账户登录计算机时,如果本机有安装Outlook和Lync,那么在登录Lync或启动Outlook的时候就会自动使用当…

BigTable

转载于:https://www.cnblogs.com/fanweisheng/p/11250529.html

Blender2.9全流程创建逼真未来科幻蝙蝠汽车视频教程

Blender2.9全流程创建逼真未来科幻蝙蝠汽车视频教程 MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2通道 含课程工程素材 体裁:在线学习|语言:英语中文字幕(根据原英文字幕机译更准…

微服务项目用了几台服务器,微服务部署运维

docker介绍,及作用就是类似VM虚拟机一样的虚拟容器技术。docker 可以帮我们把所需要的应用打包容器, 每一个容器都相互独立的,而且容器占用内存小,启动和管理的速度非常快。比如 之前我们使用linux 虚拟机,如果要用mys…

JAVA用最简单的方法来构建一个高可用的服务端,提升系统可用性

一、什么是提升系统的高可用性 JAVA服务端,顾名思义就是23体验网为用户提供服务的。停工时间,就是不能向用户提供服务的时间。高可用,就是系统具有高度可用性,尽量减少停工时间。如何用最简单的方法来搭建一个高效率可用的服务端…

jQuery学习笔记一

2019独角兽企业重金招聘Python工程师标准>>> 1、使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,attr(属性名,属性值)格式则是设置元素属性名的值。 2、操作元…