社区
Java SE
帖子详情
Java初学者CSDN第5问!
nisus_lee
2005-11-12 12:36:36
class Finalize
{
public void finalize()
{
System.out.println("finalize");
}
public static void main(String[] args)
{
new Finalize();//1
System.gc();
Finalize a=new Finalize();//2
System.gc();
}
}
这个程序为什么2中不执行finalize
...全文
323
12
打赏
收藏
Java初学者CSDN第5问!
class Finalize { public void finalize() { System.out.println("finalize"); } public static void main(String[] args) { new Finalize();//1 System.gc(); Finalize a=new Finalize();//2 System.gc(); } } 这个程序为什么2中不执行finalize
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pauliuyou
2005-11-16
打赏
举报
回复
jvm调用
hailun
2005-11-16
打赏
举报
回复
finalize()
这个函数谁调用啊
OnlyFor_love
2005-11-12
打赏
举报
回复
class test
{
public void finalize()
{
System.out.println("finalize");
}
public static void main(String[] args)
{
new test();//1
System.gc();
new test();//2
System.gc();
}
}
这样不就可以了吗?
hailun
2005-11-12
打赏
举报
回复
我也是新手
在1处之前并没有声明一个对象呀
怎么可以不用声明就直接实例化对象吗?
liu_you
2005-11-12
打赏
举报
回复
看样子1还是执行了,2是因为还有a在引用这个对象,你可以在gc前置a=null;
liu_you
2005-11-12
打赏
举报
回复
finalize应该protected才是重载Object的finalize方法.
liu_you
2005-11-12
打赏
举报
回复
class Finalize
{
public void finalize()
{
System.out.println("finalize");
}
public static void instance()
{
Finalize a=new Finalize();//3
}
public static void main(String[] args)
{
new Finalize();//1
System.gc();
Finalize a=new Finalize();//2
a=null;
System.gc();
instance();
System.gc();
}
}
执行结果为
finalize
finalize
finalize
应该能说明什么了吧?
方法体没执行完的时候JVM不能确定哪些变量是不再被引用的了!
liu_you
2005-11-12
打赏
举报
回复
class Finalize
{
public void finalize()
{
System.out.println("finalize");
}
public static void main(String[] args)
{
new Finalize();//1
System.gc();
Finalize a=new Finalize();//2
a=null;
System.gc();
}
}
执行结果:
finalize
finalize
龙宜坡
2005-11-12
打赏
举报
回复
OnlyFor_love的方法可行!
OnlyFor_love
2005-11-12
打赏
举报
回复
to hailun(大海):
其实new test();就是一个对象了。
相当于test aaa = new test();
那么new test() 就应该是aaa
aaa.方法 也就是new test().方法
OnlyFor_love
2005-11-12
打赏
举报
回复
finalize()被调用有三种情况
1.所有对象被Garbage Collection时自动调用,比如运行System.gc()的时候.
2.程序退出时为每个对象调用一次finalize方法。
3.显式的调用finalize方法
除此以外,正常情况下,当某个对象被系统收集为无用信息的时候,finalize()将被自动调用,但是jvm不保证finalize()一定被调用,也就是说,finalize()的调用是不确定的,这也就是为什么sun不提倡使用finalize()的原因.
nisus_lee
2005-11-12
打赏
举报
回复
还是没讲清楚实质的原因……等待ing……
mysql用户、权限管理
目录 一、用户管理 1、登录mysql 2、创建用户 3、更新用户 4、删除用户 5、 设置当前用户密码 6、修改其他用户密码 7、 MySQL8密码管理(了解 7.1、密码过期策略 7.2、密码重置策略 二、权限管理 1、 权限列表 2、 授予权限的原则 3、 授予权限 4、 查看权限 5、收回权限 三、权限表 1、user表 2、db表 3、 tables_priv表和columns_priv表 4、 procs_priv表 四、访
问
控制 1、连接核实阶
mysql 用户权限管理
用户权限管理主要有以下作用: 1. 可以限制用户访
问
哪些库、哪些表 2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作 3. 可以限制用户登录的IP或域名 4. 可以限制用户自己的权限是否可以授权给别的用户 一、用户授权 mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option; all privile
MySQL用户与权限管理
MySQL用户管理、权限管理相关
mysql 用户及权限管理
mysql 用户及权限管理 小结 MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。 在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户: 1 CREATEUSERusername IDENTIFIED BY'passwor...
MySQL中的用户权限管理
本文介绍了MySQL数据库的用户管理和权限控制。主要内容包括:查看用户信息、创建/删除用户账号、修改用户密码等用户管理操作;以及MySQL内置权限列表和授权机制。文章详细说明了用户创建时的主机限制、密码策略、IP地址格式等注意事项,并通过具体SQL示例演示了各项操作。权限管理部分展示了权限与数据库对象的对应关系,为数据库管理员提供了用户权限控制的实用指南。 (字数:149字)
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章