`
megocdy
  • 浏览: 25861 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

尽量少用终结函数

    博客分类:
  • java
 
阅读更多
尽量少用终结函数,如
1)用终结函数关闭一个已经被打开的文件是严重错误的,
2)用终结函数释放数据库上的锁,是让OS垮掉的好办法

因为JVM会延迟执行终结函数,执行线程的优先级很低,
不可靠,我们不应该依赖终结函数来更新关键性的永久状态。

用try--finally结构
0
0
分享到:
评论

相关推荐

    C#析构函数

    因此,在设计应用时应尽量避免频繁的资源创建与销毁,并合理使用析构函数或IDisposable接口的Dispose方法。 通过以上的知识点,可以全面了解C#中析构函数的概念、特性以及在内存管理和资源清理中的作用。在实际编程...

    C#编程艺术:构造函数与析构函数的奥秘

    - **异常安全**:构造函数中应尽量避免抛出异常,以确保对象状态的一致性。如果必须抛出异常,应该提供足够的信息帮助调试。 - **析构函数的限制**:由于析构函数的调用时机不确定,不应依赖其进行关键的资源清理。...

    C语言递归函数的执行与求解.pdf

    C语言递归函数是程序设计中的一个重要概念,它指的是在函数内部直接或间接地...然而,递归函数的使用也需要注意,合理的终结条件是保证程序稳定运行的关键,同时在效率和资源消耗方面也要进行权衡,选择最适合的算法。

    PIC单片机C语言程序设计(15).pdf

    首先,从文件标题和描述中可以得知,这份文档是关于PIC单片机C语言程序设计的教程或者讲座的终结章节,旨在帮助初学者掌握如何用C语言编写PIC单片机实用程序,并通过实例讲解来总结前面所学知识。 知识点一:PIC...

    Visual Tkinter 使用VB设计python界面的可视化设计工具(终结版),目前最好用。

    Python和VB都是能让人快乐的编程语言,我使用了Python之后,很多自己使用的工具都使用Python开发或改写了,因为最终实现的Python代码实在太短了(相比VB),有时候Python一行代码就可以实现VB一个函数的功能。...

    递归下降分析器.rar

    递归下降解析的核心在于将文法规则转化为一系列的递归函数,每个函数对应于一个非终结符,通过调用这些函数,我们可以逐步解析输入的符号串,验证其是否符合语法规则。以下是对递归下降分析器的一些关键知识点: 1....

    Borland C++ Builder 6.0 Build 10.166 汉化 补丁 终结版 .rar

    请勿删除此说明文件并请尽量少改动汉化文件名。如果直接链接本站下载链接,请在下载位置注明出处。  5.在使用过程中如果发现翻译错误之处请及时来信指出。 6.如果确系因使用本软件导致软件运行不正常或系统不...

    对于任意给定的输入串(词法记号流)进行语法分析,递归下降方法和非递归预测分析方法可以任选其一来实现。

    即对错误能提示,并且能在一定程度上忽略尽量少的记号来进行接下来的分析。可以参考书上介绍的同步记号集合来处理。 可能的出错情况:idid*id, id**id, (id+id, +id*+id …… 4. 输入串以#结尾,输出推导过程中...

    高性能web开发终结篇(3)

    还应该避免在布局敏感的函数(如getBoundingClientRect)执行时修改元素,因为这可能导致不必要的回流。 总之,理解页面呈现的流程、回流和重绘的概念,以及如何避免不必要的性能开销,对于创建高性能的Web应用至关...

    基于SIP开发软件电话的一些资源(转自YOUTOO)

    (最近工作重心不在SIP开发,SO本文档也没有机会更新,有技术问题也请尽量咨询他人,本人不一定能及时回复。) 一直没空仔细研究下oSIP,最近看到其版本已经到了3.x版本,看到网上的许多帮助说明手册都过于陈旧,且...

    编译复习提纲屈鸿1

    15. 寄存器分配原则:尽量将频繁访问的变量分配到寄存器中,减少内存访问。 16. 活动记录的内容:在执行函数调用时,保存局部变量、参数和返回地址等信息的数据结构。 17. 分配方式:静态分配在程序开始时分配内存...

    java 面试题

    - `finalize`:是对象的终结方法,在对象被垃圾回收前可能被调用,用于清理工作,但不推荐依赖此方法进行资源释放,因为调用时机不确定。 以上是对Java面试中常见的一些技术点的详细解析,涵盖了异常处理、多线程、...

    Java编码规范1

    10. **不要使用Finalizers(终结)**:Finalizers在对象生命周期结束时执行,但其执行时间不确定,可能导致资源泄露。通常,应使用`try-finally`或`try-with-resources`来确保资源的释放。 11. **完全限定imports**...

    数据结构与算法.doc

    * 有且仅有一个终结结点 an,没有直接后继,有且仅有一个直接前趋 an-1。 * 其余的内部结点 ai(2≤i≤n-1)都有且仅有一个直接前趋 ai-1 和一个直接后继 ai+1。 线性表的链式存储包括单链表、循环链表和双链表。...

    WCF编码规范-《WCF服务编程》附录

    2. **构造函数**:除非服务是明确的单例,否则不应提供带参数的构造函数。 3. **可靠性**:在相关绑定中启用可靠性选项,如可靠会话,确保消息传递的完整性。 4. **命名空间**:为契约提供有意义的命名空间,便于...

    创建Windows Service,定时监控客户端服务程序

    但是,由于Windows Service通常需要在后台长时间运行,因此建议尽量避免阻塞服务线程,优先考虑异步调用。 在本案例中,使用异步调用来调用WCF服务,可以避免因长时间等待响应而阻塞服务线程。可以通过实现`...

    JPL_Coding_Standard_Java

    - 构造函数中调用非最终方法可能会导致未初始化的对象状态被访问。 - 这种做法可能会引入难以调试的错误。 16. **R16:优先选择组合而非继承** - 使用组合而非继承可以提高代码的灵活性和可扩展性。 - 继承虽然...

    哈工大计算机考研复试相关.pdf

    5. **Follow集合**:在编译原理中,Follow集合指的是某个非终结符后可能出现的终结符集合。 6. **递归下降分析法**:自顶向下的分析方法,从语法树的根节点开始,逐层分解到叶节点。 7. **LR(K)分析法**:一种自...

    Synchronous_Silverlight与WCF同步操作

    2. **配置服务**:在服务的配置文件(如web.config)中,你需要设置服务的行为、绑定和终结点,以便客户端能够找到并连接到服务。 3. **生成服务代理**:在Silverlight项目中,使用“添加服务引用”功能,输入WCF...

    Effective Java第三版1

    1. **考虑用静态工厂方法替换构造器**:静态工厂方法比构造器更灵活,它们可以返回已存在或新创建的对象,还可以有选择性地返回子类的实例,且名称可以更具描述性。 2. **构建器(建造者)**:当类有多个构造器参数...

Global site tag (gtag.js) - Google Analytics