`

Java cleanup code

阅读更多

Java shutdown hook guarantee that clean-up code is always run, regardless of how the user terminates the application.

Here is an example from Hadoop:

java 代码
  1. /**  
  2.  * A class to track the list of DFS clients, so that they can be closed  
  3.  * on exit.  
  4.  * @author Owen O'Malley  
  5.  */  
  6. private static class ClientFinalizer extends Thread {   
  7.   private List clients = new ArrayList();   
  8.   
  9.   public synchronized void addClient(DFSClient client) {   
  10.     clients.add(client);   
  11.   }   
  12.   
  13.   public synchronized void run() {   
  14.     Iterator itr = clients.iterator();   
  15.     while (itr.hasNext()) {   
  16.       DFSClient client = (DFSClient) itr.next();   
  17.       if (client.running) {   
  18.         try {   
  19.           client.close();   
  20.         } catch (IOException ie) {   
  21.           System.err.println("Error closing client");   
  22.           ie.printStackTrace();   
  23.         }   
  24.       }   
  25.     }   
  26.   }   
  27. }   
  28.   
  29. // add a cleanup thread   
  30. private static ClientFinalizer clientFinalizer = new ClientFinalizer();   
  31. static {   
  32.   Runtime.getRuntime().addShutdownHook(clientFinalizer);   
  33. }  

Elegant and useful!!!

 

 

分享到:
评论

相关推荐

    Clean Code

    But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to ...

    Java编码规范2008版.pdf

    例如,通过导入预设的Eclipse格式模板文件(HuaXin_codetemplates.xml、HuaXin_Formatter.xml、HuaXin_CleanUp.xml),可自动实现代码注释、内容排版、清理无用变量等功能。 2.2 命名规范:涉及包、类与接口、方法...

    VSCodeJavaInstaller-online-win-0.2.2.exe

    Visual Studio Code works with all major Java versions from various vendors up to 13. To help you get started quickly, we created a special Installer of Visual Studio Code for Java developers. The ...

    Test-Driven Java Development - Second Edition.pdf

    This book will teach the concepts of test driven development in Java so you can build clean, maintainable and robust code About This Book Explore the most popular TDD tools and frameworks and become...

    Java By Comparison Become a Java Craftsman in 70 Examples

    Write code that's clean, concise, and to the point: code that others will read with pleasure and reuse. Comparing your code to that of expert programmers is a great way to improve your coding skills. ...

    eclipse格式化代码配置文件.zip

    4. 对于`cleanup-profile.xml`,路径是`Java` -> `Code Style` -> `Clean Up`,同样点击右侧的`Import...`按钮导入。 5. 导入后,你可以根据需要预览和调整这些配置,然后应用到当前工作空间或特定项目。 通过这些...

    Eclipse 格式化模板

    例如,这里提到的`format_cleanup`可能就是这样的一个模板文件。 2. **导入模板**:在Eclipse中,选择`Window` -> `Preferences`进入设置界面。然后展开`Java` -> `Code Style` -> `Formatter`,点击右侧的`Import....

    Java程序员的推荐阅读书籍

    - **《Clean Code: A Handbook of Agile Software Craftsmanship》**:本书由Robert C. Martin(Uncle Bob)撰写,是关于编写清晰、简洁代码的经典之作。书中不仅介绍了多种设计模式的应用场景,还深入探讨了如何...

    Java编码规范

    - 使用`Source > Clean Up`功能可以批量按照设定的规范格式化代码。 - 定义并启用代码检查器,如`Preferences > Java > Compiler > Errors/Warnings`,能帮助发现潜在的问题。 - 配置Eclipse的`Keys`,例如设置...

    eclipse的代码格式化配置文件

    压缩包中包含了checkstyle-profile.xml,cleanup-profile.xml,codetemplates.xml,formatter-profile.xml四个代码格式化的配置文件,只需要在eclipse->window->preferences->java->code style中import对应的xml即可...

    技术编码规范

    在“工具”这一标签中,我们看到的三个文件名——koudai-formatter.xml、koudai-cleanUp.xml、koudai-codetemplates.xml,它们分别对应了代码格式化、清理和代码模板的配置。这些工具通常与IDE(集成开发环境)如...

    eclipse常用配置

    CleanUp.xml文件定义了这些规则,包括但不限于:导入排序、去除未使用的变量、统一缩进、转换为大驼峰命名等。使用此配置,可以快速地使代码符合编码标准。 4. **maven_settings.xml**: Maven是Java项目管理工具...

    eclipse farmatter save action auto import

    "Save Action"则是Eclipse的一项设置,允许在保存文件时自动执行特定操作,如格式化代码、删除未使用的导入(Cleanup)或添加缺少的导入(Auto Import)。 "Auto Import"是Eclipse的另一个重要特性,它能自动将所需...

    java版飞机大战源码-reservation:PAC预约工具

    清理:cleanup.xml 命名约定 Eclipse 项目名称约定 名称 评论 啊啊啊 pom 项目作为所有项目的父项目 aaa-common 通用代码:实用程序、常量、异常、... aaa-*-客户端 实体、服务接口 aaa-*-服务 EJB,服务实现 aaa-...

    eclipse的内部配置和代码格式配置详解

    - 使用Eclipse的"Source"菜单中的"Clean Up"功能,自动按照当前代码风格对代码进行整理。 通过深入理解并充分利用Eclipse的内部配置和代码格式化设置,开发者可以更好地优化个人开发环境,提高代码质量,降低维护...

    《SCJP学习指南》chap5

    // clean up resources } ``` ### 断言(Assertions) 断言是一种调试工具,用于检查程序中假定为真的条件。自Java 1.4版本起,Java引入了断言机制,允许开发者在开发阶段进行测试和调试,确保程序状态符合预期,...

Global site tag (gtag.js) - Google Analytics