JAVA面试题19

36次阅读

共计 518 个字符,预计需要花费 2 分钟才能阅读完成。

    本文首发于 cartoon 的博客
    转载请注明出处:https://cartoonyu.github.io/c…

  • 什么是 CSRF 攻击,如何避免?

    • 参考博客:https://blog.csdn.net/lamp_ya…
    • CSRF 为跨站请求伪造,利用非法获取系统信任用户 Cookie 进行跨站攻击
    • 避免

      • 验证 HTTP Refer 字段
      • 在请求地址添加 Token 并验证
      • 在 HTTP 头自定义属性并验证
  • throw 和 throws 的区别?

    • throw 为语句级抛出异常,throws 为方法级抛出异常
    • throw 不可以单独使用,throws 可以
  • final、finally、finalize 有什么区别?

    • final 为不可变修饰词,用于声明属性,方法或类不可变
    • finally 为异常捕获机制一部分,总是会被执行。若 try 或 catch 有 return 语句,finally 早于此 return 语句执行
    • finalize 为 Object 方法,调用此方法可以实现资源的回收,但是回收时间由 JVM 决定
  • try-catch-finally 中哪个部分可以省略?

    • catch 和 finally 可以省略,但不能同时省略
    • 在 java 7 新增了一个语法 try(){}, 该书写可以实现自动的资源的初始化以及回收
正文完
 0