java 板


LINE

先道歉,因为上次的范例有错 Conn conn= new Conn(); conn.select(); //conn.close(); conn=null; Thread.sleep(600000L); 那个Conn是我抓现成的范例来改的 我後来才注意到那个范例会用static的栏位去存Connection 所以连线不会被释放..... 後来把那个Conn改成动态栏位,并呼叫System.gc()之後 连线就会被释放了,这时候finalize也会被呼叫 从mysql的SHOW PROCESSLISE去看,也看的到连线被关闭 所以,理论上来说,开了连线之後丢着不理他 等Connection进入GC之後,连线就会被关闭了 基本上是不用担心连线被卡住的问题 只是系统的GC时间点..... 我只知道jvm有条执行绪专门在处理GC,至於执行的时间、条件就不清楚了 另外,之前我在写android时有用过stocket 那时stocket没呼叫close,就真的不会切断连线,即使activity被关闭了也一样 印象中只有在手机关机时,server端才会显示client断线 我不清楚android在底层是怎麽处理的 也看过activity关闭重新打开之後,上次设定的static栏位的值还在之类的状况 我猜这跟平台的运作有关系 所以我不确定依靠GC去关Connection,会不会遇到什麽问题 还有,看到推文有提到PhantomReference之类的东西 看起来挺有趣的..... java.lang.ref PhantomReference Reference ReferenceQueue SoftReference WeakReference 目前我试过的只有里面的get()那个方法 被WeakReference SoftReference参考的物件,在符合GC条件时一样会被回收掉 很适合用来侦测物件是否存活、资源管理之类的用途...... 好像也可以在物件符合GC条件时,把物件拿回来的样子 这部分的功能我只看过javadoc,还没实际试过 如果可以运作的话 就可以做出自动回收Connection、PreparedStatement之类的功能了 -- --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.59.16.65
1F:推 chchwy:Effective Java says: nerver rely on finalizer. 06/13 14:41
2F:→ LaPass:那可以依赖Reference吗? XD 06/13 16:05
3F:→ dou0228:与其相信GC/finalizer/Reference, 不如直接 call close 06/13 17:37
PhantomReference SoftReference WeakReference 之後试出来的结果,上面这几个都没办法这样用 这几个在绑定的物件的finalize被呼叫过後 才会被放到ReferenceQueue中 等於是说..... 这只用在物件被注销後,打算来做些什麽事才会用到 我能想到的用途也只有..... 记忆体快取之类的功能而已 另外,试着让程式不呼叫System.gc(); 让他跑 结果程式跟mysql的连线就挂在那边,一个多小时都没断掉 (都没进行过gc) 相对应的Reference物件当然也没进到ReferenceQueue中 如果设定个回圈让系统去gc 大概第一、二次呼叫gc的时候就会自己把连线切断了 另外SoftReference、WeakReference、PhantomReference在遇到GC时的差异是 WeakReference跟PhantomReference第一次GC时就会被清除 SoftReference第二次才会被清除 ※ 编辑: LaPass 来自: 125.233.152.211 (06/14 08:14)
4F:→ dou0228:System.gc 不保证一定会执行,所以量大你依赖它 = 找死 06/14 08:30
5F:→ bitlife:再讲一次,不应在finalize才释放自OS/其它AP取得应还的资源 06/14 08:58
6F:→ gwokae:楼上 & 楼楼上 +1 06/14 09:15
7F:→ LaPass:现有的Connection pool都是设定时间,超时就拿回去,这可能 06/14 10:30
8F:→ LaPass:是目前最好的解决法了。 06/14 10:36
9F:→ qrtt1:并没有超时就会拿回去,要视你的 configuration 而定。 06/14 10:43
10F:→ qrtt1:并且 connection pool 大多再包一层 proxy,会侦测发出去的 06/14 10:44
11F:→ qrtt1:connection 有没有动作,要 idle 到那个时间有困难。。 06/14 10:45







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP