当前位置: 首页 > news >正文

河南网站建设定制四大门户网站创始人

河南网站建设定制,四大门户网站创始人,做网站销售工资,店面设计师你好#xff0c;我是猿java。 在 Java中#xff0c;“final”、“finally”和“finalize”是三个不同的关键字或方法#xff0c;尽管它们的名字相似#xff0c;但在功能和用途上却有显著的区别#xff0c;这篇文章我们继续分析一篇农行1面的题目#xff1a;说说 final我是猿java。 在 Java中“final”、“finally”和“finalize”是三个不同的关键字或方法尽管它们的名字相似但在功能和用途上却有显著的区别这篇文章我们继续分析一篇农行1面的题目说说 finalfinallyfinalize的区别。 final final是一个保留关键字用于修饰类、方法和变量。在 Java 中final 关键字的主要作用是限制并且确保某些行为不会被改变。主要表现如下 final变量一旦被初始化就不能再被改变即常量。当声明一个变量为final时必须在定义的时候进行初始化或者在构造器中初始化从而确保对应的指针不会再指向其他对象。final方法不能被子类重写override。这样确保方法行为保持一致不被子类改变。final类不能被继承。通过将整个类声明为final防止其他类从它继承。例如String类就是一个final类这样可以保证字符串的不可变性。 下面给出几个 final的使用示例 final变量用于创建常量在定义时必须初始化减少错误和提高易读性 final double PI 3.14159;final方法确保方法的一致性和安全性避免被子类篡改 public final void display() {System.out.println(This is a final method.); }final类类被声明为 final意味着这个类不能被继承。这确保了类的实现不能被其他类修改或扩展。 public final class Constants {public static final String APP_NAME FinalDemoApp; }finally finally 是 Java 中的一个关键字主要用于异常处理结构中。它通常与 try 和 catch 块联用是异常处理机制中一个非常重要的部分。finally 的执行是几乎保证的无论是否发生异常即便在 try 块中有 return、break 或者 continue 语句finally 块仍然会执行。但有极少数情况下可能不会执行例如 如果在 try 或 catch 块中调用了 System.exit() 方法程序会退出finally 块不会执行。如果 JVM 出现了故障比如操作系统层面的崩溃这些都是程序无法控制的情况。 使用场景 在实际处理异常时finally 块用于保证一些重要的清理操作例如关闭资源释放锁等通常用于处理以下 3种场景 1. 资源管理 在编程实践中资源如文件、数据库连接、网络连接等的管理非常重要。finally 块可以用来确保这些资源在使用后被正确关闭、释放避免资源泄漏。如下示例代码 FileInputStream fileInput null; try {fileInput new FileInputStream(example.txt);// 处理文件 } catch (IOException e) {e.printStackTrace(); } finally {if (fileInput ! null) {try {fileInput.close();} catch (IOException e) {e.printStackTrace();}} }2. 恢复状态 在异常处理过程中系统可能会因为异常而处于一种不一致的状态。finally 块可以用来清理或者恢复这种状态例如重置修改过的变量。如下示例代码 Lock lock new ReentrantLock(); try {lock.lock();// 执行一些可能抛出异常的操作 } finally {lock.unlock(); // 确保锁总是会被释放 }3.清除事务 在事务处理中无论事务是否成功finally 块可以用来保证事务的闭合或清理等后续操作。例如在数据库事务中确保连接关闭。如下示例代码 Connection conn null; try {conn DriverManager.getConnection(DB_URL, USER, PASS);conn.setAutoCommit(false);// 执行多步数据库操作可能抛出异常conn.commit(); // 提交事务 } catch (SQLException e) {if (conn ! null) {try {conn.rollback(); // 回滚事务} catch (SQLException ex) {ex.printStackTrace();}}e.printStackTrace(); } finally {try {if (conn ! null) conn.close();} catch (SQLException e) {e.printStackTrace();} }finalize finalize() 是 JavaObject 类的一个方法它允许对象在被垃圾收集器回收之前执行清理操作。尽管在早期的 Java 版本中finalize() 方法被设计用于释放对象所持有的非 Java 语言的资源例如关闭文件或网络连接但是在现代 Java 开发中finalize() 已不再被推荐使用其原因主要在于它的许多不确定性和低效性。Oracle 已建议开发者使用其他方式进行资源管理尤其是在 Java 9 及以后版本中finalize() 已被标记为过时deprecated。 finalize() 的基本原理 1. 垃圾回收机制 在 Java 中垃圾回收器Garbage Collector, GC负责自动回收不再被引用的对象以释放内存。当垃圾回收器确定一个对象不再被引用时它会在该对象上调用 finalize() 方法前提是该对象未被标记为不可及状态。 2.生命周期 该方法可以被重写用于执行特定的清理任务比如释放非托管资源。finalize() 方法只会被调用一次即便对象在 finalize() 方法中重新被引用这个方法也不会被再次调用。 使用 finalize() 的问题 不确定性Java 的垃圾回收器无法保证 finalize() 方法会在对象死亡后立即执行。执行时间实际上是由 JVM 的垃圾收集来决定这可能导致延迟清理和资源延迟释放。 性能问题: 使用 finalize() 会增加 GC 的负担因为对象需要被多次标记和遍历导致一定的性能开销。 错误处理: 如果 finalize() 方法抛出异常GC 只会忽略异常不会传播这会导致难以调试的问题。 无法保证调用: 在程序正常终止之前不一定会触发 GC因此无法保护重要资源的释放。 使用示例 public class MyClass {Overrideprotected void finalize() throws Throwable {// 执行一些清理操作} }三者对比 控制级别 final是编译时属性用于类设计和限制避免继承和重写。finally是运行时捕获异常处理后的保障机制用于资源管理。finalize是执行时的垃圾回收机制的一部分但不再建议使用。 用途 final用于提供不可变性、继承控制、重写控制。finally用于异常处理中的资源清理。finalize过时的资源清理方法替代为try-with-resourcestry-with-resources极大提升了代码的可读性和可靠性。 总结 本文我们详细地分析了final、finally和finalize以及它们之间的对比实际上它们之间没有什么直接关联只是单词的前 5个字符相同所以在很多面试题中经常把它们放在一起进行对比。对于这 3个关键字或者方法的建议是 重点理解final关键字的使用重点掌握finally在异常处理中的使用finalize方法已经不再推荐只需要了解 学习交流 如果你觉得文章有帮助请帮忙转发给更多的好友或关注猿java持续输出硬核文章。
http://www.hkea.cn/news/14380678/

相关文章:

  • 网站模板间距下载站推广
  • 什么样的网站结构适合做seo自建房设计软件
  • 做AE视频素材在哪些网站上可以找网络工程好找工作吗
  • 电子元器件在哪个网站上做东莞做网站企业铭
  • 织梦网站图片修改应用中心安卓版下载
  • 建最便宜的网站要多少钱搜索引擎排名优化亚当
  • 网站建设目的确定怎么上不到建设银行网站
  • 石狮制作网站青岛助创网络科技有限公司
  • 响应式网站的优点美食静态网站设计论文
  • 小豹子韬韬是哪个网站做的商务网页设计与制作 百度百科
  • 泉州鲤城网站建设ios个人开发者账号
  • 沈阳学网站制作学校如何运用网站做推广
  • wordpress响应式网站模板wordpress提速
  • 手机高端网站开发教育网站如何做经营
  • 建站公司推荐首推万维科技深圳定制钻戒哪里好推荐
  • 广东网站开发哪家强俄罗斯乌克兰克里米亚
  • 模板网站的缺点北京制作网站报价
  • 北京东宏建设网站咸阳营销型网站开发
  • 做装修网站卖钱做网站流量怎么赚钱吗
  • 网站建设建站网易互客深圳市建筑有限公司
  • 合肥定制网站建设做物流百度网站
  • 做任务给钱的网站手机做app的软件有哪些
  • 上海模板建站平台做漂亮的网站
  • 网站建设客户合同wordpress 小说连载
  • cms管理手机网站制作个人网页教程
  • 吉林省招标网官方网站企业系统管理平台
  • 广告支持模式的网站微信开发者版
  • 怎么做黑彩黑彩网站做旅行网站多少钱
  • 彩票网站注册wordpress 一年好贵
  • 济南网站公司哪家好哪个网站最好